mirror of
				https://github.com/v2board/v2board.git
				synced 2025-10-31 17:31:49 +08:00 
			
		
		
		
	update
This commit is contained in:
		| @@ -150,7 +150,6 @@ class ClientController extends Controller | ||||
|     private function clash($user, $server) | ||||
|     { | ||||
|         $proxy = []; | ||||
|         $proxyGroup = []; | ||||
|         $proxies = []; | ||||
|         $rules = []; | ||||
|         foreach ($server as $item) { | ||||
| @@ -180,28 +179,80 @@ class ClientController extends Controller | ||||
|             array_push($proxies, $item->name); | ||||
|         } | ||||
|  | ||||
|         array_push($proxyGroup, [ | ||||
|             'name' => 'auto', | ||||
|             'type' => 'url-test', | ||||
|             'proxies' => $proxies, | ||||
|             'url' => 'https://www.bing.com', | ||||
|             'interval' => 300 | ||||
|         ]); | ||||
|         array_push($proxyGroup, [ | ||||
|             'name' => 'fallback-auto', | ||||
|             'type' => 'fallback', | ||||
|             'proxies' => $proxies, | ||||
|             'url' => 'https://www.bing.com', | ||||
|             'interval' => 300 | ||||
|         ]); | ||||
|         array_push($proxyGroup, [ | ||||
|             'name' => 'select', | ||||
|             'type' => 'select', | ||||
|             'proxies' => array_merge($proxies, [ | ||||
|                 'auto', | ||||
|                 'fallback-auto' | ||||
|             ]) | ||||
|         ]); | ||||
|         $proxyGroup = [ | ||||
|             [ | ||||
|                 'name' => '🔰 节点选择', | ||||
|                 'type' => 'select', | ||||
|                 'proxies' => array_merge([ | ||||
|                     '♻️ 自动选择', | ||||
|                     '🎯 全球直连' | ||||
|                 ], $proxies) | ||||
|             ], [ | ||||
|                 'name' => '♻️ 自动选择', | ||||
|                 'type' => 'url-test', | ||||
|                 'url' => 'http://www.gstatic.com/generate_204', | ||||
|                 'interval' => 300, | ||||
|                 'proxies' => $proxies | ||||
|             ], [ | ||||
|                 'name' => '🌍 国外媒体', | ||||
|                 'type' => 'select', | ||||
|                 'proxies' => array_merge([ | ||||
|                     '🔰 节点选择', | ||||
|                     '♻️ 自动选择', | ||||
|                     '🎯 全球直连' | ||||
|                 ], $proxies) | ||||
|             ], [ | ||||
|                 'name' => '🌏 国内媒体', | ||||
|                 'type' => 'select', | ||||
|                 'proxies' => array_merge([ | ||||
|                     '🎯 全球直连', | ||||
|                     '🔰 节点选择' | ||||
|                 ], $proxies) | ||||
|             ], [ | ||||
|                 'name' => 'Ⓜ️ 微软服务', | ||||
|                 'type' => 'select', | ||||
|                 'proxies' => array_merge([ | ||||
|                     '🎯 全球直连', | ||||
|                     '🔰 节点选择' | ||||
|                 ], $proxies) | ||||
|             ], [ | ||||
|                 'name' => '📲 电报信息', | ||||
|                 'type' => 'select', | ||||
|                 'proxies' => array_merge([ | ||||
|                     '🎯 全球直连', | ||||
|                     '🔰 节点选择' | ||||
|                 ], $proxies) | ||||
|             ], [ | ||||
|                 'name' => '🍎 苹果服务', | ||||
|                 'type' => 'select', | ||||
|                 'proxies' => array_merge([ | ||||
|                     '🔰 节点选择', | ||||
|                     '♻️ 自动选择', | ||||
|                     '🎯 全球直连' | ||||
|                 ], $proxies) | ||||
|             ], [ | ||||
|                 'name' => '🎯 全球直连', | ||||
|                 'type' => 'select', | ||||
|                 'proxies' => [ | ||||
|                     'DIRECT' | ||||
|                 ] | ||||
|             ], [ | ||||
|                 'name' => '🛑 全球拦截', | ||||
|                 'type' => 'select', | ||||
|                 'proxies' => [ | ||||
|                     'REJECT', | ||||
|                     'DIRECT' | ||||
|                 ] | ||||
|             ], [ | ||||
|                 'name' => '🐟 漏网之鱼', | ||||
|                 'type' => 'select', | ||||
|                 'proxies' => array_merge([ | ||||
|                     '🔰 节点选择', | ||||
|                     '♻️ 自动选择', | ||||
|                     '🎯 全球直连' | ||||
|                 ], $proxies) | ||||
|             ] | ||||
|         ]; | ||||
|  | ||||
|         try { | ||||
|             $rules = []; | ||||
|   | ||||
| @@ -3,11 +3,13 @@ | ||||
| namespace App\Http\Controllers\Server; | ||||
|  | ||||
| use App\Services\ServerService; | ||||
| use App\Services\UserService; | ||||
| use Illuminate\Http\Request; | ||||
| use App\Http\Controllers\Controller; | ||||
| use App\Models\User; | ||||
| use App\Models\Server; | ||||
| use App\Models\ServerLog; | ||||
| use Illuminate\Support\Facades\DB; | ||||
| use Illuminate\Support\Facades\Log; | ||||
| use Illuminate\Support\Facades\Cache; | ||||
|  | ||||
| @@ -63,28 +65,31 @@ class DeepbworkController extends Controller | ||||
|         $server = Server::find($request->input('node_id')); | ||||
|         if (!$server) { | ||||
|             return response([ | ||||
|                 'ret' => 1, | ||||
|                 'msg' => 'ok' | ||||
|                 'ret' => 0, | ||||
|                 'msg' => 'server is not found' | ||||
|             ]); | ||||
|         } | ||||
|         $data = file_get_contents('php://input'); | ||||
|         $data = json_decode($data, true); | ||||
|         $serverService = new ServerService(); | ||||
|         $userService = new UserService(); | ||||
|         foreach ($data as $item) { | ||||
|             $u = $item['u'] * $server->rate; | ||||
|             $d = $item['d'] * $server->rate; | ||||
|             $user = User::find($item['user_id']); | ||||
|             $user->t = time(); | ||||
|             $user->u = $user->u + $u; | ||||
|             $user->d = $user->d + $d; | ||||
|             $user->save(); | ||||
|             if (!$userService->trafficFetch($u, $d, $item['user_id'])) { | ||||
|                 return response([ | ||||
|                     'ret' => 0, | ||||
|                     'msg' => 'user fetch fail' | ||||
|                 ]); | ||||
|             } | ||||
|  | ||||
|             $serverLog = new ServerLog(); | ||||
|             $serverLog->user_id = $item['user_id']; | ||||
|             $serverLog->server_id = $request->input('node_id'); | ||||
|             $serverLog->u = $item['u']; | ||||
|             $serverLog->d = $item['d']; | ||||
|             $serverLog->rate = $server->rate; | ||||
|             $serverLog->save(); | ||||
|             $serverService->log( | ||||
|                 $item['user_id'], | ||||
|                 $request->input('node_id'), | ||||
|                 $u, | ||||
|                 $d, | ||||
|                 $server->rate | ||||
|             ); | ||||
|         } | ||||
|  | ||||
|         return response([ | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| namespace App\Http\Controllers\Server; | ||||
|  | ||||
| use App\Services\ServerService; | ||||
| use App\Services\UserService; | ||||
| use Illuminate\Http\Request; | ||||
| use App\Http\Controllers\Controller; | ||||
| use App\Models\User; | ||||
| @@ -58,22 +59,25 @@ class PoseidonController extends Controller | ||||
|         } | ||||
|         $data = file_get_contents('php://input'); | ||||
|         $data = json_decode($data, true); | ||||
|         $serverService = new ServerService(); | ||||
|         $userService = new UserService(); | ||||
|         foreach ($data as $item) { | ||||
|             $u = $item['u'] * $server->rate; | ||||
|             $d = $item['d'] * $server->rate; | ||||
|             $user = User::find($item['user_id']); | ||||
|             $user->t = time(); | ||||
|             $user->u = $user->u + $u; | ||||
|             $user->d = $user->d + $d; | ||||
|             $user->save(); | ||||
|             if (!$userService->trafficFetch($u, $d, $item['user_id'])) { | ||||
|                 return response([ | ||||
|                     'ret' => 0, | ||||
|                     'msg' => 'user fetch fail' | ||||
|                 ]); | ||||
|             } | ||||
|  | ||||
|             $serverLog = new ServerLog(); | ||||
|             $serverLog->user_id = $item['user_id']; | ||||
|             $serverLog->server_id = $request->input('node_id'); | ||||
|             $serverLog->u = $item['u']; | ||||
|             $serverLog->d = $item['d']; | ||||
|             $serverLog->rate = $server->rate; | ||||
|             $serverLog->save(); | ||||
|             $serverService->log( | ||||
|                 $item['user_id'], | ||||
|                 $request->input('node_id'), | ||||
|                 $u, | ||||
|                 $d, | ||||
|                 $server->rate | ||||
|             ); | ||||
|         } | ||||
|  | ||||
|         return $this->success(''); | ||||
|   | ||||
| @@ -89,6 +89,10 @@ class OrderController extends Controller | ||||
|             abort(500, '该订阅周期无法进行购买,请选择其他周期'); | ||||
|         } | ||||
|  | ||||
|         if ($request->input('cycle') === 'reset_price' && !$user->plan_id) { | ||||
|             abort(500, '必须存在订阅才可以购买流量重置包'); | ||||
|         } | ||||
|  | ||||
|         DB::beginTransaction(); | ||||
|         $order = new Order(); | ||||
|         $orderService = new OrderService($order); | ||||
|   | ||||
| @@ -15,7 +15,8 @@ class PlanSave extends FormRequest | ||||
|         'quarter_price' => 'nullable|integer', | ||||
|         'half_year_price' => 'nullable|integer', | ||||
|         'year_price' => 'nullable|integer', | ||||
|         'onetime_price' => 'nullable|integer' | ||||
|         'onetime_price' => 'nullable|integer', | ||||
|         'reset_price' => 'nullable|reset_price' | ||||
|     ]; | ||||
|     /** | ||||
|      * Get the validation rules that apply to the request. | ||||
| @@ -39,7 +40,8 @@ class PlanSave extends FormRequest | ||||
|             'quarter_price.integer' => '季付金额格式有误', | ||||
|             'half_year_price.integer' => '半年付金额格式有误', | ||||
|             'year_price.integer' => '年付金额格式有误', | ||||
|             'onetime_price.integer' => '一次性金额有误' | ||||
|             'onetime_price.integer' => '一次性金额有误', | ||||
|             'reset_price.integer' => '流量重置包金额有误' | ||||
|         ]; | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -15,7 +15,7 @@ class OrderSave extends FormRequest | ||||
|     { | ||||
|         return [ | ||||
|             'plan_id' => 'required', | ||||
|             'cycle' => 'required|in:month_price,quarter_price,half_year_price,year_price,onetime_price' | ||||
|             'cycle' => 'required|in:month_price,quarter_price,half_year_price,year_price,onetime_price,reset_price' | ||||
|         ]; | ||||
|     } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user