1
0

web.php 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. use App\Channels\WeChatChannel;
  3. use App\Http\Controllers\AuthController;
  4. use App\Http\Controllers\MessageController;
  5. use App\Http\Controllers\OAuthController;
  6. use App\Http\Controllers\PaymentController;
  7. use App\Http\Controllers\TelegramController;
  8. use App\Http\Controllers\User\SubscribeController;
  9. // 订阅和支付回调路由(仅在配置完整时启用)
  10. if (config('app.key') && config('settings')) {
  11. // 节点订阅路由
  12. Route::domain(sysConfig('subscribe_domain') ?: sysConfig('website_url'))->group(function () {
  13. Route::get('s/{code}', [SubscribeController::class, 'getSubscribeByCode'])->name('sub'); // 节点订阅
  14. Route::get('subscribe/{code}', [SubscribeController::class, 'index'])->name('subscribe.index'); // 节点订阅页面
  15. });
  16. // 支付回调路由
  17. Route::domain(sysConfig('payment_callback_url') ?: sysConfig('website_url'))->match(['get', 'post'], 'callback/notify', [PaymentController::class, 'notify'])->name('payment.notify'); // 支付回调
  18. }
  19. // API Webhook 路由
  20. Route::post('api/telegram/webhook', [TelegramController::class, 'webhook'])->middleware('telegram'); // Telegram webhook
  21. Route::get('api/wechat/verify', [WeChatChannel::class, 'verify'])->name('wechat.verify'); // 微信回调验证
  22. Route::get('/message/{type}/{msg_id}/show', [MessageController::class, 'index'])->name('message.show'); // 消息展示
  23. // 认证相关路由
  24. Route::middleware(['isForbidden', 'affiliate', 'isMaintenance'])->group(function () {
  25. // OAuth 第三方登录
  26. Route::prefix('oauth')->name('oauth.')->controller(OAuthController::class)->group(function () {
  27. Route::get('{provider}/redirect/{operation}', 'redirect')->whereIn('operation', ['bind', 'register', 'login'])->name('route'); // 转跳
  28. Route::get('{provider}/unbind', 'unbind')->name('unbind'); // 解绑
  29. Route::get('{provider}/login', 'login')->name('login'); // 登录 callback
  30. Route::get('{provider}/register', 'register')->name('register'); // 注册 callback
  31. Route::get('{provider}/bind', 'bind')->name('bind'); // 绑定 callback
  32. });
  33. // 认证相关路由
  34. Route::controller(AuthController::class)->group(function () {
  35. Route::get('lang/{locale}', 'switchLang')->name('lang')->withoutMiddleware('isMaintenance'); // 语言切换
  36. Route::get('login', 'showLoginForm')->middleware('isSecurity')->name('login'); // 登录页面
  37. Route::post('login', 'login')->middleware('isSecurity'); // 登录
  38. Route::get('logout', 'logout')->name('logout'); // 退出
  39. Route::get('register', 'showRegistrationForm')->name('register'); // 注册
  40. Route::post('register', 'register'); // 注册
  41. Route::match(['get', 'post'], 'reset', 'resetPassword')->name('resetPasswd'); // 重设密码
  42. Route::match(['get', 'post'], 'reset/{token}', 'reset')->name('resettingPasswd'); // 重设密码
  43. Route::match(['get', 'post'], 'activeUser', 'activeUser')->name('active'); // 激活账号
  44. Route::get('active/{token}', 'active')->name('activeAccount'); // 激活账号
  45. Route::post('send', 'sendCode')->name('sendVerificationCode'); // 发送注册验证码
  46. Route::get('free', 'free')->name('freeInvitationCode'); // 免费邀请码
  47. });
  48. });
  49. // 管理员登录路由
  50. Route::get('admin/login', [AuthController::class, 'showLoginForm'])->name('admin.login')->middleware('isForbidden', 'isSecurity'); // 管理员登录页面
  51. Route::post('admin/login', [AuthController::class, 'login'])->middleware('isSecurity')->name('admin.login.post'); // 管理员登录