Prechádzať zdrojové kódy

1.被禁用账户自动释放标签
2.加入繁体语言包

bingo 7 rokov pred
rodič
commit
ea2266fb84

+ 32 - 0
app/Console/Commands/AutoRemoveDisabledUserLabelsJob.php

@@ -0,0 +1,32 @@
+<?php
+
+namespace App\Console\Commands;
+
+use App\Http\Models\User;
+use App\Http\Models\UserLabel;
+use Illuminate\Console\Command;
+use Log;
+
+class AutoRemoveDisabledUserLabelsJob extends Command
+{
+    protected $signature = 'autoRemoveDisabledUserLabelsJob';
+    protected $description = '自动移除被禁用用户的标签';
+
+    public function __construct()
+    {
+        parent::__construct();
+    }
+
+    public function handle()
+    {
+        $userList = User::query()->where('enable', 0)->get();
+        if (!$userList->isEmpty()) {
+            foreach ($userList as $user) {
+                // 账号被禁用,则删除所有标签
+                UserLabel::query()->where('user_id', $user->id)->delete();
+            }
+        }
+
+        Log::info('定时任务:' . $this->description);
+    }
+}

+ 2 - 0
app/Console/Kernel.php

@@ -24,6 +24,7 @@ class Kernel extends ConsoleKernel
         \App\Console\Commands\AutoExpireCouponJob::class,
         \App\Console\Commands\AutoExpireInviteJob::class,
         \App\Console\Commands\AutoReleasePortJob::class,
+        \App\Console\Commands\AutoRemoveDisabledUserLabelsJob::class,
         \App\Console\Commands\AutoReopenUserJob::class,
         \App\Console\Commands\AutoResetUserTrafficJob::class,
         \App\Console\Commands\AutoStatisticsNodeDailyTrafficJob::class,
@@ -52,6 +53,7 @@ class Kernel extends ConsoleKernel
         $schedule->command('autoDisableUserJob')->everyMinute();
         $schedule->command('autoExpireCouponJob')->everyThirtyMinutes();
         $schedule->command('autoExpireInviteJob')->everyThirtyMinutes();
+        $schedule->command('autoRemoveDisabledUserLabelsJob')->everyMinute();
         $schedule->command('autoReleasePortJob')->everyMinute();
         $schedule->command('autoReopenUserJob')->everyMinute();
         $schedule->command('autoResetUserTrafficJob')->everyFiveMinutes();

+ 3 - 1
app/Http/Controllers/UserController.php

@@ -898,7 +898,7 @@ class UserController extends Controller
                     $couponLog->save();
                 }
 
-                // 如果买的是套餐,则先将之前购买的所有套餐置都无效,并扣掉之前所有套餐的流量
+                // 如果买的是套餐,则先将之前购买的所有套餐置都无效,并扣掉之前所有套餐的流量,并移除之前所有套餐的标签
                 if ($goods->type == 2) {
                     $existOrderList = Order::query()->with('goods')->whereHas('goods', function ($q) {
                         $q->where('type', 2);
@@ -906,6 +906,8 @@ class UserController extends Controller
                     foreach ($existOrderList as $vo) {
                         Order::query()->where('oid', $vo->oid)->update(['is_expire' => 1]);
                         User::query()->where('id', $user->id)->decrement('transfer_enable', $vo->goods->traffic * 1048576);
+
+                        //todo:移除之前套餐的标签(需要注意:有些套餐和流量包用同一个标签,所以移除完套餐的标签后需要补齐流量包的标签)
                     }
 
                     // 重置已用流量

+ 16 - 14
resources/lang/en/home.php

@@ -63,17 +63,17 @@ return [
     'pay'                             => 'Pay Now',
 
     // 用户资料
-    'submit'                          => 'submit',
-    'contact'                         => 'contact',
-    'ssr_setting'                     => 'SSR setting',
-    'password'                        => 'password',
-    'new_password'                    => 'new password',
-    'current_password'                => 'current password',
-    'wechat'                          => 'wechat',
-    'connection_password'             => 'connection password',
-    'encrpytion'                      => 'encrpytion',
-    'protocal'                        => 'protocal',
-    'obfs'                            => 'obfs',
+    'submit'                          => 'Submit',
+    'contact'                         => 'Contact',
+    'ssr_setting'                     => 'Proxy Setting',
+    'password'                        => 'Password',
+    'new_password'                    => 'New Password',
+    'current_password'                => 'Current Password',
+    'wechat'                          => 'Wechat',
+    'connection_password'             => 'Connection Password',
+    'encrpytion'                      => 'Encrpytion',
+    'protocal'                        => 'Protocal',
+    'obfs'                            => 'OBFS',
 
     // 购买服务
     'service_title'                   => 'Services',
@@ -92,11 +92,13 @@ return [
     'day'                             => 'days',
     'coupon'                          => 'Coupon',
     'redeem_coupon'                   => 'Redeem',
+    'service_type_1'                  => 'Flow Packet',
+    'service_type_2'                  => 'Flow Plans',
 
     // 流量日志
-    'traffic_log_tips'                => 'Tips: the flow statistics in 30 days will not be counted at the present day, and the flow statistics in 24 hours will not be counted at the present hour.',
-    'traffic_log_30days'              => '30Days Statistics',
-    'traffic_log_24hours'             => '24Hours Statistics',
+    'traffic_log_tips'                => 'Tips: The update of the flow chart will be delayed. The chart is updated on the following day, and the hourly chart is updated at the next hour.',
+    'traffic_log_30days'              => '30 Days Statistics',
+    'traffic_log_24hours'             => '24 Hours Statistics',
     'traffic_log_keywords'            => 'Bandwidth',
     'traffic_log_unit'                => 'unit: M',
     'traffic_log_max'                 => 'Max',

+ 5 - 3
resources/lang/ja/home.php

@@ -92,11 +92,13 @@ return [
     'day'                             => '日',
     'coupon'                          => 'クーポン券',
     'redeem_coupon'                   => '使用する',
+    'service_type_1'                  => '流量包',
+    'service_type_2'                  => 'コース',
 
     // 流量日志
-    'traffic_log_tips'                => 'ヒント:30日のデータ通信量統計は当日、24時間内のデータ通信量統計が現在の時間を統計していない。',
-    'traffic_log_30days'              => '30日内のデータ通信量消耗',
-    'traffic_log_24hours'             => '24時間内のデータ通信量消耗',
+    'traffic_log_tips'                => 'ヒント:流量統計図更新は遅延がある。日の統計図を押すと翌日に更新され、時間統計図で次の時間に更新されます。',
+    'traffic_log_30days'              => '30 日内のデータ通信量消耗',
+    'traffic_log_24hours'             => '24 時間内のデータ通信量消耗',
     'traffic_log_keywords'            => 'データ通信量消耗',
     'traffic_log_unit'                => '単位/M',
     'traffic_log_max'                 => '最大値',

+ 5 - 3
resources/lang/ko/home.php

@@ -90,11 +90,13 @@ return [
     'day'                             => '일',
     'coupon'                          => '할인권',
     'redeem_coupon'                   => '사용',
+    'service_type_1'                  => '유량용 가방',
+    'service_type_2'                  => '세트',
 
     // 流量日志
-    'traffic_log_tips'                => '주의하다:30일내의트래픽은당일을 통계안하면,24간내의트래픅은현재시간은 통계안합니다。',
-    'traffic_log_30days'              => '30일트래픽 사용현황',
-    'traffic_log_24hours'             => '24간트패픽 사용현환',
+    'traffic_log_tips'                => '주의하다:유량 통계도 갱신 지연.천인 통계도로는 이튿날 갱신하며 시간별로 통계도가 1 시간에 갱신한다.',
+    'traffic_log_30days'              => '30 일트래픽 사용현황',
+    'traffic_log_24hours'             => '24 간트패픽 사용현환',
     'traffic_log_keywords'            => '사용된트래픽',
     'traffic_log_unit'                => '단위M',
     'traffic_log_max'                 => '최대치',

+ 1 - 1
resources/lang/zh-CN/active.php

@@ -2,7 +2,7 @@
 
 return [
     'title'                => '激活账号',
-    'login_button'         => '登 ',
+    'login_button'         => '登 ',
     'username_placeholder' => '请输入用户名',
     'tips'                 => '系统维护中,如需激活账号请联系管理员',
     'back'                 => '返 回',

+ 44 - 42
resources/lang/zh-CN/home.php

@@ -3,61 +3,61 @@
 return [
     'panel'                           => '控制面板',
     'subscribe_address'               => '我的订阅地址',
-    'copy_subscribe_address'          => '复制地址',
-    'exchange_subscribe'              => '更换地址',
-    'subscribe_warning'               => '警告:该订阅地址仅限个人使用,请勿传播该地址,否则会导致您的账号流量异常。',
+    'copy_subscribe_address'          => '复制',
+    'exchange_subscribe'              => '更换',
+    'subscribe_warning'               => '注意:该订阅地址仅限个人使用,请勿传播该地址,这会导致您的账号流量使用情况异常。',
     'reset_password_title'            => '重置密码',
     'system_down'                     => '系统维护中',
-    'subscribe_baned'                 => '您的订阅功能已被封禁,请联系管理员',
+    'subscribe_baned'                 => '您的订阅功能被暂时禁用,请联系管理员恢复',
 
     // 菜单
-    'home'                            => '首页',
+    'home'                            => '我的节点',
     'services'                        => '购买服务',
-    'traffic_log'                     => '流量日志',
+    'traffic_log'                     => '流量记录',
     'invite_code'                     => '邀请码',
-    'invoices'                        => '消费记录',
-    'tickets'                         => '我的工单',
+    'invoices'                        => '我的账单',
+    'tickets'                         => '服务单',
     'referrals'                       => '推广返利',
     'free_invite_codes_title'         => '免费邀请码',
-    'no_need_invite_codes'            => '系统开放注册中,无需邀请码',
+    'no_need_invite_codes'            => '现在无需邀请码,即可注册',
 
     // 首页
-    'ratio_tips'                      => '节点订阅服务:客户端可自动同步更新节点信息。',
-    'subscribe_button'                => '点此显示订阅地址',
+    'ratio_tips'                      => '推荐使用支持节点订阅的代理客户端,只需填写一次,即可快捷方便的在客户端设置和同步节点信息。',
+    'subscribe_button'                => '获取订阅地址',
     'account_info'                    => '账号信息',
     'account_level'                   => '等级',
     'account_balance'                 => '账户余额',
     'account_score'                   => '积分',
     'account_status'                  => '状态',
     'account_expire'                  => '有效期至',
-    'account_last_usage'              => '最使用',
-    'account_last_login'              => '最后登录',
+    'account_last_usage'              => '最使用',
+    'account_last_login'              => '最近登入',
     'account_bandwidth_usage'         => '已用流量',
     'account_total_traffic'           => '共计',
     'account_usage_traffic'           => '已使用',
-    'account_reset_notice'            => '每月:reset_day日自动重置流量',
+    'account_reset_notice'            => '每月:reset_day日重置',
     'article_title'                   => '文章',
     'recharge'                        => '充值',
     'enabled'                         => '正常',
     'disabled'                        => '禁用',
     'never_used'                      => '从未使用',
     'expired'                         => '已过期',
-    'never_loggedin'                  => '从未登',
+    'never_loggedin'                  => '从未登',
     'announcement'                    => '公告',
     'recharge_balance'                => '余额充值',
     'payment_method'                  => '充值方式',
-    'close'                           => '关闭',
+    'close'                           => '取消',
     'redeem_score'                    => '兑换流量',
     'redeem'                          => '立即兑换',
-    'redeem_info'                     => '您有 :score 积分,共计可兑换 :scoreM 免费流量。',
-    'coupon_code'                     => '券码',
-    'please_input_coupon'             => '请输入券码',
+    'redeem_info'                     => '您有 :score 积分,可兑换 :scoreM 免费流量。',
+    'coupon_code'                     => '优惠券码',
+    'please_input_coupon'             => '请输入优惠券码',
     'scan_qrcode'                     => '请使用客户端扫描二维码',
     'setting_info'                    => '配置信息',
     'ratio'                           => '结算比例',
-    'coupon_not_empty'                => '券码不能为空',
+    'coupon_not_empty'                => '优惠券码不能为空',
     'recharging'                      => '充值中...',
-    'error_response'                  => '请求错误,请重试',
+    'error_response'                  => '出现了错误,请稍后再试。',
     'error'                           => '错误',
     'online_pay'                      => '在线支付',
     'pay'                             => '支付',
@@ -65,18 +65,18 @@ return [
     // 用户资料
     'submit'                          => '提 交',
     'contact'                         => '联系方式',
-    'ssr_setting'                     => 'SSR(R)设置',
-    'password'                        => '登陆密码',
+    'ssr_setting'                     => '代理设置',
+    'password'                        => '用户密码',
     'new_password'                    => '新密码',
-    'current_password'                => '密码',
+    'current_password'                => '现有的密码',
     'wechat'                          => '微信',
     'connection_password'             => '连接密码',
     'encrpytion'                      => '加密方式',
-    'protocal'                        => '协议',
-    'obfs'                            => '混淆',
+    'protocal'                        => '协议插件',
+    'obfs'                            => '混淆插件',
 
     // 购买服务
-    'service_title'                   => '购买服务',
+    'service_title'                   => '商店',
     'service_name'                    => '服务',
     'service_desc'                    => '描述',
     'service_type'                    => '类型',
@@ -92,14 +92,16 @@ return [
     'day'                             => '天',
     'coupon'                          => '优惠券',
     'redeem_coupon'                   => '使用',
+    'service_type_1'                  => '流量包',
+    'service_type_2'                  => '套餐',
 
     // 流量日志
-    'traffic_log_tips'                => '提示:30日内流量统计不会统计当天,24小时内流量统计不会统计当前小时。',
-    'traffic_log_30days'              => '30日内流量消耗情况',
-    'traffic_log_24hours'             => '24小时内流量消耗情况',
-    'traffic_log_keywords'            => '消耗流量',
-    'traffic_log_unit'                => '单位M',
-    'traffic_log_max'                 => '最大值',
+    'traffic_log_tips'                => '提示:流量统计图更新会有延迟。按天统计图在次日更新,按小时统计图在次小时更新。',
+    'traffic_log_30days'              => '最近 30 天的流量使用情况',
+    'traffic_log_24hours'             => '最近 24 小时的流量使用情况',
+    'traffic_log_keywords'            => '使用流量',
+    'traffic_log_unit'                => '单位 / MB',
+    'traffic_log_max'                 => '使用高峰',
 
     // 邀请码
     'invite_code_make'                => '生成邀请码',
@@ -132,15 +134,15 @@ return [
     'invoice_table_expired'           => '已过期',
 
     // 工单
-    'ticket_title'                    => '我的单',
+    'ticket_title'                    => '我的服务单',
     'ticket_table_title'              => '标题',
     'ticket_table_status'             => '状态',
     'ticket_table_none'               => '暂无数据',
     'ticket_table_status_wait'        => '待处理',
     'ticket_table_status_reply'       => '已回复',
     'ticket_table_status_close'       => '已关闭',
-    'ticket_table_new_button'         => '发起单',
-    'ticket_table_new_desc'           => '请填写您的问题,如果图片请提交工单后在回复处上传图片',
+    'ticket_table_new_button'         => '发起服务单',
+    'ticket_table_new_desc'           => '在这里填写您的情况,图片可以在服务单提交后上传',
     'ticket_table_new_cancel'         => '取消',
     'ticket_table_new_yes'            => '提交',
     'ticket_reply_me'                 => '我',
@@ -149,7 +151,7 @@ return [
 
     // 推广返利
     'referral_title'                  => '我的推广',
-    'referral_button'                 => '复制链接',
+    'referral_button'                 => '复制',
     'referral_my_link'                => '我的推广链接',
     'referral_table_user'             => '消费者',
     'referral_table_amount'           => '消费金额',
@@ -157,10 +159,10 @@ return [
     'referral_table_status'           => '状态',
     'referral_table_date'             => '返利时间',
     'referral_table_none'             => '暂无数据',
-    'referral_table_apply'            => '申请提现',
-    'referral_summary'                => '共 :total 条记录,合计返利 :amount 元,满 :money 元可申请提现。',
+    'referral_table_apply'            => '提现',
+    'referral_summary'                => '合计返利 :amount 元( :total 次),满 :money 元可申请提现。',
     'console'                         => '管理中心',
-    'profile'                         => '个人资料',
-    'logout'                          => '退出',
-    'promote'                         => '通过您的推广链接注册并激活的用户可获得 :traffic 流量奖励,同时您也可以获得 :traffic 流量奖励;当他们消费时,您可以获得他们每笔消费金额的 :referral_percent% 作为奖励。',
+    'profile'                         => '个人设置',
+    'logout'                          => '退出登入',
+    'promote'                         => '通过您的推广链接注册并激活,您和新用户都会获得 :traffic 流量奖励;当他们消费时,您将获得他们消费金额的 :referral_percent% 作为奖励。',
 ];

+ 2 - 2
resources/lang/zh-CN/login.php

@@ -1,13 +1,13 @@
 <?php
 
 return [
-    'title'           => '登',
+    'title'           => '登',
     'tips'            => '请输入用户名和密码',
     'username'        => '用户名',
     'password'        => '密码',
     'captcha'         => '验证码',
     'remember'        => '记住我',
     'forget_password' => '忘记密码',
-    'login'           => '登 ',
+    'login'           => '登 ',
     'register'        => '注 册',
 ];

+ 7 - 0
resources/lang/zh-tw/404.php

@@ -0,0 +1,7 @@
+<?php
+
+return [
+    'title' => '頁面不存在',
+    'back'  => '返 回',
+    'tips'  => '如果發現BUG請提交到',
+];

+ 10 - 0
resources/lang/zh-tw/active.php

@@ -0,0 +1,10 @@
+<?php
+
+return [
+    'title'                => '啟動帳號',
+    'login_button'         => '登 入',
+    'username_placeholder' => '請輸入用戶名',
+    'tips'                 => '系統維護中,如需啟動帳號請聯系管理員',
+    'back'                 => '返 回',
+    'submit'               => '啟 動',
+];

+ 168 - 0
resources/lang/zh-tw/home.php

@@ -0,0 +1,168 @@
+<?php
+
+return [
+    'panel'                           => '控制台',
+    'subscribe_address'               => '我的訂閱地址',
+    'copy_subscribe_address'          => '複製',
+    'exchange_subscribe'              => '更換',
+    'subscribe_warning'               => '注意:該訂閱地址僅限個人使用,請勿傳播該地址,這會導致您的帳號流量使用情况异常。',
+    'reset_password_title'            => '重置密碼',
+    'system_down'                     => '系統維護中',
+    'subscribe_baned'                 => '您的訂閱功能被暫時禁用,請聯系管理員恢復',
+
+    // 菜单
+    'home'                            => '我的節點',
+    'services'                        => '購買服務',
+    'traffic_log'                     => '流量記錄',
+    'invite_code'                     => '邀請碼',
+    'invoices'                        => '我的帳單',
+    'tickets'                         => '服務單',
+    'referrals'                       => '推廣返利',
+    'free_invite_codes_title'         => '免費邀請碼',
+    'no_need_invite_codes'            => '現在無需邀請碼,即可注册',
+
+    // 首页
+    'ratio_tips'                      => '推薦使用支持節點訂閱的代理用戶端,只需填寫一次,即可快捷方便的在用戶端設定和同步節點資訊。',
+    'subscribe_button'                => '獲取訂閱地址',
+    'account_info'                    => '帳號資訊',
+    'account_level'                   => '等級',
+    'account_balance'                 => '帳戶餘額',
+    'account_score'                   => '積分',
+    'account_status'                  => '狀態',
+    'account_expire'                  => '有效期至',
+    'account_last_usage'              => '最近使用',
+    'account_last_login'              => '最近登入',
+    'account_bandwidth_usage'         => '已用流量',
+    'account_total_traffic'           => '共計',
+    'account_usage_traffic'           => '已使用',
+    'account_reset_notice'            => '每月:reset_day日重置',
+    'article_title'                   => '文章',
+    'recharge'                        => '充值',
+    'enabled'                         => '正常',
+    'disabled'                        => '禁用',
+    'never_used'                      => '從未使用',
+    'expired'                         => '已過期',
+    'never_loggedin'                  => '從未登入',
+    'announcement'                    => '公告',
+    'recharge_balance'                => '餘額充值',
+    'payment_method'                  => '充值管道',
+    'close'                           => '取消',
+    'redeem_score'                    => '兌換流量',
+    'redeem'                          => '立即兌換',
+    'redeem_info'                     => '您有:score積分,可兌換:scoreM免費流量。',
+    'coupon_code'                     => '優惠券碼',
+    'please_input_coupon'             => '請輸入優惠券碼',
+    'scan_qrcode'                     => '請使用用戶端掃描二維碼',
+    'setting_info'                    => '配寘資訊',
+    'ratio'                           => '結算比例',
+    'coupon_not_empty'                => '優惠券碼不能為空',
+    'recharging'                      => '充值中...',
+    'error_response'                  => '出現了錯誤,請稍後再試。',
+    'error'                           => '錯誤',
+    'online_pay'                      => '線上支付',
+    'pay'                             => '支付',
+
+    // 用户资料
+    'submit'                          => '提 交',
+    'contact'                         => '聯繫方式',
+    'ssr_setting'                     => '代理設定',
+    'password'                        => '使用者密碼',
+    'new_password'                    => '新密碼',
+    'current_password'                => '現有的密碼',
+    'wechat'                          => '微信',
+    'connection_password'             => '連接密碼',
+    'encrpytion'                      => '加密管道',
+    'protocal'                        => '協定挿件',
+    'obfs'                            => '混淆挿件',
+
+    // 购买服务
+    'service_title'                   => '商店',
+    'service_name'                    => '服務',
+    'service_desc'                    => '描述',
+    'service_type'                    => '類型',
+    'service_price'                   => '售價',
+    'service_quantity'                => '數量',
+    'service_subtotal_price'          => '小計',
+    'service_total_price'             => '合計',
+    'service_pay_button'              => '餘額支付',
+    'services_none'                   => '暫無可用服務',
+    'service_traffic'                 => '内含流量',
+    'service_days'                    => '有效期',
+    'service_buy_button'              => '購買',
+    'day'                             => '天',
+    'coupon'                          => '優惠券',
+    'redeem_coupon'                   => '使用',
+    'service_type_1'                  => '流量包',
+    'service_type_2'                  => '套餐',
+
+    // 流量日志
+    'traffic_log_tips'                => '提示:流量統計圖更新會有延遲。按天統計圖在次日更新,按小時統計圖在次小時更新。',
+    'traffic_log_30days'              => '最近 30 天的流量使用情况',
+    'traffic_log_24hours'             => '最近 24 小時的流量使用情况',
+    'traffic_log_keywords'            => '使用流量',
+    'traffic_log_unit'                => '組織 / MB',
+    'traffic_log_max'                 => '使用高峰',
+
+    // 邀请码
+    'invite_code_make'                => '生成邀請碼',
+    'invite_code_button'              => '生成',
+    'invite_code_tips1'               => '可生成',
+    'invite_code_tips2'               => '个邀請碼',
+    'invite_code_my_codes'            => '我的邀請碼',
+    'invite_code_table_name'          => '邀請碼',
+    'invite_code_table_date'          => '有效期',
+    'invite_code_table_user'          => '使用者',
+    'invite_code_table_status'        => '狀態',
+    'invite_code_table_none_codes'    => '暫無數據',
+    'invite_code_table_status_un'     => '未使用',
+    'invite_code_table_status_yes'    => '已使用',
+    'invite_code_table_status_expire' => '已過期',
+    'invite_code_summary'             => '共 :total 个邀請碼',
+
+    // 单据
+    'invoice_title'                   => '消費記錄',
+    'invoice_table_id'                => '編號',
+    'invoice_table_name'              => '服務',
+    'invoice_table_price'             => '金額',
+    'invoice_table_create_date'       => '購買日期',
+    'invoice_table_status'            => '狀態',
+    'invoice_table_none'              => '暫無數據',
+    'invoice_table_closed'            => '關閉',
+    'invoice_table_wait_payment'      => '待付款',
+    'invoice_table_wait_confirm'      => '待確認',
+    'invoice_table_wait_active'       => '使用中',
+    'invoice_table_expired'           => '已過期',
+
+    // 工单
+    'ticket_title'                    => '我的服務單',
+    'ticket_table_title'              => '標題',
+    'ticket_table_status'             => '狀態',
+    'ticket_table_none'               => '暫無數據',
+    'ticket_table_status_wait'        => '待處理',
+    'ticket_table_status_reply'       => '已回復',
+    'ticket_table_status_close'       => '已關閉',
+    'ticket_table_new_button'         => '發起服務單',
+    'ticket_table_new_desc'           => '在這裡填寫您的情况,圖片可以在服務單提交後上傳',
+    'ticket_table_new_cancel'         => '取消',
+    'ticket_table_new_yes'            => '提交',
+    'ticket_reply_me'                 => '我',
+    'ticket_reply_master'             => '管理員',
+    'ticket_reply_button'             => '回復',
+
+    // 推广返利
+    'referral_title'                  => '我的推廣',
+    'referral_button'                 => '複製',
+    'referral_my_link'                => '我的推廣連結',
+    'referral_table_user'             => '消費者',
+    'referral_table_amount'           => '消費金額',
+    'referral_table_commission'       => '返利金額',
+    'referral_table_status'           => '狀態',
+    'referral_table_date'             => '返利時間',
+    'referral_table_none'             => '暫無數據',
+    'referral_table_apply'            => '提現',
+    'referral_summary'                => '合計返利:amount元(:total次),滿:money元可以申請提現。',
+    'console'                         => '管理中心',
+    'profile'                         => '個人設置',
+    'logout'                          => '登出',
+    'promote'                         => '通過您的推廣連結注册並啟動,您和新用戶都會獲得:traffic流量獎勵;當他們消費時,您將獲得他們消費金額的:referral_percent%作為獎勵。',
+];

+ 13 - 0
resources/lang/zh-tw/login.php

@@ -0,0 +1,13 @@
+<?php
+
+return [
+    'title'           => '登入',
+    'tips'            => '請輸入用戶名和密碼',
+    'username'        => '用戶名',
+    'password'        => '密碼',
+    'captcha'         => '驗證碼',
+    'remember'        => '記住我',
+    'forget_password' => '忘記密碼',
+    'login'           => '登 入',
+    'register'        => '注 册',
+];

+ 19 - 0
resources/lang/zh-tw/register.php

@@ -0,0 +1,19 @@
+<?php
+
+return [
+    'title'                => '注册',
+    'username'             => '用戶名',
+    'username_placeholder' => '請填入郵箱',
+    'password'             => '請填入密碼',
+    'retype_password'      => '請再次填入密碼',
+    'code'                 => '邀請碼',
+    'captcha'              => '驗證碼',
+    'tnc_button'           => '我已閱讀並同意遵守',
+    'tnc_link'             => '服務條款',
+    'register_alter'       => '系統維護中',
+    'get_free_code'        => '獲取免費邀請碼',
+    'back'                 => '返 回',
+    'submit'               => '提 交',
+    'tnc_title'            => '我已完整閱讀,並承諾遵守',
+    'tnc_content'          => '不得通過本站提供的服務發佈、轉載、傳送含有下列內容之一的資訊:<br>1.違反憲法確定的基本原則的;<br>2.危害國家安全,洩漏國家機密,顛覆國家政權,破壞國家統一的;<br>3.損害國家榮譽和利益的;<br>4.煽動民族仇恨、民族歧視,破壞民族團結的;<br>5.破壞國家宗教政策,宣揚邪教和封建迷信的;<br>6.散佈謠言,擾亂社會秩序,破壞社會穩定的;<br>7.散佈淫穢、色情、賭博、暴力、恐怖或者教唆犯罪的;<br>8.侮辱或者誹謗他人,侵害他人合法權益的;<br>9.煽動非法集會、結社、遊行、示威、聚眾擾亂社會秩序的;<br>10.以非法民間組織名義活動的;<br>11.含有法律、行政法規禁止的其他內容的。',
+];

+ 1 - 1
resources/views/admin/layouts.blade.php

@@ -68,7 +68,7 @@
                                 <a href="{{url('/user')}}"> <i class="icon-home"></i> 个人中心 </a>
                             </li>
                             <li>
-                                <a href="{{url('admin/profile')}}"> <i class="icon-user"></i> 个人资料 </a>
+                                <a href="{{url('admin/profile')}}"> <i class="icon-user"></i> 个人设置 </a>
                             </li>
                             <li>
                                 <a href="{{url('logout')}}"> <i class="icon-key"></i> 退出 </a>

+ 12 - 3
resources/views/login.blade.php

@@ -39,19 +39,28 @@
 <div class="content">
     <nav style="padding-bottom: 20px;text-align: center;">
         @if(app()->getLocale() == 'zh-CN')
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
+            <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
+            <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
+            <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
+        @elseif(app()->getLocale() == 'zh-tw')
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
             <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
             <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
             <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
         @elseif(app()->getLocale() == 'en')
-            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
             <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
             <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
         @elseif(app()->getLocale() == 'ko')
-            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
             <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
             <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
         @elseif(app()->getLocale() == 'ja')
-            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
             <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
             <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
         @else

+ 12 - 3
resources/views/register.blade.php

@@ -39,19 +39,28 @@
 <div class="content">
     <nav style="padding-bottom: 20px;text-align: center;">
         @if(app()->getLocale() == 'zh-CN')
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
+            <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
+            <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
+            <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
+        @elseif(app()->getLocale() == 'zh-tw')
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
             <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
             <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
             <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
         @elseif(app()->getLocale() == 'en')
-            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
             <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
             <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
         @elseif(app()->getLocale() == 'ko')
-            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
             <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
             <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
         @elseif(app()->getLocale() == 'ja')
-            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
             <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
             <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
         @else

+ 12 - 3
resources/views/user/active.blade.php

@@ -39,19 +39,28 @@
 <div class="content">
     <nav style="padding-bottom: 20px;text-align: center;">
         @if(app()->getLocale() == 'zh-CN')
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
+            <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
+            <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
+            <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
+        @elseif(app()->getLocale() == 'zh-tw')
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
             <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
             <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
             <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
         @elseif(app()->getLocale() == 'en')
-            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
             <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
             <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
         @elseif(app()->getLocale() == 'ko')
-            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
             <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
             <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
         @elseif(app()->getLocale() == 'ja')
-            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
             <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
             <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
         @else

+ 12 - 3
resources/views/user/activeUser.blade.php

@@ -39,19 +39,28 @@
 <div class="content">
     <nav style="padding-bottom: 20px;text-align: center;">
         @if(app()->getLocale() == 'zh-CN')
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
+            <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
+            <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
+            <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
+        @elseif(app()->getLocale() == 'zh-tw')
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
             <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
             <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
             <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
         @elseif(app()->getLocale() == 'en')
-            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
             <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
             <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
         @elseif(app()->getLocale() == 'ko')
-            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
             <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
             <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
         @elseif(app()->getLocale() == 'ja')
-            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
             <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
             <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
         @else

+ 1 - 1
resources/views/user/goodsList.blade.php

@@ -47,7 +47,7 @@
                                                 <span style="color: #000;">{{trans('home.service_days')}}:{{$goods->days}} {{trans('home.day')}}</span>
                                             </td>
                                             <td style="width: 20%; text-align: center;"> {{$goods->desc}} </td>
-                                            <td style="width: 20%; text-align: center;"> {{$goods->type == '1' ? '流量包' : '套餐'}} </td>
+                                            <td style="width: 20%; text-align: center;"> {{$goods->type == '1' ? trans('home.service_type_1') : trans('home.service_type_2')}} </td>
                                             <td style="width: 20%; text-align: center;"> ¥{{$goods->price}} </td>
                                             <td style="width: 20%; text-align: center;">
                                                 <a href="javascript:buy('{{$goods->id}}');" class="btn blue"> {{trans('home.service_buy_button')}} </a>

+ 8 - 2
resources/views/user/index.blade.php

@@ -188,10 +188,16 @@
                     <div class="modal-content">
                         <div class="modal-header">
                             <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
-                            <h4 class="modal-title">Scheme Links</h4>
+                            <h4 class="modal-title">Scheme Links - {{$node->name}}</h4>
                         </div>
                         <div class="modal-body">
-                            <textarea class="form-control" rows="10" readonly="readonly">{{$node->ssr_scheme}}{{$node->ss_scheme ? "\n\n".$node->ss_scheme : ''}}</textarea>
+                            <textarea class="form-control" rows="5" readonly="readonly">{{$node->ssr_scheme}}</textarea>
+                            <a href="{{$node->ssr_scheme}}" class="btn purple uppercase" style="display: block; width: 100%;margin-top: 10px;">打开SSR</a>
+                            @if($node->ss_scheme)
+                            <p></p>
+                            <textarea class="form-control" rows="3" readonly="readonly">{{$node->ss_scheme}}</textarea>
+                            <a href="{{$node->ss_scheme}}" class="btn blue uppercase" style="display: block; width: 100%;margin-top: 10px;">打开SS</a>
+                            @endif
                         </div>
                     </div>
                 </div>

+ 6 - 6
resources/views/user/layouts.blade.php

@@ -114,12 +114,6 @@
                         <span class="selected"></span>
                     </a>
                 </li>
-                <li class="nav-item {{in_array(Request::path(), ['user/invite']) ? 'active open' : ''}}">
-                    <a href="{{url('user/invite')}}" class="nav-link nav-toggle">
-                        <i class="icon-user-follow"></i>
-                        <span class="title">{{trans('home.invite_code')}}</span>
-                    </a>
-                </li>
                 <li class="nav-item {{in_array(Request::path(), ['user/goodsList', 'user/addOrder']) || Request::segment(1) == 'payment' ? 'active open' : ''}}">
                     <a href="{{url('user/goodsList')}}" class="nav-link nav-toggle">
                         <i class="icon-basket"></i>
@@ -138,6 +132,12 @@
                         <span class="title">{{trans('home.tickets')}}</span>
                     </a>
                 </li>
+                <li class="nav-item {{in_array(Request::path(), ['user/invite']) ? 'active open' : ''}}">
+                    <a href="{{url('user/invite')}}" class="nav-link nav-toggle">
+                        <i class="icon-user-follow"></i>
+                        <span class="title">{{trans('home.invite_code')}}</span>
+                    </a>
+                </li>
                 <li class="nav-item {{in_array(Request::path(), ['user/trafficLog']) ? 'active open' : ''}}">
                     <a href="{{url('user/trafficLog')}}" class="nav-link nav-toggle">
                         <i class="icon-speedometer"></i>

+ 12 - 3
resources/views/user/reset.blade.php

@@ -39,19 +39,28 @@
 <div class="content">
     <nav style="padding-bottom: 20px;text-align: center;">
         @if(app()->getLocale() == 'zh-CN')
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
+            <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
+            <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
+            <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
+        @elseif(app()->getLocale() == 'zh-tw')
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
             <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
             <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
             <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
         @elseif(app()->getLocale() == 'en')
-            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
             <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
             <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
         @elseif(app()->getLocale() == 'ko')
-            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
             <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
             <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
         @elseif(app()->getLocale() == 'ja')
-            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
             <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
             <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
         @else

+ 12 - 3
resources/views/user/resetPassword.blade.php

@@ -39,19 +39,28 @@
 <div class="content">
     <nav style="padding-bottom: 20px;text-align: center;">
         @if(app()->getLocale() == 'zh-CN')
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
+            <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
+            <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
+            <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
+        @elseif(app()->getLocale() == 'zh-tw')
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
             <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
             <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
             <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
         @elseif(app()->getLocale() == 'en')
-            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
             <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
             <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
         @elseif(app()->getLocale() == 'ko')
-            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
             <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
             <a href="{{url('lang', ['locale' => 'ja'])}}">日本語</a>
         @elseif(app()->getLocale() == 'ja')
-            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-CN'])}}">简体中文</a>
+            <a href="{{url('lang', ['locale' => 'zh-tw'])}}">繁體中文</a>
             <a href="{{url('lang', ['locale' => 'en'])}}">English</a>
             <a href="{{url('lang', ['locale' => 'ko'])}}">한국어</a>
         @else