3968e94195
- 后端新增 getDefaultApprovers 接口,从审批流程配置中获取默认审批人和抄送人 - 前端申请页面加载时自动获取并显示默认审批人和抄送人 - 添加默认审批流程配置:1个审批人(闫继光) + 2个抄送人(孟启、程丽敏) - 移除后端 support 目录下的自定义 Db 和 Model 类,使用 Webman 官方实现 - 前端选择页面优化:优先从 sessionStorage 恢复,否则加载后端默认配置 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
50 lines
2.5 KiB
PHP
50 lines
2.5 KiB
PHP
<?php
|
|
|
|
use Webman\Route;
|
|
|
|
// 全局 API 中间件(语言设置)
|
|
$apiMiddleware = [app\middleware\LanguageMiddleware::class];
|
|
$authMiddleware = array_merge($apiMiddleware, [app\middleware\AuthMiddleware::class]);
|
|
|
|
// 认证路由(不需要认证)
|
|
Route::group('/api/v1', function () {
|
|
Route::post('/auth/login', [app\controller\AuthController::class, 'login']);
|
|
Route::post('/auth/feishu-login', [app\controller\AuthController::class, 'feishuLogin']);
|
|
})->middleware($apiMiddleware);
|
|
|
|
// 用户路由(需要认证)
|
|
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::post('/switch-company', [app\controller\UserController::class, 'switchCompany']);
|
|
})->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']);
|
|
});
|