瀏覽代碼

Clean Code

BrettonYe 2 年之前
父節點
當前提交
d1a6338006
共有 100 個文件被更改,包括 633 次插入598 次删除
  1. 10 10
      app/Channels/DingTalkChannel.php
  2. 2 2
      app/Channels/Library/WeChat.php
  3. 2 2
      app/Channels/PushDeerChannel.php
  4. 3 3
      app/Channels/PushPlusChannel.php
  5. 23 23
      app/Channels/WeChatChannel.php
  6. 28 28
      app/Components/Client/Clash.php
  7. 17 17
      app/Components/Client/URLSchemes.php
  8. 1 0
      app/Components/DDNS/Aliyun.php
  9. 3 0
      app/Components/DDNS/CloudFlare.php
  10. 1 0
      app/Components/DDNS/DNSPod.php
  11. 11 10
      app/Components/DDNS/Namesilo.php
  12. 13 20
      app/Components/Helpers.php
  13. 18 18
      app/Components/IP.php
  14. 1 0
      app/Console/Commands/AutoClearLogs.php
  15. 7 6
      app/Console/Commands/DailyNodeReport.php
  16. 1 0
      app/Console/Commands/NodeStatusDetection.php
  17. 3 2
      app/Console/Commands/PanelInstallation.php
  18. 1 0
      app/Console/Commands/ServiceTimer.php
  19. 1 0
      app/Console/Commands/TaskAuto.php
  20. 16 14
      app/Console/Commands/TaskDaily.php
  21. 8 8
      app/Console/Commands/TaskHourly.php
  22. 1 0
      app/Console/Commands/UserExpireWarning.php
  23. 1 0
      app/Console/Commands/UserTrafficWarning.php
  24. 1 0
      app/Console/Commands/VNetReload.php
  25. 2 3
      app/Console/Kernel.php
  26. 1 3
      app/Exceptions/Handler.php
  27. 0 1
      app/Helpers/ClientApiResponse.php
  28. 3 6
      app/Helpers/ClientConfig.php
  29. 3 3
      app/Helpers/DataChart.php
  30. 25 0
      app/Helpers/ResponseEnum.php
  31. 1 1
      app/Http/Controllers/Admin/AffiliateController.php
  32. 10 10
      app/Http/Controllers/Admin/CouponController.php
  33. 1 1
      app/Http/Controllers/Admin/LogsController.php
  34. 5 5
      app/Http/Controllers/Admin/MarketingController.php
  35. 45 45
      app/Http/Controllers/Admin/NodeController.php
  36. 4 4
      app/Http/Controllers/Admin/ReportController.php
  37. 2 2
      app/Http/Controllers/Admin/RuleController.php
  38. 2 2
      app/Http/Controllers/Admin/ShopController.php
  39. 2 2
      app/Http/Controllers/Admin/TicketController.php
  40. 11 14
      app/Http/Controllers/Admin/ToolsController.php
  41. 8 8
      app/Http/Controllers/Admin/UserController.php
  42. 5 5
      app/Http/Controllers/Api/Client/AuthController.php
  43. 25 25
      app/Http/Controllers/Api/Client/ClientController.php
  44. 4 4
      app/Http/Controllers/Api/WebApi/CoreController.php
  45. 7 7
      app/Http/Controllers/Api/WebApi/SSController.php
  46. 8 8
      app/Http/Controllers/Api/WebApi/SSRController.php
  47. 9 9
      app/Http/Controllers/Api/WebApi/TrojanController.php
  48. 20 20
      app/Http/Controllers/Api/WebApi/V2RayController.php
  49. 0 1
      app/Http/Controllers/AuthController.php
  50. 0 1
      app/Http/Controllers/MessageController.php
  51. 1 1
      app/Http/Controllers/OAuthController.php
  52. 11 11
      app/Http/Controllers/PaymentController.php
  53. 1 1
      app/Http/Controllers/TelegramController.php
  54. 8 9
      app/Http/Controllers/User/AffiliateController.php
  55. 1 0
      app/Http/Controllers/User/SubscribeController.php
  56. 28 28
      app/Http/Controllers/UserController.php
  57. 16 16
      app/Http/Kernel.php
  58. 0 2
      app/Http/Middleware/Affiliate.php
  59. 0 1
      app/Http/Middleware/ClientAuthenticate.php
  60. 0 1
      app/Http/Middleware/Permission.php
  61. 0 1
      app/Http/Middleware/RedirectIfAuthenticated.php
  62. 0 2
      app/Http/Middleware/SetLocale.php
  63. 0 2
      app/Http/Middleware/Telegram.php
  64. 2 3
      app/Http/Middleware/WebApi.php
  65. 1 3
      app/Http/Middleware/isForbidden.php
  66. 0 2
      app/Http/Middleware/isLogin.php
  67. 0 2
      app/Http/Middleware/isMaintenance.php
  68. 0 2
      app/Http/Middleware/isSecurity.php
  69. 5 5
      app/Http/Requests/Admin/ArticleRequest.php
  70. 2 2
      app/Http/Requests/Admin/CertRequest.php
  71. 19 19
      app/Http/Requests/Admin/CouponRequest.php
  72. 36 36
      app/Http/Requests/Admin/NodeRequest.php
  73. 1 1
      app/Http/Requests/Admin/PermissionRequest.php
  74. 1 1
      app/Http/Requests/Admin/RbacRequest.php
  75. 1 1
      app/Http/Requests/Admin/RoleRequest.php
  76. 2 2
      app/Http/Requests/Admin/RuleGroupRequest.php
  77. 1 1
      app/Http/Requests/Admin/RuleRequest.php
  78. 18 18
      app/Http/Requests/Admin/ShopStoreRequest.php
  79. 13 13
      app/Http/Requests/Admin/ShopUpdateRequest.php
  80. 1 1
      app/Http/Requests/Admin/SystemRequest.php
  81. 3 3
      app/Http/Requests/Admin/TicketRequest.php
  82. 1 1
      app/Http/Requests/Admin/UserGroupRequest.php
  83. 21 21
      app/Http/Requests/Admin/UserStoreRequest.php
  84. 21 21
      app/Http/Requests/Admin/UserUpdateRequest.php
  85. 1 1
      app/Http/Requests/Auth/RegisterRequest.php
  86. 5 5
      app/Jobs/VNet/addUser.php
  87. 1 0
      app/Jobs/VNet/delUser.php
  88. 5 4
      app/Jobs/VNet/editUser.php
  89. 2 0
      app/Models/Article.php
  90. 5 0
      app/Models/Config.php
  91. 5 0
      app/Models/Country.php
  92. 3 0
      app/Models/Coupon.php
  93. 1 0
      app/Models/CouponLog.php
  94. 2 0
      app/Models/EmailFilter.php
  95. 2 0
      app/Models/Goods.php
  96. 1 0
      app/Models/GoodsCategory.php
  97. 2 0
      app/Models/Invite.php
  98. 2 0
      app/Models/Label.php
  99. 2 0
      app/Models/Level.php
  100. 3 2
      app/Models/Marketing.php

+ 10 - 10
app/Channels/DingTalkChannel.php

@@ -42,18 +42,18 @@ class DingTalkChannel
 
         if (isset($message['button'])) { // 独立跳转ActionCard类型
             $body = [
-                'msgtype'    => 'actionCard',
+                'msgtype' => 'actionCard',
                 'actionCard' => [
-                    'title'          => $message['title'],
-                    'text'           => $message['markdown'],
+                    'title' => $message['title'],
+                    'text' => $message['markdown'],
                     'btnOrientation' => 1,
-                    'btns'           => [
+                    'btns' => [
                         [
-                            'title'     => trans('common.status.reject'),
+                            'title' => trans('common.status.reject'),
                             'actionURL' => $message['button'][0],
                         ],
                         [
-                            'title'     => trans('common.confirm'),
+                            'title' => trans('common.confirm'),
                             'actionURL' => $message['button'][1],
                         ],
                     ],
@@ -63,16 +63,16 @@ class DingTalkChannel
             $msgId = Str::uuid(); // 生成对公消息查询URL
             $body = [
                 'msgtype' => 'link',
-                'link'    => [
-                    'title'      => $message['title'],
-                    'text'       => '请点击下方按钮【查看详情】',
+                'link' => [
+                    'title' => $message['title'],
+                    'text' => '请点击下方按钮【查看详情】',
                     'messageUrl' => route('message.show', ['type' => $message['url_type'], $msgId]),
                 ],
             ];
         } else { // 文本消息
             $body = [
                 'msgtype' => 'text',
-                'text'    => [
+                'text' => [
                     'content' => $message['content'],
                 ],
             ];

+ 2 - 2
app/Channels/Library/WeChat.php

@@ -96,7 +96,7 @@ class WeChat
         return sprintf($format, $encrypt, $signature, $timestamp, $nonce);
     }
 
-    public function DecryptMsg($sMsgSignature, $sTimeStamp = null, $sNonce, $sPostData, &$sMsg)
+    public function DecryptMsg($sMsgSignature, $sTimeStamp, $sNonce, $sPostData, &$sMsg)
     { // 检验消息的真实性,并且获取解密后的明文.
         //提取密文
         $array = $this->extract($sPostData);
@@ -195,6 +195,7 @@ class PKCS7Encoder
 class Prpcrypt
 {
     public $key;
+
     public $iv;
 
     public function __construct()
@@ -206,7 +207,6 @@ class Prpcrypt
     /**
      * 加密.
      *
-     * @param $text
      * @return array
      */
     public function encrypt($text)

+ 2 - 2
app/Channels/PushDeerChannel.php

@@ -14,8 +14,8 @@ class PushDeerChannel
         $message = $notification->toCustom($notifiable);
 
         $response = Http::timeout(15)
-                ->post('https://api2.pushdeer.com/message/push?pushkey='.sysConfig('pushDeer_key').'&text='.urlencode($message['title']).'&desp='
-                    .urlencode($message['content']).'&type=markdown');
+            ->post('https://api2.pushdeer.com/message/push?pushkey='.sysConfig('pushDeer_key').'&text='.urlencode($message['title']).'&desp='
+                .urlencode($message['content']).'&type=markdown');
 
         // 发送成功
         if ($response->ok()) {

+ 3 - 3
app/Channels/PushPlusChannel.php

@@ -15,9 +15,9 @@ class PushPlusChannel
         $message = $notification->toCustom($notifiable);
 
         $response = Http::timeout(15)->post('https://www.pushplus.plus/send', [
-            'token'    => sysConfig('pushplus_token'),
-            'title'    => $message['title'],
-            'content'  => Markdown::parse($message['content'])->toHtml(),
+            'token' => sysConfig('pushplus_token'),
+            'title' => $message['title'],
+            'content' => Markdown::parse($message['content'])->toHtml(),
             'template' => 'html',
         ]);
 

+ 23 - 23
app/Channels/WeChatChannel.php

@@ -22,26 +22,26 @@ class WeChatChannel
         if (isset($message['button'])) { // 按钮交互型
             // https://work.weixin.qq.com/api/doc/90000/90135/90236#%E6%8C%89%E9%92%AE%E4%BA%A4%E4%BA%92%E5%9E%8B
             $body = [
-                'touser'        => '@all',
-                'msgtype'       => 'template_card',
-                'agentid'       => sysConfig('wechat_aid'),
+                'touser' => '@all',
+                'msgtype' => 'template_card',
+                'agentid' => sysConfig('wechat_aid'),
                 'template_card' => [
-                    'card_type'               => 'button_interaction',
-                    'main_title'              => ['title' => $message['title']],
+                    'card_type' => 'button_interaction',
+                    'main_title' => ['title' => $message['title']],
                     'horizontal_content_list' => $message['body'],
-                    'task_id'                 => time().Str::random(),
-                    'button_list'             => [
+                    'task_id' => time().Str::random(),
+                    'button_list' => [
                         [
-                            'type'  => 1,
-                            'text'  => trans('common.status.reject'),
+                            'type' => 1,
+                            'text' => trans('common.status.reject'),
                             'style' => 3,
-                            'url'   => $message['button'][0],
+                            'url' => $message['button'][0],
                         ],
                         [
-                            'type'  => 1,
-                            'text'  => trans('common.confirm'),
+                            'type' => 1,
+                            'text' => trans('common.confirm'),
                             'style' => 1,
-                            'url'   => $message['button'][1],
+                            'url' => $message['button'][1],
                         ],
                     ],
                 ],
@@ -49,22 +49,22 @@ class WeChatChannel
         } elseif (isset($message['url_type'])) { // 文本卡片
             $msgId = Str::uuid(); // 生成对公消息查询URL
             $body = [
-                'touser'   => '@all',
-                'agentid'  => sysConfig('wechat_aid'),
-                'msgtype'  => 'textcard',
+                'touser' => '@all',
+                'agentid' => sysConfig('wechat_aid'),
+                'msgtype' => 'textcard',
                 'textcard' => [
-                    'title'       => $message['title'],
+                    'title' => $message['title'],
                     'description' => '请点击下方按钮【查看详情】',
-                    'url'         => route('message.show', ['type' => $message['url_type'], $msgId]),
-                    'btntxt'      => '查看详情',
+                    'url' => route('message.show', ['type' => $message['url_type'], $msgId]),
+                    'btntxt' => '查看详情',
                 ],
             ];
         } else { // 文本消息
             $body = [
-                'touser'                   => '@all',
-                'agentid'                  => sysConfig('wechat_aid'),
-                'msgtype'                  => 'text',
-                'text'                     => [
+                'touser' => '@all',
+                'agentid' => sysConfig('wechat_aid'),
+                'msgtype' => 'text',
+                'text' => [
                     'content' => $message['content'],
                 ],
                 'duplicate_check_interval' => 600,

+ 28 - 28
app/Components/Client/Clash.php

@@ -15,44 +15,44 @@ class Clash
     public static function buildShadowsocks($server)
     {
         return [
-            'name'     => $server['name'],
-            'type'     => 'ss',
-            'server'   => $server['host'],
-            'port'     => $server['port'],
+            'name' => $server['name'],
+            'type' => 'ss',
+            'server' => $server['host'],
+            'port' => $server['port'],
             'password' => $server['passwd'],
-            'cipher'   => $server['method'],
-            'udp'      => $server['udp'],
+            'cipher' => $server['method'],
+            'udp' => $server['udp'],
         ];
     }
 
     public static function buildShadowsocksr($server)
     {
         return [
-            'name'           => $server['name'],
-            'type'           => 'ssr',
-            'server'         => $server['host'],
-            'port'           => $server['port'],
-            'password'       => $server['passwd'],
-            'cipher'         => $server['method'],
-            'obfs'           => $server['obfs'],
-            'obfs-param'     => $server['obfs_param'],
-            'protocol'       => $server['protocol'],
+            'name' => $server['name'],
+            'type' => 'ssr',
+            'server' => $server['host'],
+            'port' => $server['port'],
+            'password' => $server['passwd'],
+            'cipher' => $server['method'],
+            'obfs' => $server['obfs'],
+            'obfs-param' => $server['obfs_param'],
+            'protocol' => $server['protocol'],
             'protocol-param' => $server['protocol_param'],
-            'udp'            => $server['udp'],
+            'udp' => $server['udp'],
         ];
     }
 
     public static function buildVmess($server)
     {
         $array = [
-            'name'    => $server['name'],
-            'type'    => 'vmess',
-            'server'  => $server['host'],
-            'port'    => $server['port'],
-            'uuid'    => $server['uuid'],
+            'name' => $server['name'],
+            'type' => 'vmess',
+            'server' => $server['host'],
+            'port' => $server['port'],
+            'uuid' => $server['uuid'],
             'alterId' => $server['v2_alter_id'],
-            'cipher'  => $server['method'],
-            'udp'     => $server['udp'],
+            'cipher' => $server['method'],
+            'udp' => $server['udp'],
         ];
 
         if ($server['v2_tls']) {
@@ -79,12 +79,12 @@ class Clash
     public static function buildTrojan($server)
     {
         $array = [
-            'name'     => $server['name'],
-            'type'     => 'trojan',
-            'server'   => $server['host'],
-            'port'     => $server['port'],
+            'name' => $server['name'],
+            'type' => 'trojan',
+            'server' => $server['host'],
+            'port' => $server['port'],
             'password' => $server['passwd'],
-            'udp'      => $server['udp'],
+            'udp' => $server['udp'],
         ];
 
         if (! empty($server['sni'])) {

+ 17 - 17
app/Components/Client/URLSchemes.php

@@ -23,30 +23,30 @@ class URLSchemes
     public static function buildShadowsocksSIP008($server)
     {
         return [
-            'id'          => $server['id'],
-            'remark'      => $server['name'],
-            'server'      => $server['host'],
+            'id' => $server['id'],
+            'remark' => $server['name'],
+            'server' => $server['host'],
             'server_port' => $server['port'],
-            'password'    => $server['passwd'],
-            'method'      => $server['method'],
+            'password' => $server['passwd'],
+            'method' => $server['method'],
         ];
     }
 
     public static function buildVmess($server)
     {
         $config = [
-            'v'      => '2',
-            'ps'     => $server['name'],
-            'add'    => $server['host'],
-            'port'   => $server['port'],
-            'id'     => $server['uuid'],
-            'aid'    => $server['v2_alter_id'],
-            'net'    => $server['v2_net'],
-            'type'   => $server['v2_type'],
-            'host'   => $server['v2_host'],
-            'path'   => $server['v2_path'],
-            'tls'    => $server['v2_tls'],
-            'sni'    => $server['v2_sni'],
+            'v' => '2',
+            'ps' => $server['name'],
+            'add' => $server['host'],
+            'port' => $server['port'],
+            'id' => $server['uuid'],
+            'aid' => $server['v2_alter_id'],
+            'net' => $server['v2_net'],
+            'type' => $server['v2_type'],
+            'host' => $server['v2_host'],
+            'path' => $server['v2_path'],
+            'tls' => $server['v2_tls'],
+            'sni' => $server['v2_sni'],
             'remark' => $server['name'],
         ];
 

+ 1 - 0
app/Components/DDNS/Aliyun.php

@@ -9,6 +9,7 @@ use Log;
 class Aliyun
 {
     private static $apiHost = 'https://alidns.aliyuncs.com/';
+
     private static $subDomain;
 
     public function __construct($subDomain)

+ 3 - 0
app/Components/DDNS/CloudFlare.php

@@ -9,8 +9,11 @@ use Log;
 class CloudFlare
 {
     private static $apiHost = 'https://api.cloudflare.com/client/v4/';
+
     private static $subDomain;
+
     private $zoneIdentifier;
+
     private $client;
 
     public function __construct($subDomain)

+ 1 - 0
app/Components/DDNS/DNSPod.php

@@ -9,6 +9,7 @@ use Log;
 class DNSPod
 {
     private static $apiHost = 'https://dnsapi.cn/';
+
     private static $subDomain;
 
     public function __construct($subDomain)

+ 11 - 10
app/Components/DDNS/Namesilo.php

@@ -8,6 +8,7 @@ use Log;
 class Namesilo
 {
     private static $apiHost = 'https://www.namesilo.com/api/';
+
     private static $subDomain;
 
     public function __construct($subDomain)
@@ -20,11 +21,11 @@ class Namesilo
         $domainInfo = $this->analysisDomain();
         if ($domainInfo) {
             return $this->send('dnsAddRecord', [
-                'domain'  => $domainInfo[0],
-                'rrtype'  => $type,
-                'rrhost'  => $domainInfo[1],
+                'domain' => $domainInfo[0],
+                'rrtype' => $type,
+                'rrhost' => $domainInfo[1],
                 'rrvalue' => $ip,
-                'rrttl'   => 3600,
+                'rrttl' => 3600,
             ]);
         }
 
@@ -63,8 +64,8 @@ class Namesilo
     {
         $params = [
             'version' => 1,
-            'type'    => 'xml',
-            'key'     => sysConfig('ddns_key'),
+            'type' => 'xml',
+            'key' => sysConfig('ddns_key'),
         ];
         $query = array_merge($params, $data);
 
@@ -86,11 +87,11 @@ class Namesilo
 
         if ($domainInfo && $recordId) {
             return $this->send('dnsUpdateRecord', [
-                'domain'  => $domainInfo[0],
-                'rrid'    => $recordId[0],
-                'rrhost'  => $domainInfo[1],
+                'domain' => $domainInfo[0],
+                'rrid' => $recordId[0],
+                'rrhost' => $domainInfo[1],
                 'rrvalue' => $ip,
-                'rrttl'   => 3600,
+                'rrttl' => 3600,
             ]);
         }
         Log::error('[Namesilo API] - [更新] 处理失败:'.var_export($recordId, true).var_export($domainInfo, true));

+ 13 - 20
app/Components/Helpers.php

@@ -52,25 +52,24 @@ class Helpers
      * @param  int|null  $date  可使用天数
      * @param  int|null  $inviter_id  邀请人
      * @param  string|null  $nickname  昵称
-     * @return User
      */
     public static function addUser(string $username, string $password, int $transfer_enable, int $date = null, int $inviter_id = null, string $nickname = null): User
     {
         return User::create([
-            'nickname'        => $nickname ?? $username,
-            'username'        => $username,
-            'password'        => $password,
-            'port'            => self::getPort(), // 生成一个可用端口
-            'passwd'          => Str::random(),
-            'vmess_id'        => Str::uuid(),
-            'method'          => self::getDefaultMethod(),
-            'protocol'        => self::getDefaultProtocol(),
-            'obfs'            => self::getDefaultObfs(),
+            'nickname' => $nickname ?? $username,
+            'username' => $username,
+            'password' => $password,
+            'port' => self::getPort(), // 生成一个可用端口
+            'passwd' => Str::random(),
+            'vmess_id' => Str::uuid(),
+            'method' => self::getDefaultMethod(),
+            'protocol' => self::getDefaultProtocol(),
+            'obfs' => self::getDefaultObfs(),
             'transfer_enable' => $transfer_enable,
-            'expired_at'      => date('Y-m-d', strtotime($date.' days')),
-            'user_group_id'   => null,
-            'reg_ip'          => IP::getClientIp(),
-            'inviter_id'      => $inviter_id,
+            'expired_at' => date('Y-m-d', strtotime($date.' days')),
+            'user_group_id' => null,
+            'reg_ip' => IP::getClientIp(),
+            'inviter_id' => $inviter_id,
         ]);
     }
 
@@ -121,7 +120,6 @@ class Helpers
      * @param  string|null  $error  投递失败时记录的异常信息
      * @param  string|null  $msgId  对公查询ID
      * @param  string  $address  收信方
-     * @return int
      */
     public static function addNotificationLog(string $title, string $content, int $type, int $status = 1, string $error = null, string $msgId = null, string $address = 'admin'): int
     {
@@ -145,7 +143,6 @@ class Helpers
      * @param  int  $couponId  优惠券ID
      * @param  int|null  $goodsId  商品ID
      * @param  int|null  $orderId  订单ID
-     * @return bool
      */
     public static function addCouponLog($description, $couponId, $goodsId = null, $orderId = null): bool
     {
@@ -167,7 +164,6 @@ class Helpers
      * @param  int  $after  记录后余额
      * @param  int  $amount  发生金额
      * @param  string  $description  描述
-     * @return bool
      */
     public static function addUserCreditLog($userId, $orderId, $before, $after, $amount, $description = ''): bool
     {
@@ -191,7 +187,6 @@ class Helpers
      * @param  int  $after  记录后的值
      * @param  string  $description  描述
      * @param  int|null  $orderId  订单ID
-     * @return bool
      */
     public static function addUserTrafficModifyLog(int $userId, int $before, int $after, string $description = '', $orderId = null): bool
     {
@@ -214,7 +209,6 @@ class Helpers
      * @param  int  $status  状态
      * @param  string  $error  报错
      * @param  string  $receiver  收件人
-     * @return int
      */
     public static function addMarketing(int $type, string $title, string $content, int $status = 1, string $error = '', string $receiver = ''): int
     {
@@ -261,7 +255,6 @@ class Helpers
      * Get price with money symbol in the user's preferred currency.
      *
      * @param  int|float  $amount  price
-     * @return string
      */
     public static function getPriceTag($amount): string
     {

+ 18 - 18
app/Components/IP.php

@@ -63,11 +63,11 @@ class IP
             $location = explode('|', $ipInfo['region']);
             if ($location) {
                 return [
-                    'country'  => $location[0] ?: '',
+                    'country' => $location[0] ?: '',
                     'province' => $location[2] ?: '',
-                    'city'     => $location[3] ?: '',
-                    'isp'      => $location[4] ?: '',
-                    'area'     => $location[1] ?: '',
+                    'city' => $location[3] ?: '',
+                    'isp' => $location[4] ?: '',
+                    'area' => $location[1] ?: '',
                 ];
             }
         }
@@ -83,9 +83,9 @@ class IP
                 ->lookup($ip, [Database::CITY_NAME, Database::REGION_NAME, Database::COUNTRY_NAME]);
 
             return [
-                'country'  => $location['countryName'],
+                'country' => $location['countryName'],
                 'province' => $location['regionName'],
-                'city'     => $location['cityName'],
+                'city' => $location['cityName'],
             ];
         } catch (Exception $e) {
             Log::error('【ip2Location】错误信息:'.$e->getMessage());
@@ -100,9 +100,9 @@ class IP
         $location = (new City($filePath))->findMap($ip, 'CN');
 
         return [
-            'country'  => $location['country_name'],
+            'country' => $location['country_name'],
             'province' => $location['region_name'],
-            'city'     => $location['city_name'],
+            'city' => $location['city_name'],
         ];
     }
 
@@ -114,9 +114,9 @@ class IP
             $message = $response->json();
             if ($message) {
                 return [
-                    'country'  => $message[0],
+                    'country' => $message[0],
                     'province' => $message[1],
-                    'city'     => $message[2],
+                    'city' => $message[2],
                 ];
             }
 
@@ -137,10 +137,10 @@ class IP
             $message = $response->json();
             if ($message['code'] === 0) {
                 return [
-                    'country'  => $message['data']['country'] === 'XX' ? '' : $message['data']['country'],
+                    'country' => $message['data']['country'] === 'XX' ? '' : $message['data']['country'],
                     'province' => $message['data']['region'] === 'XX' ? '' : $message['data']['region'],
-                    'city'     => $message['data']['city'] === 'XX' ? '' : $message['data']['city'],
-                    'isp'      => $message['data']['isp'] === 'XX' ? '' : $message['data']['isp'],
+                    'city' => $message['data']['city'] === 'XX' ? '' : $message['data']['city'],
+                    'isp' => $message['data']['isp'] === 'XX' ? '' : $message['data']['isp'],
                 ];
             }
 
@@ -166,10 +166,10 @@ class IP
             $message = $response->json();
             if ($message['status'] === 0) {
                 return [
-                    'country'  => $message['content']['address_detail']['country'],
+                    'country' => $message['content']['address_detail']['country'],
                     'province' => $message['content']['address_detail']['province'],
-                    'city'     => $message['content']['address_detail']['city'],
-                    'area'     => $message['address'],
+                    'city' => $message['content']['address_detail']['city'],
+                    'area' => $message['address'],
                 ];
             }
 
@@ -188,9 +188,9 @@ class IP
             $location = (new Reader($filePath))->city($ip);
 
             return [
-                'country'  => $location->country->name ?? '',
+                'country' => $location->country->name ?? '',
                 'province' => $location->mostSpecificSubdivision->name ?? '',
-                'city'     => $location->city->name ?? '',
+                'city' => $location->city->name ?? '',
             ];
         } catch (AddressNotFoundException $e) {
             Log::error('【GeoIP2】查询失败:'.$ip);

+ 1 - 0
app/Console/Commands/AutoClearLogs.php

@@ -19,6 +19,7 @@ use Log;
 class AutoClearLogs extends Command
 {
     protected $signature = 'autoClearLogs';
+
     protected $description = '自动清除日志';
 
     public function handle()

+ 7 - 6
app/Console/Commands/DailyNodeReport.php

@@ -13,6 +13,7 @@ use Notification;
 class DailyNodeReport extends Command
 {
     protected $signature = 'dailyNodeReport';
+
     protected $description = '自动报告节点昨日使用情况';
 
     public function handle()
@@ -31,19 +32,19 @@ class DailyNodeReport extends Command
                 foreach ($nodeList as $node) {
                     $log = $node->dailyDataFlows()->whereDate('created_at', $date)->first();
                     $data[] = [
-                        'name'     => $node->name,
-                        'upload'   => flowAutoShow($log->u ?? 0),
+                        'name' => $node->name,
+                        'upload' => flowAutoShow($log->u ?? 0),
                         'download' => flowAutoShow($log->d ?? 0),
-                        'total'    => $log->traffic ?? '',
+                        'total' => $log->traffic ?? '',
                     ];
                     $upload += $log->u ?? 0;
                     $download += $log->d ?? 0;
                 }
                 if ($data) {
                     $data[] = [
-                        'name'     => trans('notification.node.total'),
-                        'total'    => flowAutoShow($upload + $download),
-                        'upload'   => flowAutoShow($upload),
+                        'name' => trans('notification.node.total'),
+                        'total' => flowAutoShow($upload + $download),
+                        'upload' => flowAutoShow($upload),
                         'download' => flowAutoShow($download),
                     ];
 

+ 1 - 0
app/Console/Commands/NodeStatusDetection.php

@@ -16,6 +16,7 @@ use Notification;
 class NodeStatusDetection extends Command
 {
     protected $signature = 'nodeStatusDetection';
+
     protected $description = '节点状态检测';
 
     public function handle()

+ 3 - 2
app/Console/Commands/PanelInstallation.php

@@ -12,6 +12,7 @@ use Illuminate\Support\Facades\DB;
 class PanelInstallation extends Command
 {
     protected $signature = 'panel:install';
+
     protected $description = 'ProxyPanel Installation (面板自主安装)';
 
     public function handle()
@@ -40,8 +41,8 @@ class PanelInstallation extends Command
             // 设置数据库信息
             $this->line(' 设置数据库信息');
             $this->saveToEnv([
-                'DB_HOST'     => $this->ask('请输入数据库地址(默认:localhost)', 'localhost'),
-                'DB_PORT'     => $this->ask('请输入数据库地址(默认:3306)', 3306),
+                'DB_HOST' => $this->ask('请输入数据库地址(默认:localhost)', 'localhost'),
+                'DB_PORT' => $this->ask('请输入数据库地址(默认:3306)', 3306),
                 'DB_DATABASE' => $this->ask('请输入数据库名'),
                 'DB_USERNAME' => $this->ask('请输入数据库用户名'),
                 'DB_PASSWORD' => $this->ask('请输入数据库密码'),

+ 1 - 0
app/Console/Commands/ServiceTimer.php

@@ -9,6 +9,7 @@ use Log;
 class ServiceTimer extends Command
 {
     protected $signature = 'serviceTimer';
+
     protected $description = '服务计时器';
 
     public function handle()

+ 1 - 0
app/Console/Commands/TaskAuto.php

@@ -16,6 +16,7 @@ use Log;
 class TaskAuto extends Command
 {
     protected $signature = 'task:auto';
+
     protected $description = '自动任务';
 
     /*

+ 16 - 14
app/Console/Commands/TaskDaily.php

@@ -15,6 +15,7 @@ use Log;
 class TaskDaily extends Command
 {
     protected $signature = 'task:daily';
+
     protected $description = '每日任务';
 
     public function handle()
@@ -43,13 +44,13 @@ class TaskDaily extends Command
             ->where('expired_at', '<', date('Y-m-d')) // 过期
             ->chunk(config('tasks.chunk'), function ($users) use ($isBanStatus) {
                 $dirtyWorks = [
-                    'u'               => 0,
-                    'd'               => 0,
+                    'u' => 0,
+                    'd' => 0,
                     'transfer_enable' => 0,
-                    'enable'          => 0,
-                    'level'           => 0,
-                    'reset_time'      => null,
-                    'ban_time'        => null,
+                    'enable' => 0,
+                    'level' => 0,
+                    'reset_time' => null,
+                    'ban_time' => null,
                 ]; // 停止服务
                 $banMsg = __('[Daily Task] Account Expiration: Stop Service');
                 if ($isBanStatus) {
@@ -98,6 +99,7 @@ class TaskDaily extends Command
 
                     if (! $order) {// 无套餐用户跳过
                         Log::error('用户[ID:'.$user->id.'] 流量重置, 用户订单获取失败');
+
                         continue;
                     }
 
@@ -147,10 +149,10 @@ class TaskDaily extends Command
                 })->flatten()->toArray();
 
                 $data[] = [ // 每日节点流量合计
-                    'u'          => $logs->sum('u'),
-                    'd'          => $logs->sum('d'),
-                    'total'      => $logs->sum('total'),
-                    'traffic'    => flowAutoShow($logs->sum('total')),
+                    'u' => $logs->sum('u'),
+                    'd' => $logs->sum('d'),
+                    'total' => $logs->sum('total'),
+                    'traffic' => flowAutoShow($logs->sum('total')),
                     'created_at' => $created_at,
                 ];
 
@@ -174,10 +176,10 @@ class TaskDaily extends Command
                     ->selectRaw('sum(`u`) as u, sum(`d`) as d')->first();
                 $total = $traffic->u + $traffic->d;
                 $node->dailyDataFlows()->create([
-                    'u'          => $traffic->u,
-                    'd'          => $traffic->d,
-                    'total'      => $total,
-                    'traffic'    => flowAutoShow($total),
+                    'u' => $traffic->u,
+                    'd' => $traffic->d,
+                    'total' => $total,
+                    'traffic' => flowAutoShow($total),
                     'created_at' => $created_at,
                 ]);
             }

+ 8 - 8
app/Console/Commands/TaskHourly.php

@@ -50,10 +50,10 @@ class TaskHourly extends Command
                     $log->created_at = $created_at;
                 })->flatten()->toArray();
                 $overall = [ // 每小时节点流量合计
-                    'u'          => $logs->sum('u'),
-                    'd'          => $logs->sum('d'),
-                    'total'      => $logs->sum('total'),
-                    'traffic'    => flowAutoShow($logs->sum('total')),
+                    'u' => $logs->sum('u'),
+                    'd' => $logs->sum('d'),
+                    'total' => $logs->sum('total'),
+                    'traffic' => flowAutoShow($logs->sum('total')),
                     'created_at' => $created_at,
                 ];
                 $data[] = $overall;
@@ -82,10 +82,10 @@ class TaskHourly extends Command
                     ->selectRaw('sum(`u`) as u, sum(`d`) as d')->first();
                 $total = $traffic->u + $traffic->d;
                 $node->hourlyDataFlows()->create([
-                    'u'          => $traffic->u,
-                    'd'          => $traffic->d,
-                    'total'      => $total,
-                    'traffic'    => flowAutoShow($total),
+                    'u' => $traffic->u,
+                    'd' => $traffic->d,
+                    'total' => $total,
+                    'traffic' => flowAutoShow($total),
                     'created_at' => $created_at,
                 ]);
             }

+ 1 - 0
app/Console/Commands/UserExpireWarning.php

@@ -10,6 +10,7 @@ use Log;
 class UserExpireWarning extends Command
 {
     protected $signature = 'userExpireWarning';
+
     protected $description = '用户临近到期自动提醒';
 
     public function handle()

+ 1 - 0
app/Console/Commands/UserTrafficWarning.php

@@ -10,6 +10,7 @@ use Log;
 class UserTrafficWarning extends Command
 {
     protected $signature = 'userTrafficWarning';
+
     protected $description = '用户流量超过警告阈值自动发邮件提醒';
 
     public function handle()

+ 1 - 0
app/Console/Commands/VNetReload.php

@@ -10,6 +10,7 @@ use Log;
 class VNetReload extends Command
 {
     protected $signature = 'vnet:reload';
+
     protected $description = 'VNet线路重置';
 
     public function handle()

+ 2 - 3
app/Console/Kernel.php

@@ -38,10 +38,9 @@ class Kernel extends ConsoleKernel
     /**
      * Define the application's command schedule.
      *
-     * @param  Schedule  $schedule
      * @return void
      */
-    protected function schedule(Schedule $schedule)
+    protected function schedule(Schedule $schedule): void
     {
         $schedule->command('serviceTimer')->everyFiveMinutes();
         $schedule->command('nodeStatusDetection')->everyTenMinutes();
@@ -60,7 +59,7 @@ class Kernel extends ConsoleKernel
      *
      * @return void
      */
-    protected function commands()
+    protected function commands(): void
     {
         $this->load(__DIR__.'/Commands');
 

+ 1 - 3
app/Exceptions/Handler.php

@@ -43,7 +43,6 @@ class Handler extends ExceptionHandler
     /**
      * Report or log an exception.
      *
-     * @param  Throwable  $exception
      * @return void
      *
      * @throws Throwable
@@ -63,7 +62,6 @@ class Handler extends ExceptionHandler
      * Render an exception into an HTTP response.
      *
      * @param  Request  $request
-     * @param  Throwable  $exception
      * @return \Symfony\Component\HttpFoundation\Response
      *
      * @throws Throwable
@@ -109,7 +107,7 @@ class Handler extends ExceptionHandler
                 case $exception instanceof ErrorException: // 捕获系统错误异常
                     if ($request->ajax() || $request->wantsJson()) {
                         return Response::json([
-                            'status'  => 'fail',
+                            'status' => 'fail',
                             'message' => trans('http-statuses.500').', '.trans('errors.visit').'<a href="'.route('log-viewer::dashboard').'" target="_blank">'.trans('errors.log').'</a>',
                         ], 500);
                     }

+ 0 - 1
app/Helpers/ClientApiResponse.php

@@ -4,7 +4,6 @@ namespace App\Helpers;
 
 use Illuminate\Http\JsonResponse;
 use Illuminate\Http\Request;
-use Log;
 
 trait ClientApiResponse
 {

+ 3 - 6
app/Helpers/ClientConfig.php

@@ -37,9 +37,9 @@ trait ClientConfig
         if (str_contains($target, 'v2rayn') || str_contains($target, 'v2rayng') || str_contains($target, 'v2rayu')) {
             return $this->v2rayN();
         }
-//            if (strpos($target, 'shadowsocks') !== false) {
-//                exit($this->shaodowsocksSIP008());
-//            }
+        //            if (strpos($target, 'shadowsocks') !== false) {
+        //                exit($this->shaodowsocksSIP008());
+        //            }
         return $this->origin();
     }
 
@@ -218,9 +218,6 @@ trait ClientConfig
     }
 
     /**
-     * @param  string  $customConfig
-     * @param  string  $defaultConfig
-     * @param  string  $target
      * @return array|false|string|string[]
      */
     private function sugerLike(string $customConfig, string $defaultConfig, string $target = '')

+ 3 - 3
app/Helpers/DataChart.php

@@ -45,10 +45,10 @@ trait DataChart
         $dailyData[date('j', strtotime(now())) - 1] = round(array_sum($hourlyData) + $currentFlow / GB, 3);
 
         return [
-            'trafficDaily'  => $dailyData,
+            'trafficDaily' => $dailyData,
             'trafficHourly' => $hourlyData,
-            'monthDays'     => range(1, date('j')), // 本月天数
-            'dayHours'      => range(0, date('G') + 1), // 本日小时
+            'monthDays' => range(1, date('j')), // 本月天数
+            'dayHours' => range(0, date('G') + 1), // 本日小时
         ];
     }
 }

+ 25 - 0
app/Helpers/ResponseEnum.php

@@ -14,14 +14,23 @@ class ResponseEnum
     /*-------------------------------------------------------------------------------------------*/
     // 200表示服务器成功地接受了客户端请求
     const HTTP_OK = [200001, '操作成功'];
+
     const HTTP_ERROR = [200002, '操作失败'];
+
     const HTTP_ACTION_COUNT_ERROR = [200302, '操作频繁'];
+
     const USER_SERVICE_LOGIN_SUCCESS = [200200, '登录成功'];
+
     const USER_SERVICE_LOGIN_ERROR = [200201, '登录失败'];
+
     const USER_SERVICE_LOGOUT_SUCCESS = [200202, '退出登录成功'];
+
     const USER_SERVICE_LOGOUT_ERROR = [200203, '退出登录失败'];
+
     const USER_SERVICE_REGISTER_SUCCESS = [200104, '注册成功'];
+
     const USER_SERVICE_REGISTER_ERROR = [200105, '注册失败'];
+
     const USER_ACCOUNT_REGISTERED = [23001, '账号已注册'];
 
     /*-------------------------------------------------------------------------------------------*/
@@ -34,17 +43,26 @@ class ResponseEnum
     // 400开头的表示客户端错误请求错误,请求不到数据,或者找不到等等
     // 400 - 错误的请求
     const CLIENT_NOT_FOUND_HTTP_ERROR = [400001, '请求失败'];
+
     const CLIENT_PARAMETER_ERROR = [400200, '参数错误'];
+
     const CLIENT_CREATED_ERROR = [400201, '数据已存在'];
+
     const CLIENT_DELETED_ERROR = [400202, '数据不存在'];
+
     // 401 - 访问被拒绝
     const CLIENT_HTTP_UNSYNCHRONIZE_TIMER = [401001, '通信双方时钟不同步,或通信超时'];
+
     const CLIENT_HTTP_UNAUTHORIZED = [401200, '授权失败,请先登录'];
+
     const CLIENT_HTTP_UNAUTHORIZED_EXPIRED = [401201, '账号信息已过期,请重新登录'];
+
     const CLIENT_HTTP_UNAUTHORIZED_BLACKLISTED = [401202, '账号已被禁止登录'];
+
     // 403 - 禁止访问
     // 404 - 没有找到文件或目录
     const CLIENT_NOT_FOUND_ERROR = [404001, '没有找到该页面'];
+
     // 405 - 用来访问本页面的 HTTP 谓词不被允许(方法不被允许)
     const CLIENT_METHOD_HTTP_TYPE_ERROR = [405001, 'HTTP请求类型错误'];
     // 406 - 客户端浏览器不接受所请求页面的 MIME 类型
@@ -62,15 +80,22 @@ class ResponseEnum
     // 服务端操作错误码:500 ~ 599 开头,后拼接 3 位
     // 500 - 内部服务器错误
     const SYSTEM_ERROR = [500001, '服务器错误'];
+
     const SYSTEM_UNAVAILABLE = [500002, '服务器正在维护,暂不可用'];
+
     const SYSTEM_CACHE_CONFIG_ERROR = [500003, '缓存配置错误'];
+
     const SYSTEM_CACHE_MISSED_ERROR = [500004, '缓存未命中'];
+
     const SYSTEM_CONFIG_ERROR = [500005, '系统配置错误'];
 
     // 业务操作错误码(外部服务或内部服务调用)
     const SERVICE_REGISTER_ERROR = [500101, '注册失败'];
+
     const SERVICE_LOGIN_ERROR = [500102, '登录失败'];
+
     const SERVICE_LOGIN_ACCOUNT_ERROR = [500103, '账号或密码错误'];
+
     const SERVICE_USER_INTEGRAL_ERROR = [500200, '积分不足'];
 
     //501 - 页眉值指定了未实现的配置

+ 1 - 1
app/Http/Controllers/Admin/AffiliateController.php

@@ -30,7 +30,7 @@ class AffiliateController extends Controller
     public function detail(Request $request, ReferralApply $aff)
     {
         return view('admin.aff.detail', [
-            'referral'    => $aff->load('user:id,username'),
+            'referral' => $aff->load('user:id,username'),
             'commissions' => $aff->referral_logs()->with(['invitee:id,username', 'order.goods:id,name'])->paginate()->appends($request->except('page')),
         ]);
     }

+ 10 - 10
app/Http/Controllers/Admin/CouponController.php

@@ -41,9 +41,9 @@ class CouponController extends Controller
     public function show(Coupon $coupon)
     {
         return view('admin.coupon.show', [
-            'coupon'     => $coupon,
+            'coupon' => $coupon,
             'userGroups' => UserGroup::all()->pluck('name', 'id')->toArray(),
-            'levels'     => Level::all()->pluck('name', 'level')->toArray(),
+            'levels' => Level::all()->pluck('name', 'level')->toArray(),
         ]);
     }
 
@@ -63,15 +63,15 @@ class CouponController extends Controller
         $num = (int) $request->input('num');
         $data = $request->only(['name', 'type', 'priority', 'usable_times', 'value', 'start_time', 'end_time']);
         $data['limit'] = [
-            'minimum'  => $request->input('minimum'),
-            'used'     => $request->input('used'),
-            'users'    => [
-                'white'  => $request->has('users_whitelist') ? array_map('intval', explode(', ', $request->input('users_whitelist'))) : null,
-                'black'  => $request->has('users_blacklist') ? array_map('intval', explode(', ', $request->input('users_blacklist'))) : null,
+            'minimum' => $request->input('minimum'),
+            'used' => $request->input('used'),
+            'users' => [
+                'white' => $request->has('users_whitelist') ? array_map('intval', explode(', ', $request->input('users_whitelist'))) : null,
+                'black' => $request->has('users_blacklist') ? array_map('intval', explode(', ', $request->input('users_blacklist'))) : null,
                 'newbie' => [
                     'coupon' => $request->input('coupon'),
-                    'order'  => $request->input('order'),
-                    'days'   => $request->has('days') ? (int) $request->input(['days']) : null,
+                    'order' => $request->input('order'),
+                    'days' => $request->has('days') ? (int) $request->input(['days']) : null,
                 ],
                 'levels' => $request->has('levels') ? array_map('intval', $request->input('levels')) : null,
                 'groups' => $request->has('groups') ? array_map('intval', $request->input('groups')) : null,
@@ -104,7 +104,7 @@ class CouponController extends Controller
     {
         return view('admin.coupon.create', [
             'userGroups' => UserGroup::all()->pluck('name', 'id')->toArray(),
-            'levels'     => Level::all()->pluck('name', 'level')->toArray(),
+            'levels' => Level::all()->pluck('name', 'level')->toArray(),
         ]);
     }
 

+ 1 - 1
app/Http/Controllers/Admin/LogsController.php

@@ -186,7 +186,7 @@ class LogsController extends Controller
 
         return view('admin.logs.onlineIPMonitor', [
             'onlineIPLogs' => $onlineIPLogs,
-            'nodes'        => Node::whereStatus(1)->orderByDesc('sort')->latest()->get(),
+            'nodes' => Node::whereStatus(1)->orderByDesc('sort')->latest()->get(),
         ]);
     }
 

+ 5 - 5
app/Http/Controllers/Admin/MarketingController.php

@@ -39,11 +39,11 @@ class MarketingController extends Controller
         $title = $request->input('title');
         $content = $request->input('content');
 
-//        if (! sysConfig('is_push_bear')) {
-//            return Response::json(['status' => 'fail', 'message' => '推送失败:请先启用并配置PushBear']);
-//        }
-//
-//        Notification::send(PushBearChannel::class, new Custom($title, $content));
+        //        if (! sysConfig('is_push_bear')) {
+        //            return Response::json(['status' => 'fail', 'message' => '推送失败:请先启用并配置PushBear']);
+        //        }
+        //
+        //        Notification::send(PushBearChannel::class, new Custom($title, $content));
 
         return Response::json(['status' => 'fail', 'message' => '功能待开发']);
     }

+ 45 - 45
app/Http/Controllers/Admin/NodeController.php

@@ -70,19 +70,19 @@ class NodeController extends Controller
     public function create()
     {
         return view('admin.node.info', [
-            'nodes'      => Node::orderBy('id')->pluck('id', 'name'),
-            'countries'  => Country::orderBy('code')->get(),
-            'levels'     => Level::orderBy('level')->get(),
+            'nodes' => Node::orderBy('id')->pluck('id', 'name'),
+            'countries' => Country::orderBy('code')->get(),
+            'levels' => Level::orderBy('level')->get(),
             'ruleGroups' => RuleGroup::orderBy('id')->get(),
-            'labels'     => Label::orderByDesc('sort')->orderBy('id')->get(),
-            'certs'      => NodeCertificate::orderBy('id')->get(),
+            'labels' => Label::orderByDesc('sort')->orderBy('id')->get(),
+            'certs' => NodeCertificate::orderBy('id')->get(),
         ]);
     }
 
     public function clone(Node $node)
     { // 克隆节点
         $new = $node->replicate()->fill([
-            'name'   => $node->name.'_克隆',
+            'name' => $node->name.'_克隆',
             'server' => null,
         ]);
         $new->save();
@@ -93,13 +93,13 @@ class NodeController extends Controller
     public function edit(Node $node)
     { // 编辑节点页面
         return view('admin.node.info', [
-            'node'       => $node,
-            'nodes'      => Node::whereNotIn('id', [$node->id])->orderBy('id')->pluck('id', 'name'),
-            'countries'  => Country::orderBy('code')->get(),
-            'levels'     => Level::orderBy('level')->get(),
+            'node' => $node,
+            'nodes' => Node::whereNotIn('id', [$node->id])->orderBy('id')->pluck('id', 'name'),
+            'countries' => Country::orderBy('code')->get(),
+            'levels' => Level::orderBy('level')->get(),
             'ruleGroups' => RuleGroup::orderBy('id')->get(),
-            'labels'     => Label::orderByDesc('sort')->orderBy('id')->get(),
-            'certs'      => NodeCertificate::orderBy('id')->get(),
+            'labels' => Label::orderByDesc('sort')->orderBy('id')->get(),
+            'certs' => NodeCertificate::orderBy('id')->get(),
         ]);
     }
 
@@ -225,14 +225,14 @@ class NodeController extends Controller
                 break;
             case 2:
                 $profile = [
-                    'method'      => $info['v2_method'],
+                    'method' => $info['v2_method'],
                     'v2_alter_id' => $info['v2_alter_id'],
-                    'v2_net'      => $info['v2_net'],
-                    'v2_type'     => $info['v2_type'],
-                    'v2_host'     => $info['v2_host'],
-                    'v2_path'     => $info['v2_path'],
-                    'v2_tls'      => $info['v2_tls'] ? 'tls' : '',
-                    'v2_sni'      => $info['v2_sni'],
+                    'v2_net' => $info['v2_net'],
+                    'v2_type' => $info['v2_type'],
+                    'v2_host' => $info['v2_host'],
+                    'v2_path' => $info['v2_path'],
+                    'v2_tls' => $info['v2_tls'] ? 'tls' : '',
+                    'v2_sni' => $info['v2_sni'],
                 ];
                 break;
             case 3:
@@ -243,39 +243,39 @@ class NodeController extends Controller
             case 1:
             case 4:
                 $profile = [
-                    'method'         => $info['method'],
-                    'protocol'       => $info['protocol'],
-                    'obfs'           => $info['obfs'],
-                    'obfs_param'     => $info['obfs_param'],
+                    'method' => $info['method'],
+                    'protocol' => $info['protocol'],
+                    'obfs' => $info['obfs'],
+                    'obfs_param' => $info['obfs_param'],
                     'protocol_param' => $info['protocol_param'],
-                    'passwd'         => $info['passwd'],
+                    'passwd' => $info['passwd'],
                 ];
                 break;
         }
 
         return [
-            'type'           => $info['type'],
-            'name'           => $info['name'],
-            'country_code'   => $info['country_code'],
-            'server'         => $info['server'],
-            'ip'             => $info['ip'],
-            'ipv6'           => $info['ipv6'],
-            'level'          => $info['level'],
-            'rule_group_id'  => $info['rule_group_id'],
-            'speed_limit'    => $info['speed_limit'],
-            'client_limit'   => $info['client_limit'],
-            'description'    => $info['description'],
-            'profile'        => $profile ?? [],
-            'traffic_rate'   => $info['traffic_rate'],
-            'is_udp'         => $info['is_udp'],
-            'is_display'     => $info['is_display'],
-            'is_ddns'        => $info['is_ddns'],
-            'relay_node_id'  => $info['relay_node_id'],
-            'port'           => $info['port'] ?? 0,
-            'push_port'      => $info['push_port'],
+            'type' => $info['type'],
+            'name' => $info['name'],
+            'country_code' => $info['country_code'],
+            'server' => $info['server'],
+            'ip' => $info['ip'],
+            'ipv6' => $info['ipv6'],
+            'level' => $info['level'],
+            'rule_group_id' => $info['rule_group_id'],
+            'speed_limit' => $info['speed_limit'],
+            'client_limit' => $info['client_limit'],
+            'description' => $info['description'],
+            'profile' => $profile ?? [],
+            'traffic_rate' => $info['traffic_rate'],
+            'is_udp' => $info['is_udp'],
+            'is_display' => $info['is_display'],
+            'is_ddns' => $info['is_ddns'],
+            'relay_node_id' => $info['relay_node_id'],
+            'port' => $info['port'] ?? 0,
+            'push_port' => $info['push_port'],
             'detection_type' => $info['detection_type'],
-            'sort'           => $info['sort'],
-            'status'         => $info['status'],
+            'sort' => $info['sort'],
+            'status' => $info['status'],
         ];
     }
 }

+ 4 - 4
app/Http/Controllers/Admin/ReportController.php

@@ -84,8 +84,8 @@ class ReportController extends Controller
                 ->get()->transform(function ($item, $key) {
                     return [
                         'node_id' => $item->node_id,
-                        'date'    => (int) $item->date,
-                        'total'   => round($item->total / GB, 2),
+                        'date' => (int) $item->date,
+                        'total' => round($item->total / GB, 2),
                     ];
                 })->toArray();
 
@@ -98,8 +98,8 @@ class ReportController extends Controller
                 ->get()->transform(function ($item, $key) {
                     return [
                         'node_id' => $item->node_id,
-                        'date'    => (int) $item->date,
-                        'total'   => round($item->total / GB, 2),
+                        'date' => (int) $item->date,
+                        'total' => round($item->total / GB, 2),
                     ];
                 })->toArray();
         }

+ 2 - 2
app/Http/Controllers/Admin/RuleController.php

@@ -76,8 +76,8 @@ class RuleController extends Controller
         });
 
         return view('admin.rule.log', [
-            'nodes'    => Node::all(),
-            'rules'    => Rule::all(),
+            'nodes' => Node::all(),
+            'rules' => Rule::all(),
             'ruleLogs' => $query->with('node:id,name', 'user:id,username', 'rule:id,name')->latest()->paginate(15)->appends($request->except('page')),
         ]);
     }

+ 2 - 2
app/Http/Controllers/Admin/ShopController.php

@@ -96,8 +96,8 @@ class ShopController extends Controller
     public function edit(Goods $good)
     {
         return view('admin.shop.info', [
-            'good'       => $good,
-            'levels'     => Level::orderBy('level')->get(),
+            'good' => $good,
+            'levels' => Level::orderBy('level')->get(),
             'categories' => GoodsCategory::all(),
         ]);
     }

+ 2 - 2
app/Http/Controllers/Admin/TicketController.php

@@ -54,8 +54,8 @@ class TicketController extends Controller
     public function edit(Ticket $ticket)
     {
         return view('admin.ticket.reply', [
-            'ticket'    => $ticket,
-            'user'      => $ticket->user,
+            'ticket' => $ticket,
+            'user' => $ticket->user,
             'replyList' => $ticket->reply()->with('ticket:id,status', 'admin:id,username,qq', 'user:id,username,qq')->oldest()->get(),
         ]);
     }

+ 11 - 14
app/Http/Controllers/Admin/ToolsController.php

@@ -75,18 +75,18 @@ class ToolsController extends Controller
             $data = [];
             foreach ($content->port_password as $port => $passwd) {
                 $data[] = [
-                    'u'               => 0,
-                    'd'               => 0,
-                    'enable'          => 1,
-                    'method'          => $method,
-                    'obfs'            => $obfs,
-                    'obfs_param'      => empty($obfs_param) ? '' : $obfs_param,
-                    'passwd'          => $passwd,
-                    'port'            => $port,
-                    'protocol'        => $protocol,
-                    'protocol_param'  => empty($protocol_param) ? '' : $protocol_param,
+                    'u' => 0,
+                    'd' => 0,
+                    'enable' => 1,
+                    'method' => $method,
+                    'obfs' => $obfs,
+                    'obfs_param' => empty($obfs_param) ? '' : $obfs_param,
+                    'passwd' => $passwd,
+                    'port' => $port,
+                    'protocol' => $protocol,
+                    'protocol_param' => empty($protocol_param) ? '' : $protocol_param,
                     'transfer_enable' => $transfer_enable,
-                    'user'            => date('Ymd').'_IMPORT_'.$port,
+                    'user' => date('Ymd').'_IMPORT_'.$port,
                 ];
             }
 
@@ -254,9 +254,6 @@ class ToolsController extends Controller
 
     /**
      * 计算文件行数.
-     *
-     * @param $file
-     * @return int
      */
     private function countLine($file): int
     {

+ 8 - 8
app/Http/Controllers/Admin/UserController.php

@@ -77,9 +77,9 @@ class UserController extends Controller
         });
 
         return view('admin.user.index', [
-            'userList'   => $query->sortable(['id' => 'desc'])->paginate(15)->appends($request->except('page')),
+            'userList' => $query->sortable(['id' => 'desc'])->paginate(15)->appends($request->except('page')),
             'userGroups' => UserGroup::all()->pluck('name', 'id')->toArray(),
-            'levels'     => Level::all()->pluck('name', 'level')->toArray(),
+            'levels' => Level::all()->pluck('name', 'level')->toArray(),
         ]);
     }
 
@@ -131,9 +131,9 @@ class UserController extends Controller
         }
 
         return view('admin.user.info', [
-            'levels'     => Level::orderBy('level')->get(),
+            'levels' => Level::orderBy('level')->get(),
             'userGroups' => UserGroup::orderBy('id')->get(),
-            'roles'      => $roles ?? null,
+            'roles' => $roles ?? null,
         ]);
     }
 
@@ -146,10 +146,10 @@ class UserController extends Controller
         }
 
         return view('admin.user.info', [
-            'user'       => $user->load('inviter:id,username'),
-            'levels'     => Level::orderBy('level')->get(),
+            'user' => $user->load('inviter:id,username'),
+            'levels' => Level::orderBy('level')->get(),
             'userGroups' => UserGroup::orderBy('id')->get(),
-            'roles'      => $roles ?? null,
+            'roles' => $roles ?? null,
         ]);
     }
 
@@ -282,7 +282,7 @@ class UserController extends Controller
     public function export(User $user)
     {
         return view('admin.user.export', [
-            'user'     => $user,
+            'user' => $user,
             'nodeList' => Node::whereStatus(1)->orderByDesc('sort')->orderBy('id')->paginate(15)->appends(\request('page')),
         ]);
     }

+ 5 - 5
app/Http/Controllers/Api/Client/AuthController.php

@@ -45,9 +45,9 @@ class AuthController extends Controller
             auth()->login($user, true);
 
             return $this->succeed([
-                'token'     => $user->createToken('client')->plainTextToken,
+                'token' => $user->createToken('client')->plainTextToken,
                 'expire_in' => time() + config('session.lifetime') * Minute,
-                'user'      => $userService->getProfile(),
+                'user' => $userService->getProfile(),
             ], null, ResponseEnum::USER_SERVICE_REGISTER_SUCCESS);
         }
 
@@ -58,7 +58,7 @@ class AuthController extends Controller
     {
         if (self::$client === 'bob') {
             $rules = [
-                'email'  => 'required|'.(sysConfig('username_type') ?? 'email'),
+                'email' => 'required|'.(sysConfig('username_type') ?? 'email'),
                 'passwd' => 'required|string|min:6',
             ];
         } else {
@@ -86,9 +86,9 @@ class AuthController extends Controller
             $userService = UserService::getInstance();
 
             return $this->succeed([
-                'token'     => $user->createToken('client')->plainTextToken,
+                'token' => $user->createToken('client')->plainTextToken,
                 'expire_in' => time() + config('session.lifetime') * Minute,
-                'user'      => $userService->getProfile(),
+                'user' => $userService->getProfile(),
             ], null, ResponseEnum::USER_SERVICE_LOGIN_SUCCESS);
         }
 

+ 25 - 25
app/Http/Controllers/Api/Client/ClientController.php

@@ -62,17 +62,17 @@ class ClientController extends Controller
         }
 
         $data['info'] = [
-            'user'                 => $userInfo,
-            'ssrSubToken'          => $user->subscribe->code,
-            'user_expire'          => $user_expire,
-            'subUrl'               => route('sub', $user->subscribe->code),
-            'baseUrl'              => sysConfig('subscribe_domain') ?? sysConfig('website_url'),
-            'ann'                  => $ann,
-            'avatar'               => $user->avatar,
-            'usedTraffic'          => flowAutoShow($total),
-            'enableTraffic'        => flowAutoShow($transfer_enable),
-            'unUsedTraffic'        => flowAutoShow($transfer_enable - $total),
-            'reset_time'           => now()->diffInDays($user->reset_time, false),
+            'user' => $userInfo,
+            'ssrSubToken' => $user->subscribe->code,
+            'user_expire' => $user_expire,
+            'subUrl' => route('sub', $user->subscribe->code),
+            'baseUrl' => sysConfig('subscribe_domain') ?? sysConfig('website_url'),
+            'ann' => $ann,
+            'avatar' => $user->avatar,
+            'usedTraffic' => flowAutoShow($total),
+            'enableTraffic' => flowAutoShow($transfer_enable),
+            'unUsedTraffic' => flowAutoShow($transfer_enable - $total),
+            'reset_time' => now()->diffInDays($user->reset_time, false),
             'android_index_button' => config('client.android_index_button'),
         ];
 
@@ -86,11 +86,11 @@ class ClientController extends Controller
         $data = [];
         foreach ($orders as $order) {
             $data[] = [
-                'id'           => $order->id,
+                'id' => $order->id,
                 'total_amount' => $order->amount * 100,
-                'plan'         => ['name' => $order->goods()->value('name') ?? '余额充值'],
-                'status'       => [-1 => 2, 0 => 0, 1 => 1, 2 => 3, 3 => 4][$order->status],
-                'created_at'   => strtotime($order->created_at),
+                'plan' => ['name' => $order->goods()->value('name') ?? '余额充值'],
+                'status' => [-1 => 2, 0 => 0, 1 => 1, 2 => 3, 3 => 4][$order->status],
+                'created_at' => strtotime($order->created_at),
             ];
         }
 
@@ -104,8 +104,8 @@ class ClientController extends Controller
         return $this->succeed(null, [
             'arr' => [
                 'todayUsedTraffic' => flowAutoShow($user->d),
-                'lastUsedTraffic'  => flowAutoShow($user->u),
-                'unUsedTraffic'    => flowAutoShow($user->transfer_enable - $user->d - $user->u),
+                'lastUsedTraffic' => flowAutoShow($user->u),
+                'unUsedTraffic' => flowAutoShow($user->transfer_enable - $user->d - $user->u),
             ],
         ]);
     }
@@ -134,7 +134,7 @@ class ClientController extends Controller
         $code = $user->invites()->whereStatus(0)->value('code');
 
         $data['invite_gift'] = trans('user.invite.promotion', [
-            'traffic'          => $referral_traffic,
+            'traffic' => $referral_traffic,
             'referral_percent' => $referral_percent * 100,
         ]);
 
@@ -266,14 +266,14 @@ class ClientController extends Controller
             config(['client.notice.title' => $ann->title, 'client.notice.content' => $ann->content]);
         }
         config([
-            'client.configured'      => true,
-            'client.name'            => sysConfig('website_name'),
+            'client.configured' => true,
+            'client.name' => sysConfig('website_name'),
             'client.node_class_name' => Level::all()->pluck('name', 'level')->toArray(),
-            'client.baseUrl'         => sysConfig('website_url'),
-            'client.subscribe_url'   => sysConfig('subscribe_domain') ?: sysConfig('website_url'),
-            'client.checkinMin'      => sysConfig('min_rand_traffic'),
-            'client.checkinMax'      => sysConfig('max_rand_traffic'),
-            'client.invite_gift'     => sysConfig('default_traffic') / 1024,
+            'client.baseUrl' => sysConfig('website_url'),
+            'client.subscribe_url' => sysConfig('subscribe_domain') ?: sysConfig('website_url'),
+            'client.checkinMin' => sysConfig('min_rand_traffic'),
+            'client.checkinMax' => sysConfig('max_rand_traffic'),
+            'client.invite_gift' => sysConfig('default_traffic') / 1024,
         ]);
     }
 

+ 4 - 4
app/Http/Controllers/Api/WebApi/CoreController.php

@@ -27,8 +27,8 @@ class CoreController extends Controller
         $data = array_map('intval', $validator->validated());
 
         if ($node->heartbeats()->create([
-            'uptime'   => $data['uptime'],
-            'load'     => implode(' ', [$data['cpu'] / 100, $data['mem'] / 100, $data['disk'] / 100]),
+            'uptime' => $data['uptime'],
+            'load' => implode(' ', [$data['cpu'] / 100, $data['mem'] / 100, $data['disk'] / 100]),
             'log_time' => time(),
         ])) {
             return $this->succeed();
@@ -99,8 +99,8 @@ class CoreController extends Controller
         if ($ruleGroup = $node->ruleGroup) {
             foreach ($ruleGroup->rules as $rule) {
                 $data[] = [
-                    'id'      => $rule->id,
-                    'type'    => $rule->type_api_label,
+                    'id' => $rule->id,
+                    'type' => $rule->type_api_label,
                     'pattern' => $rule->pattern,
                 ];
             }

+ 7 - 7
app/Http/Controllers/Api/WebApi/SSController.php

@@ -14,9 +14,9 @@ class SSController extends Controller
     public function getNodeInfo(Node $node): JsonResponse // 获取节点信息
     {
         $data = [
-            'id'           => $node->id,
-            'method'       => $node->profile['method'] ?? '',
-            'speed_limit'  => $node->getRawOriginal('speed_limit'),
+            'id' => $node->id,
+            'method' => $node->profile['method'] ?? '',
+            'speed_limit' => $node->getRawOriginal('speed_limit'),
             'client_limit' => $node->client_limit,
             'redirect_url' => sysConfig('redirect_url'),
         ];
@@ -32,11 +32,11 @@ class SSController extends Controller
     {
         foreach ($node->users() as $user) {
             $data[] = [
-                'uid'         => $user->id,
-                'port'        => $user->port,
-                'passwd'      => $user->passwd,
+                'uid' => $user->id,
+                'port' => $user->port,
+                'passwd' => $user->passwd,
                 'speed_limit' => $user->getRawOriginal('speed_limit'),
-                'enable'      => $user->enable,
+                'enable' => $user->enable,
             ];
         }
 

+ 8 - 8
app/Http/Controllers/Api/WebApi/SSRController.php

@@ -21,15 +21,15 @@ class SSRController extends Controller
     {
         foreach ($node->users() as $user) {
             $data[] = [
-                'uid'         => $user->id,
-                'port'        => $user->port,
-                'passwd'      => $user->passwd,
-                'method'      => $user->method,
-                'protocol'    => $user->protocol,
-                'obfs'        => $user->obfs,
-                'obfs_param'  => $node->profile['obfs_param'] ?? '',
+                'uid' => $user->id,
+                'port' => $user->port,
+                'passwd' => $user->passwd,
+                'method' => $user->method,
+                'protocol' => $user->protocol,
+                'obfs' => $user->obfs,
+                'obfs_param' => $node->profile['obfs_param'] ?? '',
                 'speed_limit' => $user->getRawOriginal('speed_limit'),
-                'enable'      => $user->enable,
+                'enable' => $user->enable,
             ];
         }
 

+ 9 - 9
app/Http/Controllers/Api/WebApi/TrojanController.php

@@ -14,15 +14,15 @@ class TrojanController extends Controller
     public function getNodeInfo(Node $node): JsonResponse // 获取节点信息
     {
         return $this->succeed([
-            'id'           => $node->id,
-            'is_udp'       => (bool) $node->is_udp,
-            'speed_limit'  => $node->getRawOriginal('speed_limit'),
+            'id' => $node->id,
+            'is_udp' => (bool) $node->is_udp,
+            'speed_limit' => $node->getRawOriginal('speed_limit'),
             'client_limit' => $node->client_limit,
-            'push_port'    => $node->push_port,
+            'push_port' => $node->push_port,
             'redirect_url' => sysConfig('redirect_url'),
-            'trojan_port'  => $node->port,
-            'secret'       => $node->auth->secret,
-            'license'      => sysConfig('trojan_license'),
+            'trojan_port' => $node->port,
+            'secret' => $node->auth->secret,
+            'license' => sysConfig('trojan_license'),
         ]);
     }
 
@@ -30,8 +30,8 @@ class TrojanController extends Controller
     {
         foreach ($node->users() as $user) {
             $data[] = [
-                'uid'         => $user->id,
-                'password'    => $user->passwd,
+                'uid' => $user->id,
+                'password' => $user->passwd,
                 'speed_limit' => $user->getRawOriginal('speed_limit'),
             ];
         }

+ 20 - 20
app/Http/Controllers/Api/WebApi/V2RayController.php

@@ -18,24 +18,24 @@ class V2RayController extends Controller
         $tlsProvider = ! empty($node->profile['tls_provider']) ? $node->profile['tls_provider'] : sysConfig('v2ray_tls_provider');
 
         return $this->succeed([
-            'id'              => $node->id,
-            'is_udp'          => (bool) $node->is_udp,
-            'speed_limit'     => $node->getRawOriginal('speed_limit'),
-            'client_limit'    => $node->client_limit,
-            'push_port'       => $node->push_port,
-            'redirect_url'    => (string) sysConfig('redirect_url', ''),
-            'secret'          => $node->auth->secret,
-            'key'             => $cert ? $cert->key : '',
-            'pem'             => $cert ? $cert->pem : '',
-            'v2_license'      => (string) sysConfig('v2ray_license'),
-            'v2_alter_id'     => (int) $node->profile['v2_alter_id'],
-            'v2_port'         => $node->port,
-            'v2_method'       => $node->profile['method'] ?? '',
-            'v2_net'          => $node->profile['v2_net'] ?? '',
-            'v2_type'         => $node->profile['v2_type'] ?? '',
-            'v2_host'         => $node->profile['v2_host'] ?? '',
-            'v2_path'         => $node->profile['v2_path'] ?? '',
-            'v2_tls'          => (bool) ($node->profile['v2_tls'] ?? false),
+            'id' => $node->id,
+            'is_udp' => (bool) $node->is_udp,
+            'speed_limit' => $node->getRawOriginal('speed_limit'),
+            'client_limit' => $node->client_limit,
+            'push_port' => $node->push_port,
+            'redirect_url' => (string) sysConfig('redirect_url', ''),
+            'secret' => $node->auth->secret,
+            'key' => $cert ? $cert->key : '',
+            'pem' => $cert ? $cert->pem : '',
+            'v2_license' => (string) sysConfig('v2ray_license'),
+            'v2_alter_id' => (int) $node->profile['v2_alter_id'],
+            'v2_port' => $node->port,
+            'v2_method' => $node->profile['method'] ?? '',
+            'v2_net' => $node->profile['v2_net'] ?? '',
+            'v2_type' => $node->profile['v2_type'] ?? '',
+            'v2_host' => $node->profile['v2_host'] ?? '',
+            'v2_path' => $node->profile['v2_path'] ?? '',
+            'v2_tls' => (bool) ($node->profile['v2_tls'] ?? false),
             'v2_tls_provider' => $tlsProvider,
         ]);
     }
@@ -44,8 +44,8 @@ class V2RayController extends Controller
     {
         foreach ($node->users() as $user) {
             $data[] = [
-                'uid'         => $user->id,
-                'vmess_uid'   => $user->vmess_id,
+                'uid' => $user->id,
+                'vmess_uid' => $user->vmess_id,
                 'speed_limit' => $user->getRawOriginal('speed_limit'),
             ];
         }

+ 0 - 1
app/Http/Controllers/AuthController.php

@@ -324,7 +324,6 @@ class AuthController extends Controller
      *
      * @param  string|null  $code  邀请码
      * @param  int|null  $aff  URL中的aff参数
-     * @return array
      */
     private function getAff($code = null, $aff = null): array
     {

+ 0 - 1
app/Http/Controllers/MessageController.php

@@ -3,7 +3,6 @@
 namespace App\Http\Controllers;
 
 use App\Models\NotificationLog;
-use Illuminate\Http\Request;
 use Illuminate\Mail\Markdown;
 
 class MessageController extends Controller

+ 1 - 1
app/Http/Controllers/OAuthController.php

@@ -140,7 +140,7 @@ class OAuthController extends Controller
 
                     if ($user) {
                         $user->userAuths()->create([
-                            'type'       => $type,
+                            'type' => $type,
                             'identifier' => $info->getId(),
                             'credential' => $info->token,
                         ]);

+ 11 - 11
app/Http/Controllers/PaymentController.php

@@ -165,14 +165,14 @@ class PaymentController extends Controller
         // 生成订单
         try {
             $newOrder = Order::create([
-                'sn'            => date('ymdHis').random_int(100000, 999999),
-                'user_id'       => auth()->id(),
-                'goods_id'      => $credit ? null : $goods_id,
-                'coupon_id'     => $coupon->id ?? null,
+                'sn' => date('ymdHis').random_int(100000, 999999),
+                'user_id' => auth()->id(),
+                'goods_id' => $credit ? null : $goods_id,
+                'coupon_id' => $coupon->id ?? null,
                 'origin_amount' => $credit ?: ($goods->price ?? 0),
-                'amount'        => $amount,
-                'pay_type'      => $pay_type,
-                'pay_way'       => self::$method,
+                'amount' => $amount,
+                'pay_type' => $pay_type,
+                'pay_way' => self::$method,
             ]);
 
             // 使用优惠券,减少可使用次数
@@ -210,10 +210,10 @@ class PaymentController extends Controller
         $goods = $payment->order->goods;
 
         return view('user.components.payment.default', [
-            'payment'       => $payment,
-            'name'          => $goods->name ?? trans('user.recharge_credit'),
-            'days'          => $goods->days ?? 0,
-            'pay_type'      => $payment->order->pay_type_label ?: 0,
+            'payment' => $payment,
+            'name' => $goods->name ?? trans('user.recharge_credit'),
+            'days' => $goods->days ?? 0,
+            'pay_type' => $payment->order->pay_type_label ?: 0,
             'pay_type_icon' => $payment->order->pay_type_icon,
         ]);
     }

+ 1 - 1
app/Http/Controllers/TelegramController.php

@@ -111,7 +111,7 @@ class TelegramController extends Controller
         }
         $telegramService = new TelegramService();
         if (! $oauth = UserOauth::query()->where([
-            'type'       => 'telegram',
+            'type' => 'telegram',
             'identifier' => $msg->chat_id,
         ])->first()) {
             $this->help();

+ 8 - 9
app/Http/Controllers/User/AffiliateController.php

@@ -9,7 +9,6 @@ use App\Models\ReferralApply;
 use App\Models\ReferralLog;
 use App\Services\UserService;
 use Auth;
-use Hashids\Hashids;
 use Illuminate\Http\JsonResponse;
 use Response;
 
@@ -23,15 +22,15 @@ class AffiliateController extends Controller
         }
 
         return view('user.referral', [
-            'referral_traffic'  => flowAutoShow(sysConfig('referral_traffic') * MB),
-            'referral_percent'  => sysConfig('referral_percent'),
-            'referral_money'    => Helpers::getPriceTag(sysConfig('referral_money')),
-            'totalAmount'       => ReferralLog::uid()->sum('commission') / 100,
-            'canAmount'         => Helpers::getPriceTag(ReferralLog::uid()->whereStatus(0)->sum('commission') / 100),
-            'aff_link'          => UserService::getInstance()->inviteURI(),
-            'referralLogList'   => ReferralLog::uid()->with('invitee:id,username')->latest()->paginate(10, ['*'], 'log_page'),
+            'referral_traffic' => flowAutoShow(sysConfig('referral_traffic') * MB),
+            'referral_percent' => sysConfig('referral_percent'),
+            'referral_money' => Helpers::getPriceTag(sysConfig('referral_money')),
+            'totalAmount' => ReferralLog::uid()->sum('commission') / 100,
+            'canAmount' => Helpers::getPriceTag(ReferralLog::uid()->whereStatus(0)->sum('commission') / 100),
+            'aff_link' => UserService::getInstance()->inviteURI(),
+            'referralLogList' => ReferralLog::uid()->with('invitee:id,username')->latest()->paginate(10, ['*'], 'log_page'),
             'referralApplyList' => ReferralApply::uid()->latest()->paginate(10, ['*'], 'apply_page'),
-            'referralUserList'  => Auth::getUser()->invitees()->select(['username', 'created_at'])->latest()->paginate(10, ['*'], 'user_page'),
+            'referralUserList' => Auth::getUser()->invitees()->select(['username', 'created_at'])->latest()->paginate(10, ['*'], 'user_page'),
         ]);
     }
 

+ 1 - 0
app/Http/Controllers/User/SubscribeController.php

@@ -14,6 +14,7 @@ use Response;
 class SubscribeController extends Controller
 {
     private static $subType;
+
     private $proxyServer;
 
     // 通过订阅码获取订阅信息

+ 28 - 28
app/Http/Controllers/UserController.php

@@ -64,20 +64,20 @@ class UserController extends Controller
         }
 
         return view('user.index', array_merge([
-            'remainDays'       => now()->diffInDays($user->expired_at, false),
-            'resetDays'        => $user->reset_time ? now()->diffInDays($user->reset_time, false) : null,
-            'unusedTraffic'    => flowAutoShow($unusedTraffic),
-            'expireTime'       => $user->expiration_date,
-            'banedTime'        => $user->ban_time,
-            'unusedPercent'    => $totalTransfer > 0 ? round($unusedTraffic / $totalTransfer, 2) * 100 : 0,
-            'announcements'    => Article::type(2)->lang()->latest()->simplePaginate(1), // 公告
+            'remainDays' => now()->diffInDays($user->expired_at, false),
+            'resetDays' => $user->reset_time ? now()->diffInDays($user->reset_time, false) : null,
+            'unusedTraffic' => flowAutoShow($unusedTraffic),
+            'expireTime' => $user->expiration_date,
+            'banedTime' => $user->ban_time,
+            'unusedPercent' => $totalTransfer > 0 ? round($unusedTraffic / $totalTransfer, 2) * 100 : 0,
+            'announcements' => Article::type(2)->lang()->latest()->simplePaginate(1), // 公告
             'isTrafficWarning' => $user->isTrafficWarning(), // 流量异常判断
-            'paying_user'      => $userService->isActivePaying(), // 付费用户判断
-            'userLoginLog'     => $user->loginLogs()->latest()->first(), // 近期登录日志
+            'paying_user' => $userService->isActivePaying(), // 付费用户判断
+            'userLoginLog' => $user->loginLogs()->latest()->first(), // 近期登录日志
             'subscribe_status' => $user->subscribe->status,
-            'subMsg'           => $user->subscribe->ban_desc,
-            'subType'          => $subType,
-            'subUrl'           => route('sub', $user->subscribe->code),
+            'subMsg' => $user->subscribe->ban_desc,
+            'subType' => $subType,
+            'subUrl' => route('sub', $user->subscribe->code),
         ], $this->dataFlowChart($user->id)));
     }
 
@@ -223,9 +223,9 @@ class UserController extends Controller
 
         return view('user.services', [
             'chargeGoodsList' => Goods::type(3)->orderBy('price')->get(),
-            'goodsList'       => $goodsList,
-            'renewTraffic'    => $renewPrice ? Helpers::getPriceTag($renewPrice) : 0,
-            'dataPlusDays'    => $dataPlusDays > date('Y-m-d') ? $dataPlusDays->diffInDays() : 0,
+            'goodsList' => $goodsList,
+            'renewTraffic' => $renewPrice ? Helpers::getPriceTag($renewPrice) : 0,
+            'dataPlusDays' => $dataPlusDays > date('Y-m-d') ? $dataPlusDays->diffInDays() : 0,
         ]);
     }
 
@@ -262,7 +262,7 @@ class UserController extends Controller
     public function invoices(Request $request)
     {
         return view('user.invoices', [
-            'orderList'   => auth()->user()->orders()->with(['goods', 'payment'])->orderByDesc('id')->paginate(10)->appends($request->except('page')),
+            'orderList' => auth()->user()->orders()->with(['goods', 'payment'])->orderByDesc('id')->paginate(10)->appends($request->except('page')),
             'prepaidPlan' => Order::userPrepay()->exists(),
         ]);
     }
@@ -356,7 +356,7 @@ class UserController extends Controller
         }
 
         return view('user.replyTicket', [
-            'ticket'    => $ticket,
+            'ticket' => $ticket,
             'replyList' => $ticket->reply()->with('ticket:id,status', 'admin:id,username,qq', 'user:id,username,qq')->oldest()->get(),
         ]);
     }
@@ -381,8 +381,8 @@ class UserController extends Controller
         }
 
         return view('user.invite', [
-            'num'              => auth()->user()->invite_num, // 还可以生成的邀请码数量
-            'inviteList'       => Invite::uid()->with(['invitee', 'inviter'])->paginate(10), // 邀请码列表
+            'num' => auth()->user()->invite_num, // 还可以生成的邀请码数量
+            'inviteList' => Invite::uid()->with(['invitee', 'inviter'])->paginate(10), // 邀请码列表
             'referral_traffic' => flowAutoShow(sysConfig('referral_traffic') * MB),
             'referral_percent' => sysConfig('referral_percent'),
         ]);
@@ -396,7 +396,7 @@ class UserController extends Controller
             return Response::json(['status' => 'fail', 'message' => trans('user.invite.generate_failed')]);
         }
         $invite = $user->invites()->create([
-            'code'     => strtoupper(mb_substr(md5(microtime().Str::random()), 8, 12)),
+            'code' => strtoupper(mb_substr(md5(microtime().Str::random()), 8, 12)),
             'dateline' => date('Y-m-d H:i:s', strtotime(sysConfig('user_invite_days').' days')),
         ]);
         if ($invite) {
@@ -424,8 +424,8 @@ class UserController extends Controller
         }
 
         $data = [
-            'name'  => $ret->name,
-            'type'  => $ret->type,
+            'name' => $ret->name,
+            'type' => $ret->type,
             'value' => $ret->type === 2 ? $ret->value : Helpers::getPriceTag($ret->value),
         ];
 
@@ -441,8 +441,8 @@ class UserController extends Controller
 
         return view('user.buy', [
             'dataPlusDays' => $dataPlusDays > date('Y-m-d') ? $dataPlusDays->diffInDays() : 0,
-            'activePlan'   => Order::userActivePlan()->exists(),
-            'goods'        => $good,
+            'activePlan' => Order::userActivePlan()->exists(),
+            'goods' => $good,
         ]);
     }
 
@@ -466,10 +466,10 @@ class UserController extends Controller
         $subscribe = auth()->user()->subscribe;
 
         return view('user.knowledge', [
-            'subType'    => $data,
-            'subUrl'     => route('sub', $subscribe->code),
-            'subStatus'  => $subscribe->status,
-            'subMsg'     => $subscribe->ban_desc,
+            'subType' => $data,
+            'subUrl' => route('sub', $subscribe->code),
+            'subStatus' => $subscribe->status,
+            'subMsg' => $subscribe->ban_desc,
             'knowledges' => Article::type(1)->lang()->orderByDesc('sort')->latest()->get()->groupBy('category'),
         ]);
     }

+ 16 - 16
app/Http/Kernel.php

@@ -105,22 +105,22 @@ class Kernel extends HttpKernel
      * @var array
      */
     protected $routeMiddleware = [
-        'auth'             => Authenticate::class,
-        'auth.basic'       => AuthenticateWithBasicAuth::class,
-        'auth.client'      => ClientAuthenticate::class,
-        'bindings'         => SubstituteBindings::class,
-        'cache.headers'    => SetCacheHeaders::class,
-        'can'              => Authorize::class,
-        'guest'            => RedirectIfAuthenticated::class,
+        'auth' => Authenticate::class,
+        'auth.basic' => AuthenticateWithBasicAuth::class,
+        'auth.client' => ClientAuthenticate::class,
+        'bindings' => SubstituteBindings::class,
+        'cache.headers' => SetCacheHeaders::class,
+        'can' => Authorize::class,
+        'guest' => RedirectIfAuthenticated::class,
         'password.confirm' => RequirePassword::class,
-        'signed'           => ValidateSignature::class,
-        'telegram'         => Telegram::class,
-        'throttle'         => ThrottleRequests::class,
-        'verified'         => EnsureEmailIsVerified::class,
-        'webApi'           => WebApi::class,
-        'isMaintenance'    => isMaintenance::class,
-        'isSecurity'       => isSecurity::class,
-        'isForbidden'      => isForbidden::class,
-        'affiliate'        => Affiliate::class,
+        'signed' => ValidateSignature::class,
+        'telegram' => Telegram::class,
+        'throttle' => ThrottleRequests::class,
+        'verified' => EnsureEmailIsVerified::class,
+        'webApi' => WebApi::class,
+        'isMaintenance' => isMaintenance::class,
+        'isSecurity' => isSecurity::class,
+        'isForbidden' => isForbidden::class,
+        'affiliate' => Affiliate::class,
     ];
 }

+ 0 - 2
app/Http/Middleware/Affiliate.php

@@ -11,8 +11,6 @@ class Affiliate
     /**
      * 返利识别.
      *
-     * @param  Request  $request
-     * @param  Closure  $next
      * @return mixed
      */
     public function handle(Request $request, Closure $next)

+ 0 - 1
app/Http/Middleware/ClientAuthenticate.php

@@ -15,7 +15,6 @@ class ClientAuthenticate
      * Handle an incoming request.
      *
      * @param  Request  $request
-     * @param  Closure  $next
      * @return mixed
      */
     public function handle($request, Closure $next)

+ 0 - 1
app/Http/Middleware/Permission.php

@@ -12,7 +12,6 @@ class Permission
      * Handle an incoming request.
      *
      * @param  Request  $request
-     * @param  Closure  $next
      * @param  null  $guard
      * @return mixed
      */

+ 0 - 1
app/Http/Middleware/RedirectIfAuthenticated.php

@@ -13,7 +13,6 @@ class RedirectIfAuthenticated
      * Handle an incoming request.
      *
      * @param  Request  $request
-     * @param  Closure  $next
      * @param  string|null  $guard
      * @return mixed
      */

+ 0 - 2
app/Http/Middleware/SetLocale.php

@@ -13,8 +13,6 @@ class SetLocale
     /**
      * 变更语言
      *
-     * @param  Request  $request
-     * @param  Closure  $next
      * @return mixed
      */
     public function handle(Request $request, Closure $next)

+ 0 - 2
app/Http/Middleware/Telegram.php

@@ -9,8 +9,6 @@ class Telegram
     /**
      * Handle an incoming request.
      *
-     * @param  $request
-     * @param  Closure  $next
      * @return mixed
      */
     public function handle($request, Closure $next)

+ 2 - 3
app/Http/Middleware/WebApi.php

@@ -5,19 +5,18 @@ namespace App\Http\Middleware;
 use App\Helpers\ResponseEnum;
 use App\Helpers\WebApiResponse;
 use Closure;
+use Illuminate\Http\Request;
 
 class WebApi
 {
     /**
      * Handle an incoming request.
      *
-     * @param  $request
-     * @param  Closure  $next
      * @return mixed
      */
     use WebApiResponse;
 
-    public function handle($request, Closure $next)
+    public function handle(Request $request, Closure $next)
     {
         $node = $request->node;
         $key = $request->header('key');

+ 1 - 3
app/Http/Middleware/isForbidden.php

@@ -14,12 +14,10 @@ class isForbidden
     /**
      * 限制机器人、指定IP访问.
      *
-     * @param  Request  $request
-     * @param  Closure  $next
      * @return mixed
      */
     public function handle(Request $request, Closure $next)
-    {
+    { // 限制机器人、指定IP访问.
         // 拒绝机器人访问
         if (sysConfig('is_forbid_robot') && Agent::isRobot()) {
             Log::warning('识别到机器人('.IP::getClientIp().')访问');

+ 0 - 2
app/Http/Middleware/isLogin.php

@@ -11,8 +11,6 @@ class isLogin
     /**
      * 校验是否已登录.
      *
-     * @param  Request  $request
-     * @param  Closure  $next
      * @return mixed
      */
     public function handle(Request $request, Closure $next)

+ 0 - 2
app/Http/Middleware/isMaintenance.php

@@ -10,8 +10,6 @@ class isMaintenance
     /**
      * 校验是否开启维护模式.
      *
-     * @param  Request  $request
-     * @param  Closure  $next
      * @return mixed
      */
     public function handle(Request $request, Closure $next)

+ 0 - 2
app/Http/Middleware/isSecurity.php

@@ -13,8 +13,6 @@ class isSecurity
     /**
      * 是否需要安全码才访问(仅用于登录页).
      *
-     * @param  $request
-     * @param  Closure  $next
      * @return mixed
      */
     public function handle($request, Closure $next)

+ 5 - 5
app/Http/Requests/Admin/ArticleRequest.php

@@ -9,13 +9,13 @@ class ArticleRequest extends FormRequest
     public function rules(): array
     {
         return [
-            'type'     => 'required|numeric|between:1,4',
-            'title'    => 'required|string',
+            'type' => 'required|numeric|between:1,4',
+            'title' => 'required|string',
             'language' => 'required|string',
             'category' => 'nullable|string',
-            'sort'     => 'nullable|numeric',
-            'logo'     => 'nullable|exclude_if:type,4|image',
-            'content'  => 'required',
+            'sort' => 'nullable|numeric',
+            'logo' => 'nullable|exclude_if:type,4|image',
+            'content' => 'required',
         ];
     }
 }

+ 2 - 2
app/Http/Requests/Admin/CertRequest.php

@@ -15,8 +15,8 @@ class CertRequest extends FormRequest
 
         return [
             'domain' => 'required|string|unique:node_certificate,domain'.$unq_domain,
-            'key'    => 'nullable|string',
-            'pem'    => 'nullable|string',
+            'key' => 'nullable|string',
+            'pem' => 'nullable|string',
         ];
     }
 }

+ 19 - 19
app/Http/Requests/Admin/CouponRequest.php

@@ -9,27 +9,27 @@ class CouponRequest extends FormRequest
     public function rules(): array
     {
         return [
-            'name'               => 'required|string',
-            'sn'                 => 'exclude_unless:type,3|unique:coupon',
-            'logo'               => 'nullable|image',
-            'type'               => 'required|numeric|between:1,3',
-            'priority'           => 'nullable|numeric|min:0|max:255',
-            'usable_times'       => 'nullable|numeric|min:1',
-            'value'              => 'required|numeric|min:0',
-            'minimum'            => 'nullable|numeric',
-            'used'               => 'nullable|numeric',
-            'levels'             => 'nullable|array',
-            'groups'             => 'nullable|array',
-            'users_whitelist'    => 'nullable|string',
-            'users_blacklist'    => 'nullable|string',
+            'name' => 'required|string',
+            'sn' => 'exclude_unless:type,3|unique:coupon',
+            'logo' => 'nullable|image',
+            'type' => 'required|numeric|between:1,3',
+            'priority' => 'nullable|numeric|min:0|max:255',
+            'usable_times' => 'nullable|numeric|min:1',
+            'value' => 'required|numeric|min:0',
+            'minimum' => 'nullable|numeric',
+            'used' => 'nullable|numeric',
+            'levels' => 'nullable|array',
+            'groups' => 'nullable|array',
+            'users_whitelist' => 'nullable|string',
+            'users_blacklist' => 'nullable|string',
             'services_blacklist' => 'nullable|string',
             'services_whitelist' => 'nullable|string',
-            'coupon'             => 'nullable',
-            'order'              => 'nullable',
-            'days'               => 'nullable|numeric',
-            'num'                => 'required|numeric|min:1',
-            'start_time'         => 'required|date|before_or_equal:end_time',
-            'end_time'           => 'required|date|after_or_equal:start_time',
+            'coupon' => 'nullable',
+            'order' => 'nullable',
+            'days' => 'nullable|numeric',
+            'num' => 'required|numeric|min:1',
+            'start_time' => 'required|date|before_or_equal:end_time',
+            'end_time' => 'required|date|after_or_equal:start_time',
         ];
     }
 }

+ 36 - 36
app/Http/Requests/Admin/NodeRequest.php

@@ -9,44 +9,44 @@ class NodeRequest extends FormRequest
     public function rules(): array
     {
         return [
-            'is_ddns'        => 'required|boolean',
-            'name'           => 'required|string',
-            'server'         => 'required_if:is_ddns,1|nullable|ends_with:'.implode(',', config('domains')),
-            'ip'             => 'required_if:is_ddns,0|nullable',
-            'ipv6'           => 'nullable',
-            'push_port'      => 'numeric|between:1,65535|different:port',
-            'traffic_rate'   => 'required|numeric|min:0',
-            'level'          => 'required|exists:level,level',
-            'rule_group_id'  => 'nullable|exists:rule_group,id',
-            'speed_limit'    => 'required|numeric|min:0',
-            'client_limit'   => 'required|numeric|min:0',
-            'labels'         => 'nullable|exists:label,id',
-            'country_code'   => 'required|exists:country,code',
-            'description'    => 'nullable|string',
-            'sort'           => 'required|numeric|between:0,255',
-            'is_udp'         => 'required|boolean',
-            'status'         => 'required|boolean',
-            'type'           => 'required|numeric|between:0,4',
-            'method'         => 'required|exists:ss_config,name',
-            'protocol'       => 'required_if:type,1,4|exists:ss_config,name',
+            'is_ddns' => 'required|boolean',
+            'name' => 'required|string',
+            'server' => 'required_if:is_ddns,1|nullable|ends_with:'.implode(',', config('domains')),
+            'ip' => 'required_if:is_ddns,0|nullable',
+            'ipv6' => 'nullable',
+            'push_port' => 'numeric|between:1,65535|different:port',
+            'traffic_rate' => 'required|numeric|min:0',
+            'level' => 'required|exists:level,level',
+            'rule_group_id' => 'nullable|exists:rule_group,id',
+            'speed_limit' => 'required|numeric|min:0',
+            'client_limit' => 'required|numeric|min:0',
+            'labels' => 'nullable|exists:label,id',
+            'country_code' => 'required|exists:country,code',
+            'description' => 'nullable|string',
+            'sort' => 'required|numeric|between:0,255',
+            'is_udp' => 'required|boolean',
+            'status' => 'required|boolean',
+            'type' => 'required|numeric|between:0,4',
+            'method' => 'required|exists:ss_config,name',
+            'protocol' => 'required_if:type,1,4|exists:ss_config,name',
             'protocol_param' => 'nullable|string',
-            'obfs'           => 'required_if:type,1,4|exists:ss_config,name',
-            'obfs_param'     => 'nullable|string',
-            'is_display'     => 'required|numeric|between:0,3',
+            'obfs' => 'required_if:type,1,4|exists:ss_config,name',
+            'obfs_param' => 'nullable|string',
+            'is_display' => 'required|numeric|between:0,3',
             'detection_type' => 'required|numeric|between:0,3',
-            'single'         => 'required|boolean',
-            'port'           => 'required_unless:single,"0"|numeric|between:1,65535|different:push_port',
-            'passwd'         => 'exclude_unless:type,1,type,4|required_if:single,1|string|nullable',
-            'v2_alter_id'    => 'nullable|numeric|between:0,65535',
-            'v2_method'      => 'required_if:type,2',
-            'v2_net'         => 'required_if:type,2',
-            'v2_type'        => 'required_if:type,2',
-            'v2_host'        => 'nullable|string',
-            'v2_path'        => 'nullable|string',
-            'v2_sni'         => 'nullable|string',
-            'v2_tls'         => 'required_if:type,2|boolean',
-            'tls_provider'   => 'nullable|json',
-            'relay_node_id'  => 'nullable|exists:node,id',
+            'single' => 'required|boolean',
+            'port' => 'required_unless:single,"0"|numeric|between:1,65535|different:push_port',
+            'passwd' => 'exclude_unless:type,1,type,4|required_if:single,1|string|nullable',
+            'v2_alter_id' => 'nullable|numeric|between:0,65535',
+            'v2_method' => 'required_if:type,2',
+            'v2_net' => 'required_if:type,2',
+            'v2_type' => 'required_if:type,2',
+            'v2_host' => 'nullable|string',
+            'v2_path' => 'nullable|string',
+            'v2_sni' => 'nullable|string',
+            'v2_tls' => 'required_if:type,2|boolean',
+            'tls_provider' => 'nullable|json',
+            'relay_node_id' => 'nullable|exists:node,id',
         ];
     }
 

+ 1 - 1
app/Http/Requests/Admin/PermissionRequest.php

@@ -9,7 +9,7 @@ class PermissionRequest extends FormRequest
     public function rules()
     {
         return [
-            'name'        => 'required|string',
+            'name' => 'required|string',
             'description' => 'required|string',
         ];
     }

+ 1 - 1
app/Http/Requests/Admin/RbacRequest.php

@@ -9,7 +9,7 @@ class RbacRequest extends FormRequest
     public function rules()
     {
         return [
-            'name'        => 'required|string',
+            'name' => 'required|string',
             'description' => 'required|string',
         ];
     }

+ 1 - 1
app/Http/Requests/Admin/RoleRequest.php

@@ -14,7 +14,7 @@ class RoleRequest extends FormRequest
         }
 
         return [
-            'name'        => 'required|string|unique:roles,name'.$unq_name,
+            'name' => 'required|string|unique:roles,name'.$unq_name,
             'description' => 'required|string',
             'permissions' => 'nullable|exists:permissions,name',
         ];

+ 2 - 2
app/Http/Requests/Admin/RuleGroupRequest.php

@@ -9,8 +9,8 @@ class RuleGroupRequest extends FormRequest
     public function rules()
     {
         return [
-            'name'  => 'required|string',
-            'type'  => 'required|boolean',
+            'name' => 'required|string',
+            'type' => 'required|boolean',
             'rules' => 'nullable|exists:rule,id',
         ];
     }

+ 1 - 1
app/Http/Requests/Admin/RuleRequest.php

@@ -9,7 +9,7 @@ class RuleRequest extends FormRequest
     public function rules()
     {
         $rules = [
-            'name'    => 'required|string',
+            'name' => 'required|string',
             'pattern' => 'required|string',
         ];
 

+ 18 - 18
app/Http/Requests/Admin/ShopStoreRequest.php

@@ -9,25 +9,25 @@ class ShopStoreRequest extends FormRequest
     public function rules(): array
     {
         return [
-            'type'         => 'required|numeric|between:1,2',
-            'name'         => 'required|string',
-            'price'        => 'required|numeric|min:0',
-            'level'        => 'required|exists:level,level',
-            'renew'        => 'required_unless:type,2|numeric|min:0|nullable',
-            'period'       => 'required_unless:type,2|numeric|min:0|nullable',
-            'traffic'      => 'required|numeric|min:1|max:10240000',
+            'type' => 'required|numeric|between:1,2',
+            'name' => 'required|string',
+            'price' => 'required|numeric|min:0',
+            'level' => 'required|exists:level,level',
+            'renew' => 'required_unless:type,2|numeric|min:0|nullable',
+            'period' => 'required_unless:type,2|numeric|min:0|nullable',
+            'traffic' => 'required|numeric|min:1|max:10240000',
             'traffic_unit' => 'nullable|numeric',
-            'invite_num'   => 'numeric',
-            'limit_num'    => 'numeric',
-            'speed_limit'  => 'numeric',
-            'days'         => 'required|numeric',
-            'is_hot'       => 'nullable|string',
-            'status'       => 'nullable|string',
-            'sort'         => 'numeric',
-            'color'        => 'nullable|string',
-            'logo'         => 'nullable|image',
-            'description'  => 'nullable|string',
-            'info'         => 'nullable|string',
+            'invite_num' => 'numeric',
+            'limit_num' => 'numeric',
+            'speed_limit' => 'numeric',
+            'days' => 'required|numeric',
+            'is_hot' => 'nullable|string',
+            'status' => 'nullable|string',
+            'sort' => 'numeric',
+            'color' => 'nullable|string',
+            'logo' => 'nullable|image',
+            'description' => 'nullable|string',
+            'info' => 'nullable|string',
         ];
     }
 }

+ 13 - 13
app/Http/Requests/Admin/ShopUpdateRequest.php

@@ -9,21 +9,21 @@ class ShopUpdateRequest extends FormRequest
     public function rules(): array
     {
         return [
-            'name'        => 'required|string',
-            'price'       => 'required|numeric|min:0',
-            'level'       => 'required|exists:level,level',
-            'renew'       => 'required_unless:type,2|numeric|min:0|nullable',
-            'period'      => 'required_unless:type,2|numeric|min:0|nullable',
-            'invite_num'  => 'numeric',
-            'limit_num'   => 'numeric',
-            'is_hot'      => 'nullable|string',
-            'status'      => 'nullable|string',
-            'sort'        => 'numeric',
+            'name' => 'required|string',
+            'price' => 'required|numeric|min:0',
+            'level' => 'required|exists:level,level',
+            'renew' => 'required_unless:type,2|numeric|min:0|nullable',
+            'period' => 'required_unless:type,2|numeric|min:0|nullable',
+            'invite_num' => 'numeric',
+            'limit_num' => 'numeric',
+            'is_hot' => 'nullable|string',
+            'status' => 'nullable|string',
+            'sort' => 'numeric',
             'speed_limit' => 'numeric',
-            'color'       => 'nullable|string',
-            'logo'        => 'nullable|image',
+            'color' => 'nullable|string',
+            'logo' => 'nullable|image',
             'description' => 'nullable|string',
-            'info'        => 'nullable|string',
+            'info' => 'nullable|string',
         ];
     }
 }

+ 1 - 1
app/Http/Requests/Admin/SystemRequest.php

@@ -9,7 +9,7 @@ class SystemRequest extends FormRequest
     public function rules()
     {
         return [
-            'name'  => 'required|exists:config,name',
+            'name' => 'required|exists:config,name',
             'value' => 'nullable',
         ];
     }

+ 3 - 3
app/Http/Requests/Admin/TicketRequest.php

@@ -9,10 +9,10 @@ class TicketRequest extends FormRequest
     public function rules()
     {
         return [
-            'uid'      => 'required_without:username|exists:user,id|numeric|nullable',
+            'uid' => 'required_without:username|exists:user,id|numeric|nullable',
             'username' => 'required_without:uid|exists:user,username||nullable',
-            'title'    => 'required|string',
-            'content'  => 'required|string',
+            'title' => 'required|string',
+            'content' => 'required|string',
         ];
     }
 }

+ 1 - 1
app/Http/Requests/Admin/UserGroupRequest.php

@@ -9,7 +9,7 @@ class UserGroupRequest extends FormRequest
     public function rules()
     {
         return [
-            'name'  => 'required|string',
+            'name' => 'required|string',
             'nodes' => 'nullable|exists:node,id',
         ];
     }

+ 21 - 21
app/Http/Requests/Admin/UserStoreRequest.php

@@ -9,28 +9,28 @@ class UserStoreRequest extends FormRequest
     public function rules(): array
     {
         return [
-            'nickname'        => 'required|string',
-            'username'        => 'required|'.(sysConfig('username_type') ?? 'email').'|unique:user,username,'.$this->user,
-            'password'        => 'nullable|string',
-            'port'            => 'nullable|numeric',
-            'passwd'          => 'nullable|string',
-            'uuid'            => 'nullable|uuid',
+            'nickname' => 'required|string',
+            'username' => 'required|'.(sysConfig('username_type') ?? 'email').'|unique:user,username,'.$this->user,
+            'password' => 'nullable|string',
+            'port' => 'nullable|numeric',
+            'passwd' => 'nullable|string',
+            'uuid' => 'nullable|uuid',
             'transfer_enable' => 'required|numeric|min:0',
-            'enable'          => 'required|boolean',
-            'method'          => 'required|exists:ss_config,name',
-            'protocol'        => 'required|exists:ss_config,name',
-            'obfs'            => 'required|exists:ss_config,name',
-            'speed_limit'     => 'required|numeric|min:0',
-            'wechat'          => 'nullable|string',
-            'qq'              => 'nullable|string',
-            'expired_at'      => 'nullable|date_format:Y-m-d',
-            'remark'          => 'nullable|string',
-            'level'           => 'required|exists:level,level',
-            'user_group_id'   => 'nullable|exists:user_group,id',
-            'roles'           => 'nullable|exists:roles,name',
-            'reset_time'      => 'nullable|date_format:Y-m-d',
-            'invite_num'      => 'required|numeric|min:0',
-            'status'          => 'required|numeric|between:-1,1',
+            'enable' => 'required|boolean',
+            'method' => 'required|exists:ss_config,name',
+            'protocol' => 'required|exists:ss_config,name',
+            'obfs' => 'required|exists:ss_config,name',
+            'speed_limit' => 'required|numeric|min:0',
+            'wechat' => 'nullable|string',
+            'qq' => 'nullable|string',
+            'expired_at' => 'nullable|date_format:Y-m-d',
+            'remark' => 'nullable|string',
+            'level' => 'required|exists:level,level',
+            'user_group_id' => 'nullable|exists:user_group,id',
+            'roles' => 'nullable|exists:roles,name',
+            'reset_time' => 'nullable|date_format:Y-m-d',
+            'invite_num' => 'required|numeric|min:0',
+            'status' => 'required|numeric|between:-1,1',
         ];
     }
 }

+ 21 - 21
app/Http/Requests/Admin/UserUpdateRequest.php

@@ -9,28 +9,28 @@ class UserUpdateRequest extends FormRequest
     public function rules(): array
     {
         return [
-            'nickname'        => 'required|string',
-            'username'        => 'required|'.(sysConfig('username_type') ?? 'email').'|unique:user,username,'.$this->user->id,
-            'password'        => 'nullable|string',
-            'port'            => 'required|numeric|exclude_if:port,0|gt:0|unique:user,port,'.$this->user->id,
-            'passwd'          => 'required|string',
-            'uuid'            => 'required|uuid',
+            'nickname' => 'required|string',
+            'username' => 'required|'.(sysConfig('username_type') ?? 'email').'|unique:user,username,'.$this->user->id,
+            'password' => 'nullable|string',
+            'port' => 'required|numeric|exclude_if:port,0|gt:0|unique:user,port,'.$this->user->id,
+            'passwd' => 'required|string',
+            'uuid' => 'required|uuid',
             'transfer_enable' => 'required|numeric|min:0',
-            'enable'          => 'required|boolean',
-            'method'          => 'required|exists:ss_config,name',
-            'protocol'        => 'required|exists:ss_config,name',
-            'obfs'            => 'required|exists:ss_config,name',
-            'speed_limit'     => 'required|numeric|min:0',
-            'wechat'          => 'nullable|string',
-            'qq'              => 'nullable|string',
-            'expired_at'      => 'required|date_format:Y-m-d',
-            'remark'          => 'nullable|string',
-            'level'           => 'required|exists:level,level',
-            'user_group_id'   => 'nullable|exists:user_group,id',
-            'roles'           => 'nullable|exists:roles,name',
-            'reset_time'      => 'nullable|date_format:Y-m-d',
-            'invite_num'      => 'required|numeric|min:0',
-            'status'          => 'required|numeric|between:-1,1',
+            'enable' => 'required|boolean',
+            'method' => 'required|exists:ss_config,name',
+            'protocol' => 'required|exists:ss_config,name',
+            'obfs' => 'required|exists:ss_config,name',
+            'speed_limit' => 'required|numeric|min:0',
+            'wechat' => 'nullable|string',
+            'qq' => 'nullable|string',
+            'expired_at' => 'required|date_format:Y-m-d',
+            'remark' => 'nullable|string',
+            'level' => 'required|exists:level,level',
+            'user_group_id' => 'nullable|exists:user_group,id',
+            'roles' => 'nullable|exists:roles,name',
+            'reset_time' => 'nullable|date_format:Y-m-d',
+            'invite_num' => 'required|numeric|min:0',
+            'status' => 'required|numeric|between:-1,1',
         ];
     }
 }

+ 1 - 1
app/Http/Requests/Auth/RegisterRequest.php

@@ -12,7 +12,7 @@ class RegisterRequest extends FormRequest
             'nickname' => 'required|string',
             'username' => 'required|'.(sysConfig('username_type') ?? 'email').'|unique:user,username',
             'password' => 'required|string|min:6|confirmed',
-            'term'     => 'accepted',
+            'term' => 'accepted',
         ];
     }
 }

+ 5 - 5
app/Jobs/VNet/addUser.php

@@ -2,7 +2,6 @@
 
 namespace App\Jobs\VNet;
 
-use App\Models\Node;
 use App\Models\User;
 use Arr;
 use Exception;
@@ -23,6 +22,7 @@ class addUser implements ShouldQueue
     use SerializesModels;
 
     private $data;
+
     private $nodes;
 
     public function __construct($userIds, $nodes)
@@ -30,11 +30,11 @@ class addUser implements ShouldQueue
         $this->nodes = $nodes;
         foreach (User::findMany($userIds) as $user) {
             $data[] = [
-                'uid'         => $user->id,
-                'port'        => $user->port,
-                'passwd'      => $user->passwd,
+                'uid' => $user->id,
+                'port' => $user->port,
+                'passwd' => $user->passwd,
                 'speed_limit' => $user->speed_limit,
-                'enable'      => $user->enable,
+                'enable' => $user->enable,
             ];
         }
 

+ 1 - 0
app/Jobs/VNet/delUser.php

@@ -21,6 +21,7 @@ class delUser implements ShouldQueue
     use SerializesModels;
 
     private $userIds;
+
     private $nodes;
 
     public function __construct($userIds, $nodes)

+ 5 - 4
app/Jobs/VNet/editUser.php

@@ -22,17 +22,18 @@ class editUser implements ShouldQueue
     use SerializesModels;
 
     private $data;
+
     private $nodes;
 
     public function __construct(User $user, $nodes)
     {
         $this->nodes = $nodes;
         $this->data = [
-            'uid'         => $user->id,
-            'port'        => (int) $user->port,
-            'passwd'      => $user->passwd,
+            'uid' => $user->id,
+            'port' => (int) $user->port,
+            'passwd' => $user->passwd,
             'speed_limit' => $user->speed_limit,
-            'enable'      => (int) $user->enable,
+            'enable' => (int) $user->enable,
         ];
     }
 

+ 2 - 0
app/Models/Article.php

@@ -13,7 +13,9 @@ class Article extends Model
     use SoftDeletes;
 
     protected $table = 'article';
+
     protected $dates = ['deleted_at'];
+
     protected $guarded = [];
 
     // 筛选类型

+ 5 - 0
app/Models/Config.php

@@ -10,9 +10,14 @@ use Illuminate\Database\Eloquent\Model;
 class Config extends Model
 {
     public $timestamps = false;
+
     public $incrementing = false;
+
     protected $table = 'config';
+
     protected $primaryKey = 'name';
+
     protected $keyType = 'string';
+
     protected $guarded = [];
 }

+ 5 - 0
app/Models/Country.php

@@ -10,10 +10,15 @@ use Illuminate\Database\Eloquent\Model;
 class Country extends Model
 {
     public $timestamps = false;
+
     public $incrementing = false;
+
     protected $table = 'country';
+
     protected $primaryKey = 'code';
+
     protected $keyType = 'string';
+
     protected $guarded = [];
 
     public function nodes()

+ 3 - 0
app/Models/Coupon.php

@@ -13,8 +13,11 @@ class Coupon extends Model
     use SoftDeletes;
 
     protected $table = 'coupon';
+
     protected $casts = ['limit' => 'array', 'start_time' => 'date:Y-m-d', 'end_time' => 'date:Y-m-d'];
+
     protected $dates = ['deleted_at'];
+
     protected $guarded = [];
 
     // 筛选类型

+ 1 - 0
app/Models/CouponLog.php

@@ -10,5 +10,6 @@ use Illuminate\Database\Eloquent\Model;
 class CouponLog extends Model
 {
     public const UPDATED_AT = null;
+
     protected $table = 'coupon_log';
 }

+ 2 - 0
app/Models/EmailFilter.php

@@ -10,6 +10,8 @@ use Illuminate\Database\Eloquent\Model;
 class EmailFilter extends Model
 {
     public $timestamps = false;
+
     protected $table = 'email_filter';
+
     protected $guarded = [];
 }

+ 2 - 0
app/Models/Goods.php

@@ -15,7 +15,9 @@ class Goods extends Model
     use SoftDeletes;
 
     protected $table = 'goods';
+
     protected $dates = ['deleted_at'];
+
     protected $guarded = [];
 
     public function orders(): HasMany

+ 1 - 0
app/Models/GoodsCategory.php

@@ -8,6 +8,7 @@ use Illuminate\Database\Eloquent\Relations\HasMany;
 class GoodsCategory extends Model
 {
     protected $table = 'goods_category';
+
     protected $guarded = [];
 
     public function goods(): HasMany

+ 2 - 0
app/Models/Invite.php

@@ -15,7 +15,9 @@ class Invite extends Model
     use SoftDeletes;
 
     protected $table = 'invite';
+
     protected $dates = ['dateline', 'deleted_at'];
+
     protected $guarded = [];
 
     public function scopeUid($query)

+ 2 - 0
app/Models/Label.php

@@ -10,7 +10,9 @@ use Illuminate\Database\Eloquent\Model;
 class Label extends Model
 {
     public $timestamps = false;
+
     protected $table = 'label';
+
     protected $guarded = [];
 
     public function nodes()

+ 2 - 0
app/Models/Level.php

@@ -10,7 +10,9 @@ use Illuminate\Database\Eloquent\Model;
 class Level extends Model
 {
     public $timestamps = false;
+
     protected $table = 'level';
+
     protected $guarded = [];
 
     public function users()

+ 3 - 2
app/Models/Marketing.php

@@ -10,14 +10,15 @@ use Illuminate\Database\Eloquent\Model;
 class Marketing extends Model
 {
     protected $table = 'marketing';
+
     protected $guarded = [];
 
     public function getStatusLabelAttribute(): string
     {
         return [
             -1 => '失败',
-            0  => '待推送',
-            1  => '成功',
+            0 => '待推送',
+            1 => '成功',
         ][$this->attributes['status']] ?? '';
     }
 }

部分文件因文件數量過多而無法顯示