ManageController.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace App\Http\Controllers\Admin\Server;
  3. use App\Models\ServerHysteria;
  4. use App\Models\ServerVmess;
  5. use App\Models\ServerShadowsocks;
  6. use App\Models\ServerTrojan;
  7. use App\Services\ServerService;
  8. use Illuminate\Http\Request;
  9. use App\Http\Controllers\Controller;
  10. use Illuminate\Support\Facades\DB;
  11. class ManageController extends Controller
  12. {
  13. public function getNodes(Request $request)
  14. {
  15. $serverService = new ServerService();
  16. return response([
  17. 'data' => $serverService->getAllServers()
  18. ]);
  19. }
  20. public function sort(Request $request)
  21. {
  22. ini_set('post_max_size', '1m');
  23. DB::beginTransaction();
  24. foreach ($request->input('sorts') ?? [] as $k => $v) {
  25. switch ($v['key']) {
  26. case 'shadowsocks':
  27. if (!ServerShadowsocks::find($v['value'])->update(['sort' => $v['sort']])) {
  28. DB::rollBack();
  29. abort(500, '保存失败');
  30. }
  31. break;
  32. case 'vmess':
  33. if (!ServerVmess::find($v['value'])->update(['sort' => $v['sort']])) {
  34. DB::rollBack();
  35. abort(500, '保存失败');
  36. }
  37. break;
  38. case 'trojan':
  39. if (!ServerTrojan::find($v['value'])->update(['sort' => $v['sort']])) {
  40. DB::rollBack();
  41. abort(500, '保存失败');
  42. }
  43. break;
  44. case 'hysteria':
  45. if (!ServerHysteria::find($v['value'])->update(['sort' => $v['sort']])) {
  46. DB::rollBack();
  47. abort(500, '保存失败');
  48. }
  49. break;
  50. }
  51. }
  52. DB::commit();
  53. return response([
  54. 'data' => true
  55. ]);
  56. }
  57. }