middleware($apiMiddleware); // 飞书登录回调(不在 /api/v1 下,供飞书重定向使用) Route::get('/login/callback', [app\controller\AuthController::class, 'qrcodeLoginCallback'])->middleware($apiMiddleware); // 飞书卡片回调(不需要认证,飞书服务器直接调用) Route::post('/feishu/card/callback', [app\controller\FeishuCardController::class, 'callback']); // 调试接口(开发环境使用) Route::group('/debug', function () { Route::get('/message-logs', [app\controller\DebugController::class, 'messageLogs']); Route::post('/clear-logs', [app\controller\DebugController::class, 'clearLogs']); }); // 用户路由(需要认证) Route::group('/api/v1/user', function () { Route::get('/info', [app\controller\UserController::class, 'info']); Route::get('/menu', [app\controller\UserController::class, 'menu']); Route::get('/companies', [app\controller\UserController::class, 'companies']); Route::get('/list', [app\controller\UserController::class, 'list']); Route::get('/system-mapping', [app\controller\UserController::class, 'systemMapping']); Route::post('/switch-company', [app\controller\UserController::class, 'switchCompany']); Route::post('/change-password', [app\controller\UserController::class, 'changePassword']); })->middleware($authMiddleware); // 审批路由(需要认证) Route::group('/api/v1/approval', function () { Route::get('/list', [app\controller\ApprovalController::class, 'list']); Route::get('/detail/{id}', [app\controller\ApprovalController::class, 'detail']); Route::post('/approve/{id}', [app\controller\ApprovalController::class, 'approve']); Route::post('/reject/{id}', [app\controller\ApprovalController::class, 'reject']); Route::post('/cancel/{id}', [app\controller\ApprovalController::class, 'cancel']); })->middleware($authMiddleware); // 出差审批路由(需要认证) Route::group('/api/v1/business-trip', function () { Route::get('/list', [app\controller\BusinessTripController::class, 'list']); Route::get('/detail/{id}', [app\controller\BusinessTripController::class, 'detail']); Route::get('/default-approvers', [app\controller\BusinessTripController::class, 'getDefaultApprovers']); Route::post('/create', [app\controller\BusinessTripController::class, 'create']); Route::post('/update/{id}', [app\controller\BusinessTripController::class, 'update']); Route::post('/submit/{id}', [app\controller\BusinessTripController::class, 'submit']); Route::post('/cancel/{id}', [app\controller\BusinessTripController::class, 'cancel']); Route::delete('/{id}', [app\controller\BusinessTripController::class, 'deleteDraft']); Route::post('/approve/{id}', [app\controller\BusinessTripController::class, 'approve']); })->middleware($authMiddleware); // 默认路由 Route::fallback(function () { return json(['code' => 404, 'message' => 'Not Found']); });