Browse Source

update: api version

v2board 2 years ago
parent
commit
4c97d7e429
74 changed files with 447 additions and 494 deletions
  1. 3 3
      app/Http/Controllers/V1/Admin/ConfigController.php
  2. 4 6
      app/Http/Controllers/V1/Admin/CouponController.php
  3. 2 2
      app/Http/Controllers/V1/Admin/KnowledgeController.php
  4. 3 3
      app/Http/Controllers/V1/Admin/NoticeController.php
  5. 6 6
      app/Http/Controllers/V1/Admin/OrderController.php
  6. 3 3
      app/Http/Controllers/V1/Admin/PaymentController.php
  7. 5 5
      app/Http/Controllers/V1/Admin/PlanController.php
  8. 3 5
      app/Http/Controllers/V1/Admin/Server/GroupController.php
  9. 2 6
      app/Http/Controllers/V1/Admin/Server/HysteriaController.php
  10. 2 2
      app/Http/Controllers/V1/Admin/Server/ManageController.php
  11. 2 6
      app/Http/Controllers/V1/Admin/Server/RouteController.php
  12. 2 3
      app/Http/Controllers/V1/Admin/Server/ShadowsocksController.php
  13. 3 3
      app/Http/Controllers/V1/Admin/Server/TrojanController.php
  14. 3 4
      app/Http/Controllers/V1/Admin/Server/VmessController.php
  15. 8 11
      app/Http/Controllers/V1/Admin/StatController.php
  16. 3 3
      app/Http/Controllers/V1/Admin/SystemController.php
  17. 3 3
      app/Http/Controllers/V1/Admin/ThemeController.php
  18. 4 5
      app/Http/Controllers/V1/Admin/TicketController.php
  19. 4 5
      app/Http/Controllers/V1/Admin/UserController.php
  20. 4 4
      app/Http/Controllers/V1/Client/AppController.php
  21. 3 3
      app/Http/Controllers/V1/Client/ClientController.php
  22. 1 2
      app/Http/Controllers/V1/Client/Protocols/Clash.php
  23. 1 1
      app/Http/Controllers/V1/Client/Protocols/ClashMeta.php
  24. 1 1
      app/Http/Controllers/V1/Client/Protocols/General.php
  25. 1 3
      app/Http/Controllers/V1/Client/Protocols/Loon.php
  26. 1 1
      app/Http/Controllers/V1/Client/Protocols/Passwall.php
  27. 1 1
      app/Http/Controllers/V1/Client/Protocols/QuantumultX.php
  28. 1 1
      app/Http/Controllers/V1/Client/Protocols/SSRPlus.php
  29. 1 1
      app/Http/Controllers/V1/Client/Protocols/SagerNet.php
  30. 1 1
      app/Http/Controllers/V1/Client/Protocols/Shadowrocket.php
  31. 1 1
      app/Http/Controllers/V1/Client/Protocols/Shadowsocks.php
  32. 1 1
      app/Http/Controllers/V1/Client/Protocols/Stash.php
  33. 1 1
      app/Http/Controllers/V1/Client/Protocols/Surfboard.php
  34. 1 1
      app/Http/Controllers/V1/Client/Protocols/Surge.php
  35. 1 1
      app/Http/Controllers/V1/Client/Protocols/V2rayN.php
  36. 1 1
      app/Http/Controllers/V1/Client/Protocols/V2rayNG.php
  37. 2 2
      app/Http/Controllers/V1/Guest/CommController.php
  38. 2 2
      app/Http/Controllers/V1/Guest/PaymentController.php
  39. 2 2
      app/Http/Controllers/V1/Guest/PlanController.php
  40. 2 2
      app/Http/Controllers/V1/Guest/TelegramController.php
  41. 8 8
      app/Http/Controllers/V1/Passport/AuthController.php
  42. 7 8
      app/Http/Controllers/V1/Passport/CommController.php
  43. 4 7
      app/Http/Controllers/V1/Server/DeepbworkController.php
  44. 2 3
      app/Http/Controllers/V1/Server/ShadowsocksTidalabController.php
  45. 4 7
      app/Http/Controllers/V1/Server/TrojanTidalabController.php
  46. 2 6
      app/Http/Controllers/V1/Server/UniProxyController.php
  47. 3 3
      app/Http/Controllers/V1/Staff/NoticeController.php
  48. 2 6
      app/Http/Controllers/V1/Staff/PlanController.php
  49. 3 3
      app/Http/Controllers/V1/Staff/TicketController.php
  50. 4 4
      app/Http/Controllers/V1/Staff/UserController.php
  51. 2 2
      app/Http/Controllers/V1/User/CommController.php
  52. 1 2
      app/Http/Controllers/V1/User/CouponController.php
  53. 4 4
      app/Http/Controllers/V1/User/InviteController.php
  54. 2 2
      app/Http/Controllers/V1/User/KnowledgeController.php
  55. 2 3
      app/Http/Controllers/V1/User/NoticeController.php
  56. 9 10
      app/Http/Controllers/V1/User/OrderController.php
  57. 2 2
      app/Http/Controllers/V1/User/PlanController.php
  58. 2 7
      app/Http/Controllers/V1/User/ServerController.php
  59. 1 1
      app/Http/Controllers/V1/User/StatController.php
  60. 1 1
      app/Http/Controllers/V1/User/TelegramController.php
  61. 3 4
      app/Http/Controllers/V1/User/TicketController.php
  62. 7 7
      app/Http/Controllers/V1/User/UserController.php
  63. 0 144
      app/Http/Routes/AdminRoute.php
  64. 0 25
      app/Http/Routes/PassportRoute.php
  65. 0 32
      app/Http/Routes/StaffRoute.php
  66. 0 64
      app/Http/Routes/UserRoute.php
  67. 144 0
      app/Http/Routes/V1/AdminRoute.php
  68. 4 4
      app/Http/Routes/V1/ClientRoute.php
  69. 5 5
      app/Http/Routes/V1/GuestRoute.php
  70. 25 0
      app/Http/Routes/V1/PassportRoute.php
  71. 2 2
      app/Http/Routes/V1/ServerRoute.php
  72. 32 0
      app/Http/Routes/V1/StaffRoute.php
  73. 64 0
      app/Http/Routes/V1/UserRoute.php
  74. 1 1
      app/Providers/RouteServiceProvider.php

+ 3 - 3
app/Http/Controllers/Admin/ConfigController.php → app/Http/Controllers/V1/Admin/ConfigController.php

@@ -1,13 +1,13 @@
 <?php
 
-namespace App\Http\Controllers\Admin;
+namespace App\Http\Controllers\V1\Admin;
 
+use App\Http\Controllers\Controller;
 use App\Http\Requests\Admin\ConfigSave;
 use App\Jobs\SendEmailJob;
 use App\Services\TelegramService;
-use Illuminate\Http\Request;
 use App\Utils\Dict;
-use App\Http\Controllers\Controller;
+use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Artisan;
 use Illuminate\Support\Facades\File;
 use Illuminate\Support\Facades\Mail;

+ 4 - 6
app/Http/Controllers/Admin/CouponController.php → app/Http/Controllers/V1/Admin/CouponController.php

@@ -1,15 +1,13 @@
 <?php
 
-namespace App\Http\Controllers\Admin;
+namespace App\Http\Controllers\V1\Admin;
 
-use App\Http\Requests\Admin\CouponSave;
-use App\Http\Requests\Admin\CouponGenerate;
-use App\Models\Plan;
-use App\Models\User;
-use Illuminate\Http\Request;
 use App\Http\Controllers\Controller;
+use App\Http\Requests\Admin\CouponGenerate;
+use App\Http\Requests\Admin\CouponSave;
 use App\Models\Coupon;
 use App\Utils\Helper;
+use Illuminate\Http\Request;
 use Illuminate\Support\Facades\DB;
 
 class CouponController extends Controller

+ 2 - 2
app/Http/Controllers/Admin/KnowledgeController.php → app/Http/Controllers/V1/Admin/KnowledgeController.php

@@ -1,12 +1,12 @@
 <?php
 
-namespace App\Http\Controllers\Admin;
+namespace App\Http\Controllers\V1\Admin;
 
+use App\Http\Controllers\Controller;
 use App\Http\Requests\Admin\KnowledgeSave;
 use App\Http\Requests\Admin\KnowledgeSort;
 use App\Models\Knowledge;
 use Illuminate\Http\Request;
-use App\Http\Controllers\Controller;
 use Illuminate\Support\Facades\DB;
 
 class KnowledgeController extends Controller

+ 3 - 3
app/Http/Controllers/Admin/NoticeController.php → app/Http/Controllers/V1/Admin/NoticeController.php

@@ -1,11 +1,11 @@
 <?php
 
-namespace App\Http\Controllers\Admin;
+namespace App\Http\Controllers\V1\Admin;
 
-use App\Http\Requests\Admin\NoticeSave;
-use Illuminate\Http\Request;
 use App\Http\Controllers\Controller;
+use App\Http\Requests\Admin\NoticeSave;
 use App\Models\Notice;
+use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Cache;
 
 class NoticeController extends Controller

+ 6 - 6
app/Http/Controllers/Admin/OrderController.php → app/Http/Controllers/V1/Admin/OrderController.php

@@ -1,19 +1,19 @@
 <?php
 
-namespace App\Http\Controllers\Admin;
+namespace App\Http\Controllers\V1\Admin;
 
+use App\Http\Controllers\Controller;
 use App\Http\Requests\Admin\OrderAssign;
-use App\Http\Requests\Admin\OrderUpdate;
 use App\Http\Requests\Admin\OrderFetch;
+use App\Http\Requests\Admin\OrderUpdate;
 use App\Models\CommissionLog;
+use App\Models\Order;
+use App\Models\Plan;
+use App\Models\User;
 use App\Services\OrderService;
 use App\Services\UserService;
 use App\Utils\Helper;
 use Illuminate\Http\Request;
-use App\Http\Controllers\Controller;
-use App\Models\Order;
-use App\Models\User;
-use App\Models\Plan;
 use Illuminate\Support\Facades\DB;
 
 class OrderController extends Controller

+ 3 - 3
app/Http/Controllers/Admin/PaymentController.php → app/Http/Controllers/V1/Admin/PaymentController.php

@@ -1,13 +1,13 @@
 <?php
 
-namespace App\Http\Controllers\Admin;
+namespace App\Http\Controllers\V1\Admin;
 
+use App\Http\Controllers\Controller;
 use App\Http\Requests\Admin\PaymentSave;
+use App\Models\Payment;
 use App\Services\PaymentService;
 use App\Utils\Helper;
 use Illuminate\Http\Request;
-use App\Http\Controllers\Controller;
-use App\Models\Payment;
 use Illuminate\Support\Facades\DB;
 
 class PaymentController extends Controller

+ 5 - 5
app/Http/Controllers/Admin/PlanController.php → app/Http/Controllers/V1/Admin/PlanController.php

@@ -1,16 +1,16 @@
 <?php
 
-namespace App\Http\Controllers\Admin;
+namespace App\Http\Controllers\V1\Admin;
 
+use App\Http\Controllers\Controller;
 use App\Http\Requests\Admin\PlanSave;
 use App\Http\Requests\Admin\PlanSort;
 use App\Http\Requests\Admin\PlanUpdate;
-use App\Services\PlanService;
-use Illuminate\Http\Request;
-use App\Http\Controllers\Controller;
-use App\Models\Plan;
 use App\Models\Order;
+use App\Models\Plan;
 use App\Models\User;
+use App\Services\PlanService;
+use Illuminate\Http\Request;
 use Illuminate\Support\Facades\DB;
 
 class PlanController extends Controller

+ 3 - 5
app/Http/Controllers/Admin/Server/GroupController.php → app/Http/Controllers/V1/Admin/Server/GroupController.php

@@ -1,16 +1,14 @@
 <?php
 
-namespace App\Http\Controllers\Admin\Server;
+namespace App\Http\Controllers\V1\Admin\Server;
 
+use App\Http\Controllers\Controller;
 use App\Models\Plan;
-use App\Models\ServerShadowsocks;
-use App\Models\ServerTrojan;
-use App\Models\ServerVmess;
 use App\Models\ServerGroup;
+use App\Models\ServerVmess;
 use App\Models\User;
 use App\Services\ServerService;
 use Illuminate\Http\Request;
-use App\Http\Controllers\Controller;
 
 class GroupController extends Controller
 {

+ 2 - 6
app/Http/Controllers/Admin/Server/HysteriaController.php → app/Http/Controllers/V1/Admin/Server/HysteriaController.php

@@ -1,14 +1,10 @@
 <?php
 
-namespace App\Http\Controllers\Admin\Server;
+namespace App\Http\Controllers\V1\Admin\Server;
 
-use App\Http\Requests\Admin\ServerVmessSave;
-use App\Http\Requests\Admin\ServerVmessUpdate;
+use App\Http\Controllers\Controller;
 use App\Models\ServerHysteria;
-use App\Services\ServerService;
 use Illuminate\Http\Request;
-use App\Http\Controllers\Controller;
-use App\Models\ServerVmess;
 
 class HysteriaController extends Controller
 {

+ 2 - 2
app/Http/Controllers/Admin/Server/ManageController.php → app/Http/Controllers/V1/Admin/Server/ManageController.php

@@ -1,10 +1,10 @@
 <?php
 
-namespace App\Http\Controllers\Admin\Server;
+namespace App\Http\Controllers\V1\Admin\Server;
 
+use App\Http\Controllers\Controller;
 use App\Services\ServerService;
 use Illuminate\Http\Request;
-use App\Http\Controllers\Controller;
 use Illuminate\Support\Facades\DB;
 
 class ManageController extends Controller

+ 2 - 6
app/Http/Controllers/Admin/Server/RouteController.php → app/Http/Controllers/V1/Admin/Server/RouteController.php

@@ -1,14 +1,10 @@
 <?php
 
-namespace App\Http\Controllers\Admin\Server;
+namespace App\Http\Controllers\V1\Admin\Server;
 
-use App\Http\Requests\Admin\ServerShadowsocksSave;
-use App\Http\Requests\Admin\ServerShadowsocksUpdate;
+use App\Http\Controllers\Controller;
 use App\Models\ServerRoute;
-use App\Models\ServerShadowsocks;
-use App\Services\ServerService;
 use Illuminate\Http\Request;
-use App\Http\Controllers\Controller;
 
 class RouteController extends Controller
 {

+ 2 - 3
app/Http/Controllers/Admin/Server/ShadowsocksController.php → app/Http/Controllers/V1/Admin/Server/ShadowsocksController.php

@@ -1,13 +1,12 @@
 <?php
 
-namespace App\Http\Controllers\Admin\Server;
+namespace App\Http\Controllers\V1\Admin\Server;
 
+use App\Http\Controllers\Controller;
 use App\Http\Requests\Admin\ServerShadowsocksSave;
 use App\Http\Requests\Admin\ServerShadowsocksUpdate;
 use App\Models\ServerShadowsocks;
-use App\Services\ServerService;
 use Illuminate\Http\Request;
-use App\Http\Controllers\Controller;
 
 class ShadowsocksController extends Controller
 {

+ 3 - 3
app/Http/Controllers/Admin/Server/TrojanController.php → app/Http/Controllers/V1/Admin/Server/TrojanController.php

@@ -1,13 +1,13 @@
 <?php
 
-namespace App\Http\Controllers\Admin\Server;
+namespace App\Http\Controllers\V1\Admin\Server;
 
+use App\Http\Controllers\Controller;
 use App\Http\Requests\Admin\ServerTrojanSave;
 use App\Http\Requests\Admin\ServerTrojanUpdate;
+use App\Models\ServerTrojan;
 use App\Services\ServerService;
 use Illuminate\Http\Request;
-use App\Http\Controllers\Controller;
-use App\Models\ServerTrojan;
 
 class TrojanController extends Controller
 {

+ 3 - 4
app/Http/Controllers/Admin/Server/VmessController.php → app/Http/Controllers/V1/Admin/Server/VmessController.php

@@ -1,13 +1,12 @@
 <?php
 
-namespace App\Http\Controllers\Admin\Server;
+namespace App\Http\Controllers\V1\Admin\Server;
 
+use App\Http\Controllers\Controller;
 use App\Http\Requests\Admin\ServerVmessSave;
 use App\Http\Requests\Admin\ServerVmessUpdate;
-use App\Services\ServerService;
-use Illuminate\Http\Request;
-use App\Http\Controllers\Controller;
 use App\Models\ServerVmess;
+use Illuminate\Http\Request;
 
 class VmessController extends Controller
 {

+ 8 - 11
app/Http/Controllers/Admin/StatController.php → app/Http/Controllers/V1/Admin/StatController.php

@@ -1,23 +1,20 @@
 <?php
 
-namespace App\Http\Controllers\Admin;
+namespace App\Http\Controllers\V1\Admin;
 
+use App\Http\Controllers\Controller;
 use App\Models\CommissionLog;
+use App\Models\Order;
 use App\Models\ServerShadowsocks;
 use App\Models\ServerTrojan;
-use App\Models\StatUser;
-use App\Services\ServerService;
-use App\Services\StatisticalService;
-use Illuminate\Http\Request;
-use App\Http\Controllers\Controller;
-use App\Models\ServerGroup;
 use App\Models\ServerVmess;
-use App\Models\Plan;
-use App\Models\User;
-use App\Models\Ticket;
-use App\Models\Order;
 use App\Models\Stat;
 use App\Models\StatServer;
+use App\Models\StatUser;
+use App\Models\Ticket;
+use App\Models\User;
+use App\Services\StatisticalService;
+use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Cache;
 use Illuminate\Support\Facades\DB;
 

+ 3 - 3
app/Http/Controllers/Admin/SystemController.php → app/Http/Controllers/V1/Admin/SystemController.php

@@ -1,10 +1,11 @@
 <?php
 
-namespace App\Http\Controllers\Admin;
+namespace App\Http\Controllers\V1\Admin;
 
+use App\Http\Controllers\Controller;
+use App\Models\Log as LogModel;
 use App\Utils\CacheKey;
 use Illuminate\Http\Request;
-use App\Http\Controllers\Controller;
 use Illuminate\Support\Facades\Cache;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Http;
@@ -14,7 +15,6 @@ use Laravel\Horizon\Contracts\MetricsRepository;
 use Laravel\Horizon\Contracts\SupervisorRepository;
 use Laravel\Horizon\Contracts\WorkloadRepository;
 use Laravel\Horizon\WaitTimeCalculator;
-use App\Models\Log as LogModel;
 
 class SystemController extends Controller
 {

+ 3 - 3
app/Http/Controllers/Admin/ThemeController.php → app/Http/Controllers/V1/Admin/ThemeController.php

@@ -1,12 +1,12 @@
 <?php
 
-namespace App\Http\Controllers\Admin;
+namespace App\Http\Controllers\V1\Admin;
 
 use App\Http\Controllers\Controller;
 use App\Services\ThemeService;
-use Illuminate\Support\Facades\File;
-use Illuminate\Support\Facades\Artisan;
 use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Artisan;
+use Illuminate\Support\Facades\File;
 
 class ThemeController extends Controller
 {

+ 4 - 5
app/Http/Controllers/Admin/TicketController.php → app/Http/Controllers/V1/Admin/TicketController.php

@@ -1,14 +1,13 @@
 <?php
 
-namespace App\Http\Controllers\Admin;
+namespace App\Http\Controllers\V1\Admin;
 
-use App\Jobs\SendEmailJob;
-use App\Services\TicketService;
-use Illuminate\Http\Request;
 use App\Http\Controllers\Controller;
 use App\Models\Ticket;
-use App\Models\User;
 use App\Models\TicketMessage;
+use App\Models\User;
+use App\Services\TicketService;
+use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Cache;
 use Illuminate\Support\Facades\DB;
 

+ 4 - 5
app/Http/Controllers/Admin/UserController.php → app/Http/Controllers/V1/Admin/UserController.php

@@ -1,19 +1,18 @@
 <?php
 
-namespace App\Http\Controllers\Admin;
+namespace App\Http\Controllers\V1\Admin;
 
+use App\Http\Controllers\Controller;
 use App\Http\Requests\Admin\UserFetch;
 use App\Http\Requests\Admin\UserGenerate;
 use App\Http\Requests\Admin\UserSendMail;
 use App\Http\Requests\Admin\UserUpdate;
 use App\Jobs\SendEmailJob;
+use App\Models\Plan;
+use App\Models\User;
 use App\Services\AuthService;
-use App\Services\UserService;
 use App\Utils\Helper;
 use Illuminate\Http\Request;
-use App\Http\Controllers\Controller;
-use App\Models\User;
-use App\Models\Plan;
 use Illuminate\Support\Facades\DB;
 
 class UserController extends Controller

+ 4 - 4
app/Http/Controllers/Client/AppController.php → app/Http/Controllers/V1/Client/AppController.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\Client;
+namespace App\Http\Controllers\V1\Client;
 
 use App\Http\Controllers\Controller;
 use App\Services\ServerService;
@@ -39,15 +39,15 @@ class AppController extends Controller
                     'chacha20-ietf-poly1305'
                 ])
             ) {
-                array_push($proxy, Protocols\Clash::buildShadowsocks($user['uuid'], $item));
+                array_push($proxy, \App\Http\Controllers\V1\Client\Protocols\Clash::buildShadowsocks($user['uuid'], $item));
                 array_push($proxies, $item['name']);
             }
             if ($item['type'] === 'vmess') {
-                array_push($proxy, Protocols\Clash::buildVmess($user['uuid'], $item));
+                array_push($proxy, \App\Http\Controllers\V1\Client\Protocols\Clash::buildVmess($user['uuid'], $item));
                 array_push($proxies, $item['name']);
             }
             if ($item['type'] === 'trojan') {
-                array_push($proxy, Protocols\Clash::buildTrojan($user['uuid'], $item));
+                array_push($proxy, \App\Http\Controllers\V1\Client\Protocols\Clash::buildTrojan($user['uuid'], $item));
                 array_push($proxies, $item['name']);
             }
         }

+ 3 - 3
app/Http/Controllers/Client/ClientController.php → app/Http/Controllers/V1/Client/ClientController.php

@@ -1,13 +1,13 @@
 <?php
 
-namespace App\Http\Controllers\Client;
+namespace App\Http\Controllers\V1\Client;
 
-use App\Http\Controllers\Client\Protocols\General;
 use App\Http\Controllers\Controller;
+use App\Http\Controllers\V1\Client\Protocols\General;
 use App\Services\ServerService;
+use App\Services\UserService;
 use App\Utils\Helper;
 use Illuminate\Http\Request;
-use App\Services\UserService;
 
 class ClientController extends Controller
 {

+ 1 - 2
app/Http/Controllers/Client/Protocols/Clash.php → app/Http/Controllers/V1/Client/Protocols/Clash.php

@@ -1,8 +1,7 @@
 <?php
 
-namespace App\Http\Controllers\Client\Protocols;
+namespace App\Http\Controllers\V1\Client\Protocols;
 
-use App\Utils\Dict;
 use phpDocumentor\Reflection\Types\Self_;
 use Symfony\Component\Yaml\Yaml;
 

+ 1 - 1
app/Http/Controllers/Client/Protocols/ClashMeta.php → app/Http/Controllers/V1/Client/Protocols/ClashMeta.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\Client\Protocols;
+namespace App\Http\Controllers\V1\Client\Protocols;
 
 use App\Utils\Helper;
 use Symfony\Component\Yaml\Yaml;

+ 1 - 1
app/Http/Controllers/Client/Protocols/General.php → app/Http/Controllers/V1/Client/Protocols/General.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\Client\Protocols;
+namespace App\Http\Controllers\V1\Client\Protocols;
 
 
 use App\Utils\Helper;

+ 1 - 3
app/Http/Controllers/Client/Protocols/Loon.php → app/Http/Controllers/V1/Client/Protocols/Loon.php

@@ -1,8 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\Client\Protocols;
-
-use App\Utils\Helper;
+namespace App\Http\Controllers\V1\Client\Protocols;
 
 class Loon
 {

+ 1 - 1
app/Http/Controllers/Client/Protocols/Passwall.php → app/Http/Controllers/V1/Client/Protocols/Passwall.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\Client\Protocols;
+namespace App\Http\Controllers\V1\Client\Protocols;
 
 
 class Passwall

+ 1 - 1
app/Http/Controllers/Client/Protocols/QuantumultX.php → app/Http/Controllers/V1/Client/Protocols/QuantumultX.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\Client\Protocols;
+namespace App\Http\Controllers\V1\Client\Protocols;
 
 
 class QuantumultX

+ 1 - 1
app/Http/Controllers/Client/Protocols/SSRPlus.php → app/Http/Controllers/V1/Client/Protocols/SSRPlus.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\Client\Protocols;
+namespace App\Http\Controllers\V1\Client\Protocols;
 
 
 class SSRPlus

+ 1 - 1
app/Http/Controllers/Client/Protocols/SagerNet.php → app/Http/Controllers/V1/Client/Protocols/SagerNet.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\Client\Protocols;
+namespace App\Http\Controllers\V1\Client\Protocols;
 
 class SagerNet
 {

+ 1 - 1
app/Http/Controllers/Client/Protocols/Shadowrocket.php → app/Http/Controllers/V1/Client/Protocols/Shadowrocket.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\Client\Protocols;
+namespace App\Http\Controllers\V1\Client\Protocols;
 
 use App\Utils\Helper;
 

+ 1 - 1
app/Http/Controllers/Client/Protocols/Shadowsocks.php → app/Http/Controllers/V1/Client/Protocols/Shadowsocks.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\Client\Protocols;
+namespace App\Http\Controllers\V1\Client\Protocols;
 
 class Shadowsocks
 {

+ 1 - 1
app/Http/Controllers/Client/Protocols/Stash.php → app/Http/Controllers/V1/Client/Protocols/Stash.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\Client\Protocols;
+namespace App\Http\Controllers\V1\Client\Protocols;
 
 use Symfony\Component\Yaml\Yaml;
 

+ 1 - 1
app/Http/Controllers/Client/Protocols/Surfboard.php → app/Http/Controllers/V1/Client/Protocols/Surfboard.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\Client\Protocols;
+namespace App\Http\Controllers\V1\Client\Protocols;
 
 use App\Utils\Helper;
 

+ 1 - 1
app/Http/Controllers/Client/Protocols/Surge.php → app/Http/Controllers/V1/Client/Protocols/Surge.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\Client\Protocols;
+namespace App\Http\Controllers\V1\Client\Protocols;
 
 use App\Utils\Helper;
 

+ 1 - 1
app/Http/Controllers/Client/Protocols/V2rayN.php → app/Http/Controllers/V1/Client/Protocols/V2rayN.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\Client\Protocols;
+namespace App\Http\Controllers\V1\Client\Protocols;
 
 
 use App\Utils\Helper;

+ 1 - 1
app/Http/Controllers/Client/Protocols/V2rayNG.php → app/Http/Controllers/V1/Client/Protocols/V2rayNG.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\Client\Protocols;
+namespace App\Http\Controllers\V1\Client\Protocols;
 
 
 class V2rayNG

+ 2 - 2
app/Http/Controllers/Guest/CommController.php → app/Http/Controllers/V1/Guest/CommController.php

@@ -1,9 +1,9 @@
 <?php
 
-namespace App\Http\Controllers\Guest;
+namespace App\Http\Controllers\V1\Guest;
 
-use App\Utils\Dict;
 use App\Http\Controllers\Controller;
+use App\Utils\Dict;
 use Illuminate\Support\Facades\Http;
 
 class CommController extends Controller

+ 2 - 2
app/Http/Controllers/Guest/PaymentController.php → app/Http/Controllers/V1/Guest/PaymentController.php

@@ -1,13 +1,13 @@
 <?php
 
-namespace App\Http\Controllers\Guest;
+namespace App\Http\Controllers\V1\Guest;
 
+use App\Http\Controllers\Controller;
 use App\Models\Order;
 use App\Services\OrderService;
 use App\Services\PaymentService;
 use App\Services\TelegramService;
 use Illuminate\Http\Request;
-use App\Http\Controllers\Controller;
 
 class PaymentController extends Controller
 {

+ 2 - 2
app/Http/Controllers/Guest/PlanController.php → app/Http/Controllers/V1/Guest/PlanController.php

@@ -1,10 +1,10 @@
 <?php
 
-namespace App\Http\Controllers\Guest;
+namespace App\Http\Controllers\V1\Guest;
 
-use Illuminate\Http\Request;
 use App\Http\Controllers\Controller;
 use App\Models\Plan;
+use Illuminate\Http\Request;
 
 class PlanController extends Controller
 {

+ 2 - 2
app/Http/Controllers/Guest/TelegramController.php → app/Http/Controllers/V1/Guest/TelegramController.php

@@ -1,10 +1,10 @@
 <?php
 
-namespace App\Http\Controllers\Guest;
+namespace App\Http\Controllers\V1\Guest;
 
+use App\Http\Controllers\Controller;
 use App\Services\TelegramService;
 use Illuminate\Http\Request;
-use App\Http\Controllers\Controller;
 
 class TelegramController extends Controller
 {

+ 8 - 8
app/Http/Controllers/Passport/AuthController.php → app/Http/Controllers/V1/Passport/AuthController.php

@@ -1,21 +1,21 @@
 <?php
 
-namespace App\Http\Controllers\Passport;
+namespace App\Http\Controllers\V1\Passport;
 
 use App\Http\Controllers\Controller;
-use App\Http\Requests\Passport\AuthRegister;
 use App\Http\Requests\Passport\AuthForget;
 use App\Http\Requests\Passport\AuthLogin;
+use App\Http\Requests\Passport\AuthRegister;
 use App\Jobs\SendEmailJob;
-use App\Services\AuthService;
-use Illuminate\Http\Request;
-use Illuminate\Support\Facades\Cache;
+use App\Models\InviteCode;
 use App\Models\Plan;
 use App\Models\User;
-use App\Models\InviteCode;
-use App\Utils\Helper;
-use App\Utils\Dict;
+use App\Services\AuthService;
 use App\Utils\CacheKey;
+use App\Utils\Dict;
+use App\Utils\Helper;
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Cache;
 use ReCaptcha\ReCaptcha;
 
 class AuthController extends Controller

+ 7 - 8
app/Http/Controllers/Passport/CommController.php → app/Http/Controllers/V1/Passport/CommController.php

@@ -1,18 +1,17 @@
 <?php
 
-namespace App\Http\Controllers\Passport;
+namespace App\Http\Controllers\V1\Passport;
 
-use App\Http\Requests\Passport\CommSendEmailVerify;
-use Illuminate\Http\Request;
 use App\Http\Controllers\Controller;
-use Illuminate\Http\Exceptions\HttpResponseException;
-use Illuminate\Support\Facades\Mail;
-use App\Utils\Helper;
-use Illuminate\Support\Facades\Cache;
+use App\Http\Requests\Passport\CommSendEmailVerify;
 use App\Jobs\SendEmailJob;
 use App\Models\InviteCode;
-use App\Utils\Dict;
 use App\Utils\CacheKey;
+use App\Utils\Dict;
+use Illuminate\Http\Exceptions\HttpResponseException;
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Cache;
+use Illuminate\Support\Facades\Mail;
 use ReCaptcha\ReCaptcha;
 
 class CommController extends Controller

+ 4 - 7
app/Http/Controllers/Server/DeepbworkController.php → app/Http/Controllers/V1/Server/DeepbworkController.php

@@ -1,19 +1,16 @@
 <?php
 
-namespace App\Http\Controllers\Server;
+namespace App\Http\Controllers\V1\Server;
 
+use App\Http\Controllers\Controller;
+use App\Models\ServerVmess;
 use App\Services\ServerService;
-use App\Services\StatisticalService;
 use App\Services\UserService;
 use App\Utils\CacheKey;
 use Illuminate\Http\Request;
-use App\Http\Controllers\Controller;
-use App\Models\User;
-use App\Models\ServerVmess;
-use App\Models\ServerLog;
+use Illuminate\Support\Facades\Cache;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Log;
-use Illuminate\Support\Facades\Cache;
 
 /*
  * V2ray Aurora

+ 2 - 3
app/Http/Controllers/Server/ShadowsocksTidalabController.php → app/Http/Controllers/V1/Server/ShadowsocksTidalabController.php

@@ -1,14 +1,13 @@
 <?php
 
-namespace App\Http\Controllers\Server;
+namespace App\Http\Controllers\V1\Server;
 
+use App\Http\Controllers\Controller;
 use App\Models\ServerShadowsocks;
 use App\Services\ServerService;
-use App\Services\StatisticalService;
 use App\Services\UserService;
 use App\Utils\CacheKey;
 use Illuminate\Http\Request;
-use App\Http\Controllers\Controller;
 use Illuminate\Support\Facades\Cache;
 
 /*

+ 4 - 7
app/Http/Controllers/Server/TrojanTidalabController.php → app/Http/Controllers/V1/Server/TrojanTidalabController.php

@@ -1,19 +1,16 @@
 <?php
 
-namespace App\Http\Controllers\Server;
+namespace App\Http\Controllers\V1\Server;
 
+use App\Http\Controllers\Controller;
+use App\Models\ServerTrojan;
 use App\Services\ServerService;
-use App\Services\StatisticalService;
 use App\Services\UserService;
 use App\Utils\CacheKey;
 use Illuminate\Http\Request;
-use App\Http\Controllers\Controller;
-use App\Models\User;
-use App\Models\ServerTrojan;
-use App\Models\ServerLog;
+use Illuminate\Support\Facades\Cache;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Log;
-use Illuminate\Support\Facades\Cache;
 
 /*
  * Tidal Lab Trojan

+ 2 - 6
app/Http/Controllers/Server/UniProxyController.php → app/Http/Controllers/V1/Server/UniProxyController.php

@@ -1,17 +1,13 @@
 <?php
 
-namespace App\Http\Controllers\Server;
+namespace App\Http\Controllers\V1\Server;
 
+use App\Http\Controllers\Controller;
 use App\Services\ServerService;
-use App\Services\StatisticalService;
 use App\Services\UserService;
 use App\Utils\CacheKey;
 use App\Utils\Helper;
 use Illuminate\Http\Request;
-use App\Http\Controllers\Controller;
-use App\Models\ServerShadowsocks;
-use App\Models\ServerVmess;
-use App\Models\ServerTrojan;
 use Illuminate\Support\Facades\Cache;
 
 class UniProxyController extends Controller

+ 3 - 3
app/Http/Controllers/Staff/NoticeController.php → app/Http/Controllers/V1/Staff/NoticeController.php

@@ -1,11 +1,11 @@
 <?php
 
-namespace App\Http\Controllers\Staff;
+namespace App\Http\Controllers\V1\Staff;
 
-use App\Http\Requests\Admin\NoticeSave;
-use Illuminate\Http\Request;
 use App\Http\Controllers\Controller;
+use App\Http\Requests\Admin\NoticeSave;
 use App\Models\Notice;
+use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Cache;
 
 class NoticeController extends Controller

+ 2 - 6
app/Http/Controllers/Staff/PlanController.php → app/Http/Controllers/V1/Staff/PlanController.php

@@ -1,15 +1,11 @@
 <?php
 
-namespace App\Http\Controllers\Staff;
+namespace App\Http\Controllers\V1\Staff;
 
-use App\Http\Requests\Admin\PlanSave;
-use App\Http\Requests\Admin\PlanSort;
-use App\Http\Requests\Admin\PlanUpdate;
-use Illuminate\Http\Request;
 use App\Http\Controllers\Controller;
 use App\Models\Plan;
-use App\Models\Order;
 use App\Models\User;
+use Illuminate\Http\Request;
 use Illuminate\Support\Facades\DB;
 
 class PlanController extends Controller

+ 3 - 3
app/Http/Controllers/Staff/TicketController.php → app/Http/Controllers/V1/Staff/TicketController.php

@@ -1,12 +1,12 @@
 <?php
 
-namespace App\Http\Controllers\Staff;
+namespace App\Http\Controllers\V1\Staff;
 
-use App\Services\TicketService;
-use Illuminate\Http\Request;
 use App\Http\Controllers\Controller;
 use App\Models\Ticket;
 use App\Models\TicketMessage;
+use App\Services\TicketService;
+use Illuminate\Http\Request;
 
 class TicketController extends Controller
 {

+ 4 - 4
app/Http/Controllers/Staff/UserController.php → app/Http/Controllers/V1/Staff/UserController.php

@@ -1,14 +1,14 @@
 <?php
 
-namespace App\Http\Controllers\Staff;
+namespace App\Http\Controllers\V1\Staff;
 
+use App\Http\Controllers\Controller;
 use App\Http\Requests\Admin\UserSendMail;
 use App\Http\Requests\Staff\UserUpdate;
 use App\Jobs\SendEmailJob;
-use Illuminate\Http\Request;
-use App\Http\Controllers\Controller;
-use App\Models\User;
 use App\Models\Plan;
+use App\Models\User;
+use Illuminate\Http\Request;
 
 class UserController extends Controller
 {

+ 2 - 2
app/Http/Controllers/User/CommController.php → app/Http/Controllers/V1/User/CommController.php

@@ -1,11 +1,11 @@
 <?php
 
-namespace App\Http\Controllers\User;
+namespace App\Http\Controllers\V1\User;
 
+use App\Http\Controllers\Controller;
 use App\Models\Payment;
 use App\Utils\Dict;
 use Illuminate\Http\Request;
-use App\Http\Controllers\Controller;
 
 class CommController extends Controller
 {

+ 1 - 2
app/Http/Controllers/User/CouponController.php → app/Http/Controllers/V1/User/CouponController.php

@@ -1,11 +1,10 @@
 <?php
 
-namespace App\Http\Controllers\User;
+namespace App\Http\Controllers\V1\User;
 
 use App\Http\Controllers\Controller;
 use App\Services\CouponService;
 use Illuminate\Http\Request;
-use App\Models\Coupon;
 
 class CouponController extends Controller
 {

+ 4 - 4
app/Http/Controllers/User/InviteController.php → app/Http/Controllers/V1/User/InviteController.php

@@ -1,14 +1,14 @@
 <?php
 
-namespace App\Http\Controllers\User;
+namespace App\Http\Controllers\V1\User;
 
 use App\Http\Controllers\Controller;
 use App\Models\CommissionLog;
-use Illuminate\Http\Request;
-use App\Models\User;
-use App\Models\Order;
 use App\Models\InviteCode;
+use App\Models\Order;
+use App\Models\User;
 use App\Utils\Helper;
+use Illuminate\Http\Request;
 
 class InviteController extends Controller
 {

+ 2 - 2
app/Http/Controllers/User/KnowledgeController.php → app/Http/Controllers/V1/User/KnowledgeController.php

@@ -1,13 +1,13 @@
 <?php
 
-namespace App\Http\Controllers\User;
+namespace App\Http\Controllers\V1\User;
 
 use App\Http\Controllers\Controller;
+use App\Models\Knowledge;
 use App\Models\User;
 use App\Services\UserService;
 use App\Utils\Helper;
 use Illuminate\Http\Request;
-use App\Models\Knowledge;
 
 class KnowledgeController extends Controller
 {

+ 2 - 3
app/Http/Controllers/User/NoticeController.php → app/Http/Controllers/V1/User/NoticeController.php

@@ -1,11 +1,10 @@
 <?php
 
-namespace App\Http\Controllers\User;
+namespace App\Http\Controllers\V1\User;
 
 use App\Http\Controllers\Controller;
-use Illuminate\Http\Request;
 use App\Models\Notice;
-use App\Utils\Helper;
+use Illuminate\Http\Request;
 
 class NoticeController extends Controller
 {

+ 9 - 10
app/Http/Controllers/User/OrderController.php → app/Http/Controllers/V1/User/OrderController.php

@@ -1,29 +1,28 @@
 <?php
 
-namespace App\Http\Controllers\User;
+namespace App\Http\Controllers\V1\User;
 
 use App\Http\Controllers\Controller;
 use App\Http\Requests\User\OrderSave;
-use App\Models\CommissionLog;
+use App\Models\Order;
 use App\Models\Payment;
+use App\Models\Plan;
+use App\Models\User;
 use App\Services\CouponService;
 use App\Services\OrderService;
 use App\Services\PaymentService;
 use App\Services\PlanService;
 use App\Services\UserService;
+use App\Utils\Helper;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Cache;
 use Illuminate\Support\Facades\DB;
-use App\Models\Order;
-use App\Models\Plan;
-use App\Models\User;
-use App\Utils\Helper;
-use Omnipay\Omnipay;
-use Stripe\Stripe;
-use Stripe\Source;
 use Library\BitpayX;
-use Library\MGate;
 use Library\Epay;
+use Library\MGate;
+use Omnipay\Omnipay;
+use Stripe\Source;
+use Stripe\Stripe;
 
 class OrderController extends Controller
 {

+ 2 - 2
app/Http/Controllers/User/PlanController.php → app/Http/Controllers/V1/User/PlanController.php

@@ -1,12 +1,12 @@
 <?php
 
-namespace App\Http\Controllers\User;
+namespace App\Http\Controllers\V1\User;
 
 use App\Http\Controllers\Controller;
+use App\Models\Plan;
 use App\Models\User;
 use App\Services\PlanService;
 use Illuminate\Http\Request;
-use App\Models\Plan;
 use Illuminate\Support\Facades\DB;
 
 class PlanController extends Controller

+ 2 - 7
app/Http/Controllers/User/ServerController.php → app/Http/Controllers/V1/User/ServerController.php

@@ -1,18 +1,13 @@
 <?php
 
-namespace App\Http\Controllers\User;
+namespace App\Http\Controllers\V1\User;
 
 use App\Http\Controllers\Controller;
+use App\Models\User;
 use App\Services\ServerService;
 use App\Services\UserService;
-use App\Utils\CacheKey;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Cache;
-use App\Models\ServerVmess;
-use App\Models\ServerLog;
-use App\Models\User;
-
-use App\Utils\Helper;
 use Illuminate\Support\Facades\DB;
 
 class ServerController extends Controller

+ 1 - 1
app/Http/Controllers/User/StatController.php → app/Http/Controllers/V1/User/StatController.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\User;
+namespace App\Http\Controllers\V1\User;
 
 use App\Http\Controllers\Controller;
 use App\Models\StatUser;

+ 1 - 1
app/Http/Controllers/User/TelegramController.php → app/Http/Controllers/V1/User/TelegramController.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\User;
+namespace App\Http\Controllers\V1\User;
 
 use App\Http\Controllers\Controller;
 use App\Models\User;

+ 3 - 4
app/Http/Controllers/User/TicketController.php → app/Http/Controllers/V1/User/TicketController.php

@@ -1,18 +1,17 @@
 <?php
 
-namespace App\Http\Controllers\User;
+namespace App\Http\Controllers\V1\User;
 
 use App\Http\Controllers\Controller;
 use App\Http\Requests\User\TicketSave;
 use App\Http\Requests\User\TicketWithdraw;
-use App\Jobs\SendTelegramJob;
+use App\Models\Ticket;
+use App\Models\TicketMessage;
 use App\Models\User;
 use App\Services\TelegramService;
 use App\Services\TicketService;
 use App\Utils\Dict;
 use Illuminate\Http\Request;
-use App\Models\Ticket;
-use App\Models\TicketMessage;
 use Illuminate\Support\Facades\DB;
 
 class TicketController extends Controller

+ 7 - 7
app/Http/Controllers/User/UserController.php → app/Http/Controllers/V1/User/UserController.php

@@ -1,20 +1,20 @@
 <?php
 
-namespace App\Http\Controllers\User;
+namespace App\Http\Controllers\V1\User;
 
 use App\Http\Controllers\Controller;
+use App\Http\Requests\User\UserChangePassword;
 use App\Http\Requests\User\UserTransfer;
 use App\Http\Requests\User\UserUpdate;
-use App\Http\Requests\User\UserChangePassword;
+use App\Models\Order;
+use App\Models\Plan;
+use App\Models\Ticket;
+use App\Models\User;
 use App\Services\AuthService;
 use App\Services\UserService;
 use App\Utils\CacheKey;
-use Illuminate\Http\Request;
-use App\Models\User;
-use App\Models\Plan;
-use App\Models\Ticket;
 use App\Utils\Helper;
-use App\Models\Order;
+use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Cache;
 
 class UserController extends Controller

+ 0 - 144
app/Http/Routes/AdminRoute.php

@@ -1,144 +0,0 @@
-<?php
-namespace App\Http\Routes;
-
-use Illuminate\Contracts\Routing\Registrar;
-
-class AdminRoute
-{
-    public function map(Registrar $router)
-    {
-        $router->group([
-            'prefix' => config('v2board.secure_path', config('v2board.frontend_admin_path', hash('crc32b', config('app.key')))),
-            'middleware' => ['admin', 'log']
-        ], function ($router) {
-            // Config
-            $router->get ('/config/fetch', 'Admin\\ConfigController@fetch');
-            $router->post('/config/save', 'Admin\\ConfigController@save');
-            $router->get ('/config/getEmailTemplate', 'Admin\\ConfigController@getEmailTemplate');
-            $router->get ('/config/getThemeTemplate', 'Admin\\ConfigController@getThemeTemplate');
-            $router->post('/config/setTelegramWebhook', 'Admin\\ConfigController@setTelegramWebhook');
-            $router->post('/config/testSendMail', 'Admin\\ConfigController@testSendMail');
-            // Plan
-            $router->get ('/plan/fetch', 'Admin\\PlanController@fetch');
-            $router->post('/plan/save', 'Admin\\PlanController@save');
-            $router->post('/plan/drop', 'Admin\\PlanController@drop');
-            $router->post('/plan/update', 'Admin\\PlanController@update');
-            $router->post('/plan/sort', 'Admin\\PlanController@sort');
-            // Server
-            $router->get ('/server/group/fetch', 'Admin\\Server\\GroupController@fetch');
-            $router->post('/server/group/save', 'Admin\\Server\\GroupController@save');
-            $router->post('/server/group/drop', 'Admin\\Server\\GroupController@drop');
-            $router->get ('/server/route/fetch', 'Admin\\Server\\RouteController@fetch');
-            $router->post('/server/route/save', 'Admin\\Server\\RouteController@save');
-            $router->post('/server/route/drop', 'Admin\\Server\\RouteController@drop');
-            $router->get ('/server/manage/getNodes', 'Admin\\Server\\ManageController@getNodes');
-            $router->post('/server/manage/sort', 'Admin\\Server\\ManageController@sort');
-            $router->group([
-                'prefix' => 'server/trojan'
-            ], function ($router) {
-                $router->get ('fetch', 'Admin\\Server\\TrojanController@fetch');
-                $router->post('save', 'Admin\\Server\\TrojanController@save');
-                $router->post('drop', 'Admin\\Server\\TrojanController@drop');
-                $router->post('update', 'Admin\\Server\\TrojanController@update');
-                $router->post('copy', 'Admin\\Server\\TrojanController@copy');
-                $router->post('sort', 'Admin\\Server\\TrojanController@sort');
-                $router->post('viewConfig', 'Admin\\Server\\TrojanController@viewConfig');
-            });
-            $router->group([
-                'prefix' => 'server/vmess'
-            ], function ($router) {
-                $router->get ('fetch', 'Admin\\Server\\VmessController@fetch');
-                $router->post('save', 'Admin\\Server\\VmessController@save');
-                $router->post('drop', 'Admin\\Server\\VmessController@drop');
-                $router->post('update', 'Admin\\Server\\VmessController@update');
-                $router->post('copy', 'Admin\\Server\\VmessController@copy');
-                $router->post('sort', 'Admin\\Server\\VmessController@sort');
-            });
-            $router->group([
-                'prefix' => 'server/shadowsocks'
-            ], function ($router) {
-                $router->get ('fetch', 'Admin\\Server\\ShadowsocksController@fetch');
-                $router->post('save', 'Admin\\Server\\ShadowsocksController@save');
-                $router->post('drop', 'Admin\\Server\\ShadowsocksController@drop');
-                $router->post('update', 'Admin\\Server\\ShadowsocksController@update');
-                $router->post('copy', 'Admin\\Server\\ShadowsocksController@copy');
-                $router->post('sort', 'Admin\\Server\\ShadowsocksController@sort');
-            });
-            $router->group([
-                'prefix' => 'server/hysteria'
-            ], function ($router) {
-                $router->get ('fetch', 'Admin\\Server\\HysteriaController@fetch');
-                $router->post('save', 'Admin\\Server\\HysteriaController@save');
-                $router->post('drop', 'Admin\\Server\\HysteriaController@drop');
-                $router->post('update', 'Admin\\Server\\HysteriaController@update');
-                $router->post('copy', 'Admin\\Server\\HysteriaController@copy');
-                $router->post('sort', 'Admin\\Server\\HysteriaController@sort');
-            });
-            // Order
-            $router->get ('/order/fetch', 'Admin\\OrderController@fetch');
-            $router->post('/order/update', 'Admin\\OrderController@update');
-            $router->post('/order/assign', 'Admin\\OrderController@assign');
-            $router->post('/order/paid', 'Admin\\OrderController@paid');
-            $router->post('/order/cancel', 'Admin\\OrderController@cancel');
-            $router->post('/order/detail', 'Admin\\OrderController@detail');
-            // User
-            $router->get ('/user/fetch', 'Admin\\UserController@fetch');
-            $router->post('/user/update', 'Admin\\UserController@update');
-            $router->get ('/user/getUserInfoById', 'Admin\\UserController@getUserInfoById');
-            $router->post('/user/generate', 'Admin\\UserController@generate');
-            $router->post('/user/dumpCSV', 'Admin\\UserController@dumpCSV');
-            $router->post('/user/sendMail', 'Admin\\UserController@sendMail');
-            $router->post('/user/ban', 'Admin\\UserController@ban');
-            $router->post('/user/resetSecret', 'Admin\\UserController@resetSecret');
-            $router->post('/user/setInviteUser', 'Admin\\UserController@setInviteUser');
-            // Stat
-            $router->get ('/stat/getStat', 'Admin\\StatController@getStat');
-            $router->get ('/stat/getOverride', 'Admin\\StatController@getOverride');
-            $router->get ('/stat/getServerLastRank', 'Admin\\StatController@getServerLastRank');
-            $router->get ('/stat/getOrder', 'Admin\\StatController@getOrder');
-            $router->get ('/stat/getStatUser', 'Admin\\StatController@getStatUser');
-            $router->get ('/stat/getRanking', 'Admin\\StatController@getRanking');
-            $router->get ('/stat/getStatRecord', 'Admin\\StatController@getStatRecord');
-            // Notice
-            $router->get ('/notice/fetch', 'Admin\\NoticeController@fetch');
-            $router->post('/notice/save', 'Admin\\NoticeController@save');
-            $router->post('/notice/update', 'Admin\\NoticeController@update');
-            $router->post('/notice/drop', 'Admin\\NoticeController@drop');
-            $router->post('/notice/show', 'Admin\\NoticeController@show');
-            // Ticket
-            $router->get ('/ticket/fetch', 'Admin\\TicketController@fetch');
-            $router->post('/ticket/reply', 'Admin\\TicketController@reply');
-            $router->post('/ticket/close', 'Admin\\TicketController@close');
-            // Coupon
-            $router->get ('/coupon/fetch', 'Admin\\CouponController@fetch');
-            $router->post('/coupon/generate', 'Admin\\CouponController@generate');
-            $router->post('/coupon/drop', 'Admin\\CouponController@drop');
-            $router->post('/coupon/show', 'Admin\\CouponController@show');
-            // Knowledge
-            $router->get ('/knowledge/fetch', 'Admin\\KnowledgeController@fetch');
-            $router->get ('/knowledge/getCategory', 'Admin\\KnowledgeController@getCategory');
-            $router->post('/knowledge/save', 'Admin\\KnowledgeController@save');
-            $router->post('/knowledge/show', 'Admin\\KnowledgeController@show');
-            $router->post('/knowledge/drop', 'Admin\\KnowledgeController@drop');
-            $router->post('/knowledge/sort', 'Admin\\KnowledgeController@sort');
-            // Payment
-            $router->get ('/payment/fetch', 'Admin\\PaymentController@fetch');
-            $router->get ('/payment/getPaymentMethods', 'Admin\\PaymentController@getPaymentMethods');
-            $router->post('/payment/getPaymentForm', 'Admin\\PaymentController@getPaymentForm');
-            $router->post('/payment/save', 'Admin\\PaymentController@save');
-            $router->post('/payment/drop', 'Admin\\PaymentController@drop');
-            $router->post('/payment/show', 'Admin\\PaymentController@show');
-            $router->post('/payment/sort', 'Admin\\PaymentController@sort');
-            // System
-            $router->get ('/system/getSystemStatus', 'Admin\\SystemController@getSystemStatus');
-            $router->get ('/system/getQueueStats', 'Admin\\SystemController@getQueueStats');
-            $router->get ('/system/getQueueWorkload', 'Admin\\SystemController@getQueueWorkload');
-            $router->get ('/system/getQueueMasters', '\\Laravel\\Horizon\\Http\\Controllers\\MasterSupervisorController@index');
-            $router->get ('/system/getSystemLog', 'Admin\\SystemController@getSystemLog');
-            // Theme
-            $router->get ('/theme/getThemes', 'Admin\\ThemeController@getThemes');
-            $router->post('/theme/saveThemeConfig', 'Admin\\ThemeController@saveThemeConfig');
-            $router->post('/theme/getThemeConfig', 'Admin\\ThemeController@getThemeConfig');
-        });
-    }
-}

+ 0 - 25
app/Http/Routes/PassportRoute.php

@@ -1,25 +0,0 @@
-<?php
-namespace App\Http\Routes;
-
-use Illuminate\Contracts\Routing\Registrar;
-
-class PassportRoute
-{
-    public function map(Registrar $router)
-    {
-        $router->group([
-            'prefix' => 'passport'
-        ], function ($router) {
-            // Auth
-            $router->post('/auth/register', 'Passport\\AuthController@register');
-            $router->post('/auth/login', 'Passport\\AuthController@login');
-            $router->get ('/auth/token2Login', 'Passport\\AuthController@token2Login');
-            $router->post('/auth/forget', 'Passport\\AuthController@forget');
-            $router->post('/auth/getQuickLoginUrl', 'Passport\\AuthController@getQuickLoginUrl');
-            $router->post('/auth/loginWithMailLink', 'Passport\\AuthController@loginWithMailLink');
-            // Comm
-            $router->post('/comm/sendEmailVerify', 'Passport\\CommController@sendEmailVerify');
-            $router->post('/comm/pv', 'Passport\\CommController@pv');
-        });
-    }
-}

+ 0 - 32
app/Http/Routes/StaffRoute.php

@@ -1,32 +0,0 @@
-<?php
-namespace App\Http\Routes;
-
-use Illuminate\Contracts\Routing\Registrar;
-
-class StaffRoute
-{
-    public function map(Registrar $router)
-    {
-        $router->group([
-            'prefix' => 'staff',
-            'middleware' => 'staff'
-        ], function ($router) {
-            // Ticket
-            $router->get ('/ticket/fetch', 'Staff\\TicketController@fetch');
-            $router->post('/ticket/reply', 'Staff\\TicketController@reply');
-            $router->post('/ticket/close', 'Staff\\TicketController@close');
-            // User
-            $router->post('/user/update', 'Staff\\UserController@update');
-            $router->get ('/user/getUserInfoById', 'Staff\\UserController@getUserInfoById');
-            $router->post('/user/sendMail', 'Staff\\UserController@sendMail');
-            $router->post('/user/ban', 'Staff\\UserController@ban');
-            // Plan
-            $router->get ('/plan/fetch', 'Staff\\PlanController@fetch');
-            // Notice
-            $router->get ('/notice/fetch', 'Admin\\NoticeController@fetch');
-            $router->post('/notice/save', 'Admin\\NoticeController@save');
-            $router->post('/notice/update', 'Admin\\NoticeController@update');
-            $router->post('/notice/drop', 'Admin\\NoticeController@drop');
-        });
-    }
-}

+ 0 - 64
app/Http/Routes/UserRoute.php

@@ -1,64 +0,0 @@
-<?php
-namespace App\Http\Routes;
-
-use Illuminate\Contracts\Routing\Registrar;
-
-class UserRoute
-{
-    public function map(Registrar $router)
-    {
-        $router->group([
-            'prefix' => 'user',
-            'middleware' => 'user'
-        ], function ($router) {
-            // User
-            $router->get ('/resetSecurity', 'User\\UserController@resetSecurity');
-            $router->get ('/info', 'User\\UserController@info');
-            $router->post('/changePassword', 'User\\UserController@changePassword');
-            $router->post('/update', 'User\\UserController@update');
-            $router->get ('/getSubscribe', 'User\\UserController@getSubscribe');
-            $router->get ('/getStat', 'User\\UserController@getStat');
-            $router->get ('/checkLogin', 'User\\UserController@checkLogin');
-            $router->post('/transfer', 'User\\UserController@transfer');
-            $router->post('/getQuickLoginUrl', 'User\\UserController@getQuickLoginUrl');
-            $router->get ('/getActiveSession', 'User\\UserController@getActiveSession');
-            $router->post('/removeActiveSession', 'User\\UserController@removeActiveSession');
-            // Order
-            $router->post('/order/save', 'User\\OrderController@save');
-            $router->post('/order/checkout', 'User\\OrderController@checkout');
-            $router->get ('/order/check', 'User\\OrderController@check');
-            $router->get ('/order/detail', 'User\\OrderController@detail');
-            $router->get ('/order/fetch', 'User\\OrderController@fetch');
-            $router->get ('/order/getPaymentMethod', 'User\\OrderController@getPaymentMethod');
-            $router->post('/order/cancel', 'User\\OrderController@cancel');
-            // Plan
-            $router->get ('/plan/fetch', 'User\\PlanController@fetch');
-            // Invite
-            $router->get ('/invite/save', 'User\\InviteController@save');
-            $router->get ('/invite/fetch', 'User\\InviteController@fetch');
-            $router->get ('/invite/details', 'User\\InviteController@details');
-            // Notice
-            $router->get ('/notice/fetch', 'User\\NoticeController@fetch');
-            // Ticket
-            $router->post('/ticket/reply', 'User\\TicketController@reply');
-            $router->post('/ticket/close', 'User\\TicketController@close');
-            $router->post('/ticket/save', 'User\\TicketController@save');
-            $router->get ('/ticket/fetch', 'User\\TicketController@fetch');
-            $router->post('/ticket/withdraw', 'User\\TicketController@withdraw');
-            // Server
-            $router->get ('/server/fetch', 'User\\ServerController@fetch');
-            // Coupon
-            $router->post('/coupon/check', 'User\\CouponController@check');
-            // Telegram
-            $router->get ('/telegram/getBotInfo', 'User\\TelegramController@getBotInfo');
-            // Comm
-            $router->get ('/comm/config', 'User\\CommController@config');
-            $router->Post('/comm/getStripePublicKey', 'User\\CommController@getStripePublicKey');
-            // Knowledge
-            $router->get ('/knowledge/fetch', 'User\\KnowledgeController@fetch');
-            $router->get ('/knowledge/getCategory', 'User\\KnowledgeController@getCategory');
-            // Stat
-            $router->get ('/stat/getTrafficLog', 'User\\StatController@getTrafficLog');
-        });
-    }
-}

+ 144 - 0
app/Http/Routes/V1/AdminRoute.php

@@ -0,0 +1,144 @@
+<?php
+namespace App\Http\Routes\V1;
+
+use Illuminate\Contracts\Routing\Registrar;
+
+class AdminRoute
+{
+    public function map(Registrar $router)
+    {
+        $router->group([
+            'prefix' => config('v2board.secure_path', config('v2board.frontend_admin_path', hash('crc32b', config('app.key')))),
+            'middleware' => ['admin', 'log'],
+        ], function ($router) {
+            // Config
+            $router->get ('/config/fetch', 'V1\\Admin\\ConfigController@fetch');
+            $router->post('/config/save', 'V1\\Admin\\ConfigController@save');
+            $router->get ('/config/getEmailTemplate', 'V1\\Admin\\ConfigController@getEmailTemplate');
+            $router->get ('/config/getThemeTemplate', 'V1\\Admin\\ConfigController@getThemeTemplate');
+            $router->post('/config/setTelegramWebhook', 'V1\\Admin\\ConfigController@setTelegramWebhook');
+            $router->post('/config/testSendMail', 'V1\\Admin\\ConfigController@testSendMail');
+            // Plan
+            $router->get ('/plan/fetch', 'V1\\Admin\\PlanController@fetch');
+            $router->post('/plan/save', 'V1\\Admin\\PlanController@save');
+            $router->post('/plan/drop', 'V1\\Admin\\PlanController@drop');
+            $router->post('/plan/update', 'V1\\Admin\\PlanController@update');
+            $router->post('/plan/sort', 'V1\\Admin\\PlanController@sort');
+            // Server
+            $router->get ('/server/group/fetch', 'V1\\Admin\\Server\\GroupController@fetch');
+            $router->post('/server/group/save', 'V1\\Admin\\Server\\GroupController@save');
+            $router->post('/server/group/drop', 'V1\\Admin\\Server\\GroupController@drop');
+            $router->get ('/server/route/fetch', 'V1\\Admin\\Server\\RouteController@fetch');
+            $router->post('/server/route/save', 'V1\\Admin\\Server\\RouteController@save');
+            $router->post('/server/route/drop', 'V1\\Admin\\Server\\RouteController@drop');
+            $router->get ('/server/manage/getNodes', 'V1\\Admin\\Server\\ManageController@getNodes');
+            $router->post('/server/manage/sort', 'V1\\Admin\\Server\\ManageController@sort');
+            $router->group([
+                'prefix' => 'server/trojan'
+            ], function ($router) {
+                $router->get ('fetch', 'V1\\Admin\\Server\\TrojanController@fetch');
+                $router->post('save', 'V1\\Admin\\Server\\TrojanController@save');
+                $router->post('drop', 'V1\\Admin\\Server\\TrojanController@drop');
+                $router->post('update', 'V1\\Admin\\Server\\TrojanController@update');
+                $router->post('copy', 'V1\\Admin\\Server\\TrojanController@copy');
+                $router->post('sort', 'V1\\Admin\\Server\\TrojanController@sort');
+                $router->post('viewConfig', 'V1\\Admin\\Server\\TrojanController@viewConfig');
+            });
+            $router->group([
+                'prefix' => 'server/vmess'
+            ], function ($router) {
+                $router->get ('fetch', 'V1\\Admin\\Server\\VmessController@fetch');
+                $router->post('save', 'V1\\Admin\\Server\\VmessController@save');
+                $router->post('drop', 'V1\\Admin\\Server\\VmessController@drop');
+                $router->post('update', 'V1\\Admin\\Server\\VmessController@update');
+                $router->post('copy', 'V1\\Admin\\Server\\VmessController@copy');
+                $router->post('sort', 'V1\\Admin\\Server\\VmessController@sort');
+            });
+            $router->group([
+                'prefix' => 'server/shadowsocks'
+            ], function ($router) {
+                $router->get ('fetch', 'V1\\Admin\\Server\\ShadowsocksController@fetch');
+                $router->post('save', 'V1\\Admin\\Server\\ShadowsocksController@save');
+                $router->post('drop', 'V1\\Admin\\Server\\ShadowsocksController@drop');
+                $router->post('update', 'V1\\Admin\\Server\\ShadowsocksController@update');
+                $router->post('copy', 'V1\\Admin\\Server\\ShadowsocksController@copy');
+                $router->post('sort', 'V1\\Admin\\Server\\ShadowsocksController@sort');
+            });
+            $router->group([
+                'prefix' => 'server/hysteria'
+            ], function ($router) {
+                $router->get ('fetch', 'V1\\Admin\\Server\\HysteriaController@fetch');
+                $router->post('save', 'V1\\Admin\\Server\\HysteriaController@save');
+                $router->post('drop', 'V1\\Admin\\Server\\HysteriaController@drop');
+                $router->post('update', 'V1\\Admin\\Server\\HysteriaController@update');
+                $router->post('copy', 'V1\\Admin\\Server\\HysteriaController@copy');
+                $router->post('sort', 'V1\\Admin\\Server\\HysteriaController@sort');
+            });
+            // Order
+            $router->get ('/order/fetch', 'V1\\Admin\\OrderController@fetch');
+            $router->post('/order/update', 'V1\\Admin\\OrderController@update');
+            $router->post('/order/assign', 'V1\\Admin\\OrderController@assign');
+            $router->post('/order/paid', 'V1\\Admin\\OrderController@paid');
+            $router->post('/order/cancel', 'V1\\Admin\\OrderController@cancel');
+            $router->post('/order/detail', 'V1\\Admin\\OrderController@detail');
+            // User
+            $router->get ('/user/fetch', 'V1\\Admin\\UserController@fetch');
+            $router->post('/user/update', 'V1\\Admin\\UserController@update');
+            $router->get ('/user/getUserInfoById', 'V1\\Admin\\UserController@getUserInfoById');
+            $router->post('/user/generate', 'V1\\Admin\\UserController@generate');
+            $router->post('/user/dumpCSV', 'V1\\Admin\\UserController@dumpCSV');
+            $router->post('/user/sendMail', 'V1\\Admin\\UserController@sendMail');
+            $router->post('/user/ban', 'V1\\Admin\\UserController@ban');
+            $router->post('/user/resetSecret', 'V1\\Admin\\UserController@resetSecret');
+            $router->post('/user/setInviteUser', 'V1\\Admin\\UserController@setInviteUser');
+            // Stat
+            $router->get ('/stat/getStat', 'V1\\Admin\\StatController@getStat');
+            $router->get ('/stat/getOverride', 'V1\\Admin\\StatController@getOverride');
+            $router->get ('/stat/getServerLastRank', 'V1\\Admin\\StatController@getServerLastRank');
+            $router->get ('/stat/getOrder', 'V1\\Admin\\StatController@getOrder');
+            $router->get ('/stat/getStatUser', 'V1\\Admin\\StatController@getStatUser');
+            $router->get ('/stat/getRanking', 'V1\\Admin\\StatController@getRanking');
+            $router->get ('/stat/getStatRecord', 'V1\\Admin\\StatController@getStatRecord');
+            // Notice
+            $router->get ('/notice/fetch', 'V1\\Admin\\NoticeController@fetch');
+            $router->post('/notice/save', 'V1\\Admin\\NoticeController@save');
+            $router->post('/notice/update', 'V1\\Admin\\NoticeController@update');
+            $router->post('/notice/drop', 'V1\\Admin\\NoticeController@drop');
+            $router->post('/notice/show', 'V1\\Admin\\NoticeController@show');
+            // Ticket
+            $router->get ('/ticket/fetch', 'V1\\Admin\\TicketController@fetch');
+            $router->post('/ticket/reply', 'V1\\Admin\\TicketController@reply');
+            $router->post('/ticket/close', 'V1\\Admin\\TicketController@close');
+            // Coupon
+            $router->get ('/coupon/fetch', 'V1\\Admin\\CouponController@fetch');
+            $router->post('/coupon/generate', 'V1\\Admin\\CouponController@generate');
+            $router->post('/coupon/drop', 'V1\\Admin\\CouponController@drop');
+            $router->post('/coupon/show', 'V1\\Admin\\CouponController@show');
+            // Knowledge
+            $router->get ('/knowledge/fetch', 'V1\\Admin\\KnowledgeController@fetch');
+            $router->get ('/knowledge/getCategory', 'V1\\Admin\\KnowledgeController@getCategory');
+            $router->post('/knowledge/save', 'V1\\Admin\\KnowledgeController@save');
+            $router->post('/knowledge/show', 'V1\\Admin\\KnowledgeController@show');
+            $router->post('/knowledge/drop', 'V1\\Admin\\KnowledgeController@drop');
+            $router->post('/knowledge/sort', 'V1\\Admin\\KnowledgeController@sort');
+            // Payment
+            $router->get ('/payment/fetch', 'V1\\Admin\\PaymentController@fetch');
+            $router->get ('/payment/getPaymentMethods', 'V1\\Admin\\PaymentController@getPaymentMethods');
+            $router->post('/payment/getPaymentForm', 'V1\\Admin\\PaymentController@getPaymentForm');
+            $router->post('/payment/save', 'V1\\Admin\\PaymentController@save');
+            $router->post('/payment/drop', 'V1\\Admin\\PaymentController@drop');
+            $router->post('/payment/show', 'V1\\Admin\\PaymentController@show');
+            $router->post('/payment/sort', 'V1\\Admin\\PaymentController@sort');
+            // System
+            $router->get ('/system/getSystemStatus', 'V1\\Admin\\SystemController@getSystemStatus');
+            $router->get ('/system/getQueueStats', 'V1\\Admin\\SystemController@getQueueStats');
+            $router->get ('/system/getQueueWorkload', 'V1\\Admin\\SystemController@getQueueWorkload');
+            $router->get ('/system/getQueueMasters', '\\Laravel\\Horizon\\Http\\Controllers\\MasterSupervisorController@index');
+            $router->get ('/system/getSystemLog', 'V1\\Admin\\SystemController@getSystemLog');
+            // Theme
+            $router->get ('/theme/getThemes', 'V1\\Admin\\ThemeController@getThemes');
+            $router->post('/theme/saveThemeConfig', 'V1\\Admin\\ThemeController@saveThemeConfig');
+            $router->post('/theme/getThemeConfig', 'V1\\Admin\\ThemeController@getThemeConfig');
+        });
+    }
+}

+ 4 - 4
app/Http/Routes/ClientRoute.php → app/Http/Routes/V1/ClientRoute.php

@@ -1,5 +1,5 @@
 <?php
-namespace App\Http\Routes;
+namespace App\Http\Routes\V1;
 
 use Illuminate\Contracts\Routing\Registrar;
 
@@ -12,10 +12,10 @@ class ClientRoute
             'middleware' => 'client'
         ], function ($router) {
             // Client
-            $router->get('/subscribe', 'Client\\ClientController@subscribe');
+            $router->get('/subscribe', 'V1\\Client\\ClientController@subscribe');
             // App
-            $router->get('/app/getConfig', 'Client\\AppController@getConfig');
-            $router->get('/app/getVersion', 'Client\\AppController@getVersion');
+            $router->get('/app/getConfig', 'V1\\Client\\AppController@getConfig');
+            $router->get('/app/getVersion', 'V1\\Client\\AppController@getVersion');
         });
     }
 }

+ 5 - 5
app/Http/Routes/GuestRoute.php → app/Http/Routes/V1/GuestRoute.php

@@ -1,5 +1,5 @@
 <?php
-namespace App\Http\Routes;
+namespace App\Http\Routes\V1;
 
 use Illuminate\Contracts\Routing\Registrar;
 
@@ -11,13 +11,13 @@ class GuestRoute
             'prefix' => 'guest'
         ], function ($router) {
             // Plan
-            $router->get ('/plan/fetch', 'Guest\\PlanController@fetch');
+            $router->get ('/plan/fetch', 'V1\\Guest\\PlanController@fetch');
             // Telegram
-            $router->post('/telegram/webhook', 'Guest\\TelegramController@webhook');
+            $router->post('/telegram/webhook', 'V1\\Guest\\TelegramController@webhook');
             // Payment
-            $router->match(['get', 'post'], '/payment/notify/{method}/{uuid}', 'Guest\\PaymentController@notify');
+            $router->match(['get', 'post'], '/payment/notify/{method}/{uuid}', 'V1\\Guest\\PaymentController@notify');
             // Comm
-            $router->get ('/comm/config', 'Guest\\CommController@config');
+            $router->get ('/comm/config', 'V1\\Guest\\CommController@config');
         });
     }
 }

+ 25 - 0
app/Http/Routes/V1/PassportRoute.php

@@ -0,0 +1,25 @@
+<?php
+namespace App\Http\Routes\V1;
+
+use Illuminate\Contracts\Routing\Registrar;
+
+class PassportRoute
+{
+    public function map(Registrar $router)
+    {
+        $router->group([
+            'prefix' => 'passport'
+        ], function ($router) {
+            // Auth
+            $router->post('/auth/register', 'V1\\Passport\\AuthController@register');
+            $router->post('/auth/login', 'V1\\Passport\\AuthController@login');
+            $router->get ('/auth/token2Login', 'V1\\Passport\\AuthController@token2Login');
+            $router->post('/auth/forget', 'V1\\Passport\\AuthController@forget');
+            $router->post('/auth/getQuickLoginUrl', 'V1\\Passport\\AuthController@getQuickLoginUrl');
+            $router->post('/auth/loginWithMailLink', 'V1\\Passport\\AuthController@loginWithMailLink');
+            // Comm
+            $router->post('/comm/sendEmailVerify', 'V1\\Passport\\CommController@sendEmailVerify');
+            $router->post('/comm/pv', 'V1\\Passport\\CommController@pv');
+        });
+    }
+}

+ 2 - 2
app/Http/Routes/ServerRoute.php → app/Http/Routes/V1/ServerRoute.php

@@ -1,5 +1,5 @@
 <?php
-namespace App\Http\Routes;
+namespace App\Http\Routes\V1;
 
 use Illuminate\Contracts\Routing\Registrar;
 
@@ -11,7 +11,7 @@ class ServerRoute
             'prefix' => 'server'
         ], function ($router) {
             $router->any('/{class}/{action}', function($class, $action) {
-                $ctrl = \App::make("\\App\\Http\\Controllers\\Server\\" . ucfirst($class) . "Controller");
+                $ctrl = \App::make("\\App\\Http\\Controllers\\V1\\Server\\" . ucfirst($class) . "Controller");
                 return \App::call([$ctrl, $action]);
             });
         });

+ 32 - 0
app/Http/Routes/V1/StaffRoute.php

@@ -0,0 +1,32 @@
+<?php
+namespace App\Http\Routes\V1;
+
+use Illuminate\Contracts\Routing\Registrar;
+
+class StaffRoute
+{
+    public function map(Registrar $router)
+    {
+        $router->group([
+            'prefix' => 'staff',
+            'middleware' => 'staff'
+        ], function ($router) {
+            // Ticket
+            $router->get ('/ticket/fetch', 'V1\\Staff\\TicketController@fetch');
+            $router->post('/ticket/reply', 'V1\\Staff\\TicketController@reply');
+            $router->post('/ticket/close', 'V1\\Staff\\TicketController@close');
+            // User
+            $router->post('/user/update', 'V1\\Staff\\UserController@update');
+            $router->get ('/user/getUserInfoById', 'V1\\Staff\\UserController@getUserInfoById');
+            $router->post('/user/sendMail', 'V1\\Staff\\UserController@sendMail');
+            $router->post('/user/ban', 'V1\\Staff\\UserController@ban');
+            // Plan
+            $router->get ('/plan/fetch', 'V1\\Staff\\PlanController@fetch');
+            // Notice
+            $router->get ('/notice/fetch', 'V1\\Admin\\NoticeController@fetch');
+            $router->post('/notice/save', 'V1\\Admin\\NoticeController@save');
+            $router->post('/notice/update', 'V1\\Admin\\NoticeController@update');
+            $router->post('/notice/drop', 'V1\\Admin\\NoticeController@drop');
+        });
+    }
+}

+ 64 - 0
app/Http/Routes/V1/UserRoute.php

@@ -0,0 +1,64 @@
+<?php
+namespace App\Http\Routes\V1;
+
+use Illuminate\Contracts\Routing\Registrar;
+
+class UserRoute
+{
+    public function map(Registrar $router)
+    {
+        $router->group([
+            'prefix' => 'user',
+            'middleware' => 'user'
+        ], function ($router) {
+            // User
+            $router->get ('/resetSecurity', 'V1\\User\\UserController@resetSecurity');
+            $router->get ('/info', 'V1\\User\\UserController@info');
+            $router->post('/changePassword', 'V1\\User\\UserController@changePassword');
+            $router->post('/update', 'V1\\User\\UserController@update');
+            $router->get ('/getSubscribe', 'V1\\User\\UserController@getSubscribe');
+            $router->get ('/getStat', 'V1\\User\\UserController@getStat');
+            $router->get ('/checkLogin', 'V1\\User\\UserController@checkLogin');
+            $router->post('/transfer', 'V1\\User\\UserController@transfer');
+            $router->post('/getQuickLoginUrl', 'V1\\User\\UserController@getQuickLoginUrl');
+            $router->get ('/getActiveSession', 'V1\\User\\UserController@getActiveSession');
+            $router->post('/removeActiveSession', 'V1\\User\\UserController@removeActiveSession');
+            // Order
+            $router->post('/order/save', 'V1\\User\\OrderController@save');
+            $router->post('/order/checkout', 'V1\\User\\OrderController@checkout');
+            $router->get ('/order/check', 'V1\\User\\OrderController@check');
+            $router->get ('/order/detail', 'V1\\User\\OrderController@detail');
+            $router->get ('/order/fetch', 'V1\\User\\OrderController@fetch');
+            $router->get ('/order/getPaymentMethod', 'V1\\User\\OrderController@getPaymentMethod');
+            $router->post('/order/cancel', 'V1\\User\\OrderController@cancel');
+            // Plan
+            $router->get ('/plan/fetch', 'V1\\User\\PlanController@fetch');
+            // Invite
+            $router->get ('/invite/save', 'V1\\User\\InviteController@save');
+            $router->get ('/invite/fetch', 'V1\\User\\InviteController@fetch');
+            $router->get ('/invite/details', 'V1\\User\\InviteController@details');
+            // Notice
+            $router->get ('/notice/fetch', 'V1\\User\\NoticeController@fetch');
+            // Ticket
+            $router->post('/ticket/reply', 'V1\\User\\TicketController@reply');
+            $router->post('/ticket/close', 'V1\\User\\TicketController@close');
+            $router->post('/ticket/save', 'V1\\User\\TicketController@save');
+            $router->get ('/ticket/fetch', 'V1\\User\\TicketController@fetch');
+            $router->post('/ticket/withdraw', 'V1\\User\\TicketController@withdraw');
+            // Server
+            $router->get ('/server/fetch', 'V1\\User\\ServerController@fetch');
+            // Coupon
+            $router->post('/coupon/check', 'V1\\User\\CouponController@check');
+            // Telegram
+            $router->get ('/telegram/getBotInfo', 'V1\\User\\TelegramController@getBotInfo');
+            // Comm
+            $router->get ('/comm/config', 'V1\\User\\CommController@config');
+            $router->Post('/comm/getStripePublicKey', 'V1\\User\\CommController@getStripePublicKey');
+            // Knowledge
+            $router->get ('/knowledge/fetch', 'V1\\User\\KnowledgeController@fetch');
+            $router->get ('/knowledge/getCategory', 'V1\\User\\KnowledgeController@getCategory');
+            // Stat
+            $router->get ('/stat/getTrafficLog', 'V1\\User\\StatController@getTrafficLog');
+        });
+    }
+}

+ 1 - 1
app/Providers/RouteServiceProvider.php

@@ -73,7 +73,7 @@ class RouteServiceProvider extends ServiceProvider
             'namespace' => $this->namespace
         ], function ($router) {
             foreach (glob(app_path('Http//Routes') . '/*.php') as $file) {
-                $this->app->make('App\\Http\\Routes\\' . basename($file, '.php'))->map($router);
+                $this->app->make('App\\Http\\Routes\\V1\\' . basename($file, '.php'))->map($router);
             }
         });
     }