group(function () { // --- 认证 --- Route::post('/auth/logout', [AuthController::class, 'logout']); Route::get('/auth/me', [AuthController::class, 'me']); // --- 系统设置模块 --- Route::prefix('system')->group(function () { // 门店管理 Route::apiResource('stores', StoreController::class); // 部门管理 Route::apiResource('departments', DepartmentController::class)->except(['show']); // 职务管理 Route::apiResource('positions', PositionController::class)->except(['show']); // 用户管理 Route::apiResource('users', UserController::class); Route::put('users/{user}/status', [UserController::class, 'updateStatus']); Route::put('users/{user}/password', [UserController::class, 'resetPassword']); // 角色管理 Route::apiResource('roles', RoleController::class); Route::put('roles/{role}/permissions', [RoleController::class, 'assignPermissions']); // 菜单管理 Route::apiResource('menus', MenuController::class)->except(['show']); // 权限管理 Route::apiResource('permissions', PermissionController::class)->except(['show']); // 数据字典 Route::apiResource('dictionaries', DictionaryController::class)->except(['show', 'update']); Route::get('dictionaries/{dictionary}/items', [DictionaryController::class, 'items']); Route::post('dictionaries/{dictionary}/items', [DictionaryController::class, 'storeItem']); Route::put('dictionary-items/{item}', [DictionaryController::class, 'updateItem']); Route::delete('dictionary-items/{item}', [DictionaryController::class, 'destroyItem']); // 操作日志 Route::get('operation-logs', [OperationLogController::class, 'index']); }); // --- CRM 客户关系模块 --- Route::prefix('crm')->group(function () { // 渠道管理 Route::apiResource('channels', ChannelController::class); // 线索管理 Route::apiResource('leads', LeadController::class); Route::post('leads/{lead}/follow', [LeadController::class, 'follow']); Route::put('leads/{lead}/assign', [LeadController::class, 'assign']); // 客户管理 Route::apiResource('customers', CustomerController::class); // 合同管理 Route::apiResource('contracts', ContractController::class); Route::put('contracts/{contract}/audit', [ContractController::class, 'audit']); // 问卷管理 Route::apiResource('questionnaires', QuestionnaireController::class); Route::post('questionnaire-answers', [QuestionnaireController::class, 'submitAnswer']); Route::get('questionnaire-answers', [QuestionnaireController::class, 'answers']); // 投诉管理 Route::apiResource('complaints', ComplaintController::class); Route::put('complaints/{complaint}/handle', [ComplaintController::class, 'handle']); }); // --- 房务管理模块 --- Route::prefix('room')->group(function () { // 房型管理 Route::apiResource('room-types', RoomTypeController::class); // 房间管理 Route::apiResource('rooms', RoomController::class); Route::put('rooms/{room}/status', [RoomController::class, 'updateStatus']); // 预定管理 Route::apiResource('reservations', ReservationController::class); Route::put('reservations/{reservation}/check-in', [ReservationController::class, 'checkIn']); Route::put('reservations/{reservation}/check-out', [ReservationController::class, 'checkOut']); Route::put('reservations/{reservation}/cancel', [ReservationController::class, 'cancel']); // 外出记录 Route::apiResource('customer-outings', CustomerOutingController::class)->only(['index', 'store', 'show']); Route::put('customer-outings/{customerOuting}/back', [CustomerOutingController::class, 'recordBack']); // 呼叫记录 Route::get('call-records', [CallRecordController::class, 'index']); Route::post('call-records', [CallRecordController::class, 'store']); Route::put('call-records/{callRecord}/handle', [CallRecordController::class, 'handle']); }); // --- 护理管理模块 --- Route::prefix('care')->group(function () { // 护理档案 Route::apiResource('profiles', CareProfileController::class); // 护理计划 Route::apiResource('plans', CarePlanController::class); // 护理记录 Route::apiResource('records', CareRecordController::class); // 护理异常 Route::apiResource('exceptions', CareExceptionController::class)->except(['destroy']); Route::put('exceptions/{careException}/handle', [CareExceptionController::class, 'handle']); // 健康指标 Route::get('health-metrics', [HealthMetricController::class, 'index']); Route::post('health-metrics', [HealthMetricController::class, 'store']); }); // --- 月子餐模块 --- Route::prefix('meal')->group(function () { // 菜品库 Route::apiResource('dishes', DishController::class); // 排餐模板 Route::apiResource('templates', MealPlanTemplateController::class); // 每日排餐 Route::apiResource('daily-plans', DailyMealPlanController::class); Route::put('daily-plans/{dailyMealPlan}/deliver', [DailyMealPlanController::class, 'deliver']); Route::put('daily-plans/{dailyMealPlan}/status', [DailyMealPlanController::class, 'updateStatus']); // 膳食评价 Route::get('reviews', [MealReviewController::class, 'index']); Route::post('reviews', [MealReviewController::class, 'store']); }); // --- 服务产康模块 --- Route::prefix('service')->group(function () { // 服务项目 Route::apiResource('items', ServiceItemController::class); // 服务套餐 Route::apiResource('packages', ServicePackageController::class); // 服务订单 Route::apiResource('orders', ServiceOrderController::class); Route::put('orders/{serviceOrder}/pay', [ServiceOrderController::class, 'pay']); Route::put('orders/{serviceOrder}/complete', [ServiceOrderController::class, 'complete']); // 服务执行 Route::get('executions', [ServiceExecutionController::class, 'index']); Route::post('executions', [ServiceExecutionController::class, 'store']); Route::put('executions/{serviceExecution}/start', [ServiceExecutionController::class, 'start']); Route::put('executions/{serviceExecution}/finish', [ServiceExecutionController::class, 'finish']); }); // --- 月嫂管理模块 --- Route::prefix('nanny')->group(function () { // 月嫂信息 Route::apiResource('nannies', NannyController::class); // 月嫂订单 Route::apiResource('orders', NannyOrderController::class); // 月嫂排班 Route::get('schedules', [NannyScheduleController::class, 'index']); Route::post('schedules', [NannyScheduleController::class, 'store']); }); // --- 进销存模块 --- Route::prefix('inventory')->group(function () { // 仓库管理 Route::apiResource('warehouses', WarehouseController::class); // 供应商管理 Route::apiResource('suppliers', SupplierController::class); // 物料管理 Route::apiResource('materials', MaterialController::class); // 采购管理 Route::apiResource('purchase-orders', PurchaseOrderController::class); Route::put('purchase-orders/{purchaseOrder}/audit', [PurchaseOrderController::class, 'audit']); // 出入库流水 Route::get('stock-movements', [StockMovementController::class, 'index']); Route::post('stock-movements', [StockMovementController::class, 'store']); Route::get('stock-movements/{stockMovement}', [StockMovementController::class, 'show']); Route::put('stock-movements/{stockMovement}/confirm', [StockMovementController::class, 'confirm']); // 库存查询 Route::get('inventories', [InventoryController::class, 'index']); }); });