1
0

user.php 4.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. use App\Http\Controllers\PaymentController;
  3. use App\Http\Controllers\User\AffiliateController;
  4. use App\Http\Controllers\User\ArticleController;
  5. use App\Http\Controllers\User\InviteController;
  6. use App\Http\Controllers\User\InvoiceController;
  7. use App\Http\Controllers\User\NodeController;
  8. use App\Http\Controllers\User\ShopController;
  9. use App\Http\Controllers\User\TicketController;
  10. use App\Http\Controllers\UserController;
  11. use App\Utils\Avatar;
  12. use App\Utils\Helpers;
  13. use App\Utils\Payments\Manual;
  14. use App\Utils\Payments\Stripe;
  15. use Illuminate\Support\Str;
  16. Route::controller(UserController::class)->group(function () {
  17. Route::get('/', 'index')->name('home'); // 用户首页
  18. Route::post('exchange/subscribe', 'exchangeSubscribe')->name('changeSub'); // 更换节点订阅地址
  19. Route::post('checkIn', 'checkIn')->name('checkIn'); // 签到
  20. Route::get('profile', 'profile')->name('profile.show'); // 查看个人信息
  21. Route::post('profile', 'updateProfile')->name('profile.update'); // 修改个人信息
  22. Route::post('switch/admin', 'switchToAdmin')->name('switch'); // 转换成管理员的身份
  23. Route::get('currency/{code}', 'switchCurrency')->name('currency'); // 货币切换
  24. });
  25. Route::prefix('shop')->name('shop.')->controller(ShopController::class)->group(function () {
  26. Route::get('/', 'index')->name('index'); // 商品页面
  27. Route::get('/{good}', 'show')->name('show'); // 商品详细
  28. Route::post('/{good}/coupon/redeem', 'checkBonus')->name('coupon.check'); // 兑换优惠券码
  29. Route::post('/coupon/redeem', 'redeemCoupon')->name('coupon.redeem'); // 卡券余额充值
  30. Route::post('reset-traffic', 'resetTraffic')->name('resetTraffic'); // 重置用户流量
  31. });
  32. Route::prefix('invite')->name('invite.')->controller(InviteController::class)->group(function () {
  33. Route::get('/', 'index')->name('index'); // 邀请码
  34. Route::post('/', 'store')->name('store'); // 生成邀请码
  35. });
  36. Route::prefix('invoice')->name('invoice.')->controller(InvoiceController::class)->group(function () {
  37. Route::get('/', 'index')->name('index'); // 订单列表
  38. Route::get('/{sn}', 'show')->name('show'); // 订单详情
  39. Route::post('activate', 'activate')->name('activate'); // 激活预支付套餐
  40. });
  41. Route::prefix('node')->name('node.')->controller(NodeController::class)->group(function () {
  42. Route::get('/', 'index')->name('index'); // 节点列表
  43. Route::post('/{node}', 'show')->name('show'); // 节点详情
  44. });
  45. Route::prefix('knowledge')->name('knowledge.')->controller(ArticleController::class)->group(function () {
  46. Route::get('/', 'index')->name('index'); // 文章帮助中心
  47. Route::get('/{article}', 'show')->name('show'); // 文章详情
  48. });
  49. Route::prefix('ticket')->name('ticket.')->controller(TicketController::class)->group(function () {
  50. Route::get('/', 'index')->name('index'); // 工单列表
  51. Route::post('/', 'store')->name('store'); // 创建工单
  52. Route::get('{ticket}', 'edit')->name('edit'); // 查阅工单
  53. Route::put('{ticket}', 'reply')->name('reply'); // 回复工单
  54. Route::patch('{ticket}', 'close')->name('close'); // 关闭工单
  55. });
  56. Route::prefix('referral')->name('referral.')->controller(AffiliateController::class)->group(function () {
  57. Route::get('/', 'index')->name('index'); // 推广返利
  58. Route::post('/withdraw', 'withdraw')->name('withdraw'); // 申请提现
  59. });
  60. Route::prefix('payment')->controller(PaymentController::class)->group(function () {
  61. Route::post('purchase', 'purchase')->name('purchase'); // 创建支付
  62. Route::get('getStatus', 'getStatus')->name('orderStatus'); // 获取支付单状态
  63. Route::put('{order}/close', 'close')->name('closeOrder'); // 关闭支付单
  64. Route::get('{trade_no}', 'detail')->name('orderDetail'); // 支付单详情
  65. });
  66. Route::prefix('pay')->group(function () {
  67. Route::get('/manual/{payment}', [Manual::class, 'redirectPage'])->name('manual.checkout'); // 人工支付详细
  68. Route::post('/manual/{payment}/inform', [Manual::class, 'inform'])->name('manual.inform'); // 人工支付通知
  69. Route::get('/stripe/{session_id}', [Stripe::class, 'redirectPage'])->name('stripe.checkout'); // Stripe Checkout page
  70. });
  71. // 工具类路由
  72. Route::prefix('tools')->group(function () {
  73. Route::get('create/string', [Str::class, 'random'])->name('createStr'); // 生成随机密码
  74. Route::get('create/uuid', [Str::class, 'uuid'])->name('createUUID'); // 生成UUID
  75. Route::get('get/avatar', [Avatar::class, 'get'])->name('getAvatar'); // 获取随机头像
  76. Route::get('get/port', [Helpers::class, 'getPort'])->name('getPort'); // 获取端口
  77. });