attributes->get('user'); return response()->json([ 'code' => 200, 'message' => 'Success', 'user' => $user ]); })->middleware([CheckToken::class]); // SysUserController路由组,使用CheckToken中间件保护 Route::middleware([LogRequest::class,CheckToken::class])->group(function () { Route::prefix('admin')->group(function () { Route::get('getUserAuth', [App\Http\Controllers\API\Admin\SysUserController::class, 'getUserAuth']);// 获取当前用户信息 Route::post('user/list', [App\Http\Controllers\API\Admin\SysUserController::class, 'list']); // 用户管理接口 Route::post('user/Save', [App\Http\Controllers\API\Admin\SysUserController::class, 'Save']); // 用户管理接口 Route::post('user/Delete', [App\Http\Controllers\API\Admin\SysUserController::class, 'Delete']); // 用户管理接口 Route::post('user/resetPassword', [App\Http\Controllers\API\Admin\SysUserController::class, 'resetPassword']); // 重置用户密码 Route::get('role/getRoleList', [App\Http\Controllers\API\Admin\SysRoleController::class, 'getRoleList']); // 获取角色列表 Route::post('user/getUserRoles', [App\Http\Controllers\API\Admin\SysUserController::class, 'getUserRoles']); // 获取用户已绑定角色 Route::post('user/bindRoles', [App\Http\Controllers\API\Admin\SysUserController::class, 'bindRoles']); // 绑定角色到用户 Route::get('user/info', [App\Http\Controllers\API\Admin\SysUserController::class, 'getInfo']); // 获取当前用户信息 Route::put('user/info', [App\Http\Controllers\API\Admin\SysUserController::class, 'updateInfo']); // 更新用户信息 Route::post('user/password', [App\Http\Controllers\API\Admin\SysUserController::class, 'updatePassword']); // 更新密码 Route::post('user/avatar', [App\Http\Controllers\API\Admin\SysUserController::class, 'uploadAvatar']); // 上传头像 Route::post('upload/image', [App\Http\Controllers\API\Admin\UploadController::class, 'uploadImage']); // 通用图片上传 Route::post('role/list', [App\Http\Controllers\API\Admin\SysRoleController::class, 'list']); // 角色管理接口 Route::post('role/Save', [App\Http\Controllers\API\Admin\SysRoleController::class, 'Save']); // 角色管理接口 Route::post('role/Delete', [App\Http\Controllers\API\Admin\SysRoleController::class, 'Delete']); // 角色管理接口 Route::get('role/getAllPermissions', [App\Http\Controllers\API\Admin\SysRoleController::class, 'getAllPermissions']); // 获取所有权限 Route::post('role/getRolePermissions', [App\Http\Controllers\API\Admin\SysRoleController::class, 'getRolePermissions']); // 获取角色已有权限 Route::post('role/saveRolePermissions', [App\Http\Controllers\API\Admin\SysRoleController::class, 'saveRolePermissions']); // 保存角色权限 // 权限管理接口 Route::post('permission/list', [App\Http\Controllers\API\Admin\SysPermissionController::class, 'list']); // 权限列表 Route::post('permission/Save', [App\Http\Controllers\API\Admin\SysPermissionController::class, 'Save']); // 保存权限 Route::post('permission/Delete', [App\Http\Controllers\API\Admin\SysPermissionController::class, 'Delete']); // 删除权限 Route::get('permission/getPermissionTree', [App\Http\Controllers\API\Admin\SysPermissionController::class, 'getPermissionTree']); // 获取权限树 Route::get('permission/getAllPermissions', [App\Http\Controllers\API\Admin\SysPermissionController::class, 'getAllPermissions']); // 获取所有权限 // 系统配置接口 Route::post('config/list', [App\Http\Controllers\API\Admin\SysConfigController::class, 'list']); // 配置列表 Route::post('config/Save', [App\Http\Controllers\API\Admin\SysConfigController::class, 'Save']); // 保存配置 Route::post('config/Delete', [App\Http\Controllers\API\Admin\SysConfigController::class, 'Delete']); // 删除配置 Route::get('config/getInfo', [App\Http\Controllers\API\Admin\SysConfigController::class, 'getInfo']); // 获取配置详情 Route::get('config/getByKey', [App\Http\Controllers\API\Admin\SysConfigController::class, 'getByKey']); // 根据键获取配置 Route::post('config/batchUpdate', [App\Http\Controllers\API\Admin\SysConfigController::class, 'batchUpdate']); // 批量更新配置 Route::post('config/getConfig', [App\Http\Controllers\API\Admin\SysConfigController::class, 'getConfig']); // 获取配置 Route::post('config/clearCache', [App\Http\Controllers\API\Admin\SysConfigController::class, 'clearCache']); // 清除系统缓存 Route::post('config/rebuildCache', [App\Http\Controllers\API\Admin\SysConfigController::class, 'rebuildCache']); // 重建系统缓存 // 检查项目维护接口 Route::get('examItem/getAllBigClasses', [App\Http\Controllers\API\Admin\ExamItemController::class, 'getAllBigClasses']); // 获取所有大类 Route::post('examItem/getBigClassList', [App\Http\Controllers\API\Admin\ExamItemController::class, 'getBigClassList']); // 获取大类列表 Route::post('examItem/saveBigClass', [App\Http\Controllers\API\Admin\ExamItemController::class, 'saveBigClass']); // 保存大类 Route::post('examItem/deleteBigClass', [App\Http\Controllers\API\Admin\ExamItemController::class, 'deleteBigClass']); // 删除大类 Route::post('examItem/getSubClassList', [App\Http\Controllers\API\Admin\ExamItemController::class, 'getSubClassList']); // 获取子类列表 Route::post('examItem/saveSubClass', [App\Http\Controllers\API\Admin\ExamItemController::class, 'saveSubClass']); // 保存子类 Route::post('examItem/deleteSubClass', [App\Http\Controllers\API\Admin\ExamItemController::class, 'deleteSubClass']); // 删除子类 Route::post('examItem/getItemList', [App\Http\Controllers\API\Admin\ExamItemController::class, 'getItemList']); // 获取项目列表 Route::post('examItem/saveItem', [App\Http\Controllers\API\Admin\ExamItemController::class, 'saveItem']); // 保存项目 Route::post('examItem/deleteItem', [App\Http\Controllers\API\Admin\ExamItemController::class, 'deleteItem']); // 删除项目 Route::get('examItem/getChannelList', [App\Http\Controllers\API\Admin\ExamItemController::class, 'getChannelList']); // 获取渠道列表 // 检查项目分组管理接口 Route::post('examItem/getGroupList', [App\Http\Controllers\API\Admin\ExamItemController::class, 'getGroupList']); // 获取分组列表 Route::post('examItem/saveGroup', [App\Http\Controllers\API\Admin\ExamItemController::class, 'saveGroup']); // 保存分组 Route::post('examItem/deleteGroup', [App\Http\Controllers\API\Admin\ExamItemController::class, 'deleteGroup']); // 删除分组 Route::post('examItem/getGroupItemList', [App\Http\Controllers\API\Admin\ExamItemController::class, 'getGroupItemList']); // 获取分组内项目列表 Route::post('examItem/addItemToGroup', [App\Http\Controllers\API\Admin\ExamItemController::class, 'addItemToGroup']); // 添加项目到分组 Route::post('examItem/removeItemFromGroup', [App\Http\Controllers\API\Admin\ExamItemController::class, 'removeItemFromGroup']); // 从分组移除项目 // 检查项目资源配置接口 Route::get('examItem/item-resource-list', [App\Http\Controllers\API\Admin\ExamItemController::class, 'getItemResourceList']); // 获取项目的资源配置列表 Route::post('examItem/add-item-resources', [App\Http\Controllers\API\Admin\ExamItemController::class, 'addItemResources']); // 添加资源到项目 Route::post('examItem/remove-item-resource', [App\Http\Controllers\API\Admin\ExamItemController::class, 'removeItemResource']); // 从项目移除资源 // 互斥配置接口 Route::post('exclusion/getExclusionTypes', [App\Http\Controllers\API\Admin\ExclusionController::class, 'getExclusionTypes']); // 获取互斥类型列表 Route::post('exclusion/list', [App\Http\Controllers\API\Admin\ExclusionController::class, 'list']); // 查询互斥配置列表 Route::post('exclusion/add', [App\Http\Controllers\API\Admin\ExclusionController::class, 'add']); // 新增互斥配置 Route::post('exclusion/update', [App\Http\Controllers\API\Admin\ExclusionController::class, 'update']); // 更新互斥配置 Route::post('exclusion/delete', [App\Http\Controllers\API\Admin\ExclusionController::class, 'delete']); // 删除互斥配置 // 检查项目规则接口 Route::post('item-rule/getTypes', [App\Http\Controllers\API\Admin\ItemRuleController::class, 'getTypes']); // 获取规则类型列表 Route::post('item-rule/list', [App\Http\Controllers\API\Admin\ItemRuleController::class, 'index']); // 获取已绑定规则列表 Route::post('item-rule/save', [App\Http\Controllers\API\Admin\ItemRuleController::class, 'store']); // 新增规则绑定 Route::post('item-rule/delete', [App\Http\Controllers\API\Admin\ItemRuleController::class, 'destroy']); // 删除规则绑定 // 检查组管理接口 Route::post('examGroup/list', [App\Http\Controllers\API\Admin\ExamItemController::class, 'getExamGroupList']); // 获取检查组列表 // 检查部位管理接口 Route::post('bodyPart/list', [App\Http\Controllers\API\Admin\BodyPartController::class, 'list']); // 获取部位列表(树形) Route::get('bodyPart/getAll', [App\Http\Controllers\API\Admin\BodyPartController::class, 'getAll']); // 获取所有启用部位(下拉) Route::post('bodyPart/save', [App\Http\Controllers\API\Admin\BodyPartController::class, 'save']); // 新增/编辑部位 Route::post('bodyPart/delete', [App\Http\Controllers\API\Admin\BodyPartController::class, 'delete']); // 删除部位 // 检查项目-部位关联接口 Route::post('examItem/getItemBodyParts', [App\Http\Controllers\API\Admin\ExamItemController::class, 'getItemBodyParts']); // 获取项目关联部位 Route::post('examItem/saveItemBodyParts', [App\Http\Controllers\API\Admin\ExamItemController::class, 'saveItemBodyParts']); // 保存项目关联部位 // 工作台接口 Route::post('workbench/getApplicationList', [App\Http\Controllers\API\Admin\WorkbenchController::class, 'getApplicationList']); // 获取医嘱列表 Route::post('workbench/getPatientDetail', [App\Http\Controllers\API\Admin\WorkbenchController::class, 'getPatientDetail']); // 获取患者详情 Route::post('workbench/getApplicationsByHisOrderIds', [App\Http\Controllers\API\Admin\WorkbenchController::class, 'getApplicationsByHisOrderIds']); // 根据HIS医嘱ID数组获取医嘱信息 Route::post('workbench/getPatientAppointments', [App\Http\Controllers\API\Admin\WorkbenchController::class, 'getPatientAppointments']); // 获取患者预约列表 Route::post('workbench/getOperationLogs', [App\Http\Controllers\API\Admin\WorkbenchController::class, 'getOperationLogs']); // 获取操作日志 Route::post('workbench/getWardPatientList', [App\Http\Controllers\API\Admin\WorkbenchController::class, 'getWardPatientList']); // 获取病区患者列表 Route::post('workbench/getBatchPatientExaminations', [App\Http\Controllers\API\Admin\WorkbenchController::class, 'getBatchPatientExaminations']); // 批量获取多个患者的待预约项目 Route::post('workbench/getPatientPendingItems', [App\Http\Controllers\API\Admin\WorkbenchController::class, 'getPatientPendingItems']); // 获取患者待预约项目及分组 // 科室管理接口 Route::get('department/getAll', [App\Http\Controllers\API\Admin\DepartmentController::class, 'getAll']); // 获取所有可用科室(不分页) Route::post('department/list', [App\Http\Controllers\API\Admin\DepartmentController::class, 'list']); // 获取科室列表 Route::post('department/Save', [App\Http\Controllers\API\Admin\DepartmentController::class, 'Save']); // 保存科室 Route::post('department/Delete', [App\Http\Controllers\API\Admin\DepartmentController::class, 'Delete']); // 删除科室 // 科室资源管理接口 Route::post('departmentResource/list', [App\Http\Controllers\API\Admin\DepartmentResourceController::class, 'list']); // 获取科室资源列表 Route::post('departmentResource/getDetail', [App\Http\Controllers\API\Admin\DepartmentResourceController::class, 'getDetail']); // 获取科室资源详情 Route::post('departmentResource/Save', [App\Http\Controllers\API\Admin\DepartmentResourceController::class, 'Save']); // 保存科室资源 Route::post('departmentResource/Delete', [App\Http\Controllers\API\Admin\DepartmentResourceController::class, 'Delete']); // 删除科室资源 Route::get('departmentResource/getDepartments', [App\Http\Controllers\API\Admin\DepartmentResourceController::class, 'getDepartments']); // 获取科室列表 Route::get('departmentResource/getChannels', [App\Http\Controllers\API\Admin\DepartmentResourceController::class, 'getChannels']); // 获取渠道列表 Route::post('departmentResource/getBindItems', [App\Http\Controllers\API\Admin\DepartmentResourceController::class, 'getBindItems']); // 获取资源已绑定的项目列表 Route::post('departmentResource/getEnableResources', [App\Http\Controllers\API\Admin\DepartmentResourceController::class, 'getEnableResources']); // 根据科室ID获取资源列表 // 时间段管理接口 Route::post('period/list', [App\Http\Controllers\API\Admin\PeriodController::class, 'list']); // 获取时间段列表 Route::post('period/Save', [App\Http\Controllers\API\Admin\PeriodController::class, 'Save']); // 保存时间段 Route::post('period/Delete', [App\Http\Controllers\API\Admin\PeriodController::class, 'Delete']); // 删除时间段 // 模板类型管理接口 Route::post('modelType/list', [App\Http\Controllers\API\Admin\ModelTypeController::class, 'list']); // 获取模板类型列表 Route::post('modelType/Save', [App\Http\Controllers\API\Admin\ModelTypeController::class, 'Save']); // 保存模板类型 Route::post('modelType/Delete', [App\Http\Controllers\API\Admin\ModelTypeController::class, 'Delete']); // 删除模板类型 // 模板管理接口 Route::post('model/list', [App\Http\Controllers\API\Admin\ModelController::class, 'list']); // 获取模板列表 Route::post('model/Save', [App\Http\Controllers\API\Admin\ModelController::class, 'Save']); // 保存模板 Route::post('model/Delete', [App\Http\Controllers\API\Admin\ModelController::class, 'Delete']); // 删除模板 Route::post('model/generatePlanBatch', [App\Http\Controllers\API\Admin\ModelController::class, 'generatePlanBatch']); // 生成号源 // 号源管理接口 Route::post('plan/list', [App\Http\Controllers\API\Admin\PlanController::class, 'list']); // 获取号源列表 Route::post('plan/delete', [App\Http\Controllers\API\Admin\PlanController::class, 'delete']); // 删除号源 Route::post('plan/update', [App\Http\Controllers\API\Admin\PlanController::class, 'update']); // 更新号源 Route::post('plan/appointments', [App\Http\Controllers\API\Admin\PlanController::class, 'appointments']); // 获取号源预约记录 Route::post('plan/GetEnablePlan', [App\Http\Controllers\API\Admin\PlanController::class, 'GetEnablePlan']); // 获取可用号源(用于预约) Route::post('plan/GetPlanCalendar', [App\Http\Controllers\API\Admin\PlanController::class, 'GetPlanCalendar']); // 获取号源日历(按月查询) Route::post('plan/create-lock', [App\Http\Controllers\API\Admin\PlanController::class, 'createLock']); // 创建占位 Route::post('plan/release-lock', [App\Http\Controllers\API\Admin\PlanController::class, 'releaseLock']); // 释放占位 Route::post('plan/lock-history', [App\Http\Controllers\API\Admin\PlanController::class, 'getLockHistory']); // 获取占位记录 // 预约管理接口 Route::post('appointment/create', [App\Http\Controllers\API\Admin\AppointmentController::class, 'create']); // 创建预约 Route::post('appointment/cancel', [App\Http\Controllers\API\Admin\AppointmentController::class, 'cancel']); // 取消预约 Route::post('appointment/reschedule', [App\Http\Controllers\API\Admin\AppointmentController::class, 'reschedule']); // 改约 Route::post('appointment/auto-create', [App\Http\Controllers\API\Admin\AppointmentController::class, 'autoCreate']); // 自动预约 Route::post('appointment/preview', [App\Http\Controllers\API\Admin\AppointmentController::class, 'preview']); // 预约预览 // 报表统计接口 Route::post('report/appointment-overall', [App\Http\Controllers\API\Admin\ReportController::class, 'getAppointmentOverallReport']); // 预约总体统计报表 Route::post('report/timeDistribution', [App\Http\Controllers\API\Admin\ReportController::class, 'getTimeDistributionReport']); // 时间段分布报表 // 打印模板管理接口 Route::post('print-template/list', [App\Http\Controllers\API\Admin\PrintTemplateController::class, 'index']); // 获取模板列表 Route::post('print-template/show', [App\Http\Controllers\API\Admin\PrintTemplateController::class, 'show']); // 获取单个模板详情 Route::post('print-template/default', [App\Http\Controllers\API\Admin\PrintTemplateController::class, 'getDefault']); // 获取默认模板 Route::post('print-template/set-default', [App\Http\Controllers\API\Admin\PrintTemplateController::class, 'setDefault']); // 设为默认模板 Route::post('print-template/save', [App\Http\Controllers\API\Admin\PrintTemplateController::class, 'store']); // 创建模板 Route::post('print-template/update', [App\Http\Controllers\API\Admin\PrintTemplateController::class, 'update']); // 更新模板 Route::post('print-template/delete', [App\Http\Controllers\API\Admin\PrintTemplateController::class, 'destroy']); // 删除模板 Route::post('print-template/validate', [App\Http\Controllers\API\Admin\PrintTemplateController::class, 'validate']); // 验证模板语法 Route::post('print-template/render', [App\Http\Controllers\API\Admin\PrintTemplateController::class, 'render']); // 渲染HTML预览 Route::post('print-template/pdf', [App\Http\Controllers\API\Admin\PrintTemplateController::class, 'pdf']); // 生成PDF Route::post('print-template/exam-application', [App\Http\Controllers\API\Admin\PrintTemplateController::class, 'printExamApplication']); // 打印检查申请单(返回PDF) Route::post('print-template/exam-application-data', [App\Http\Controllers\API\Admin\PrintTemplateController::class, 'getExamApplicationData']); // 获取检查申请单打印数据 // 黑名单管理接口 Route::post('blocklist/list', [App\Http\Controllers\API\Admin\BlockListController::class, 'list']); // 获取黑名单列表 Route::post('blocklist/Save', [App\Http\Controllers\API\Admin\BlockListController::class, 'Save']); // 保存黑名单 Route::post('blocklist/Delete', [App\Http\Controllers\API\Admin\BlockListController::class, 'Delete']); // 删除黑名单 Route::get('blocklist/getDetail', [App\Http\Controllers\API\Admin\BlockListController::class, 'getDetail']); // 获取黑名单详情 Route::post('blocklist/unblock', [App\Http\Controllers\API\Admin\BlockListController::class, 'unblock']); // 解封黑名单 Route::get('blocklist/getPatientHistory', [App\Http\Controllers\API\Admin\BlockListController::class, 'getPatientHistory']); // 获取患者黑名单历史 // 节假日管理接口 Route::post('holiday/list', [App\Http\Controllers\API\Admin\HolidayController::class, 'list']); // 获取节假日列表 Route::post('holiday/Save', [App\Http\Controllers\API\Admin\HolidayController::class, 'Save']); // 保存节假日 Route::post('holiday/batchSave', [App\Http\Controllers\API\Admin\HolidayController::class, 'batchSave']); // 批量保存节假日 Route::post('holiday/Delete', [App\Http\Controllers\API\Admin\HolidayController::class, 'Delete']); // 删除节假日 Route::get('holiday/getByYear', [App\Http\Controllers\API\Admin\HolidayController::class, 'getByYear']); // 按年获取节假日 }); }); // 互斥校验测试接口 Route::post('exclusion/test', [App\Http\Controllers\API\Admin\ExclusionTestController::class, 'test']); // 测试互斥校验 Route::get('exclusion/test/patients', [App\Http\Controllers\API\Admin\ExclusionTestController::class, 'getPatients']); // 获取可用患者列表 // 项目规则校验测试接口 Route::post('item-rule/test', [App\Http\Controllers\API\Admin\ItemRuleTestController::class, 'test']); // 测试项目规则校验 // 综合校验测试接口 Route::post('comprehensive/test', [App\Http\Controllers\API\Admin\ComprehensiveTestController::class, 'test']); // 测试综合校验 // ==================== 内部定时任务接口路由 ==================== Route::middleware([LogRequest::class, InternalAuth::class . ':plan_api_key'])->prefix('internal')->group(function () { Route::post('plan/auto-generate', [App\Http\Controllers\API\Internal\PlanAutoGenerateController::class, 'generate']); }); // ==================== HIS 对接接口路由 ==================== Route::middleware([LogRequest::class, HisAuth::class])->prefix('his')->group(function () { Route::post('application/create', [App\Http\Controllers\API\His\ApplicationController::class, 'create']); Route::post('application/payment-notify', [App\Http\Controllers\API\His\ApplicationController::class, 'paymentNotify']); Route::post('application/cancel-notify', [App\Http\Controllers\API\His\ApplicationController::class, 'cancelNotify']); Route::post('appointment/query', [App\Http\Controllers\API\His\ApplicationController::class, 'queryAppointment']); Route::post('appointment/check-in', [App\Http\Controllers\API\His\ApplicationController::class, 'checkIn']); Route::post('appointment/cancel-check-in', [App\Http\Controllers\API\His\ApplicationController::class, 'cancelCheckIn']); Route::post('dict/sync-department', [App\Http\Controllers\API\His\DictController::class, 'syncDepartment']); Route::post('dict/sync-resource', [App\Http\Controllers\API\His\DictController::class, 'syncResource']); Route::post('dict/sync-item-class', [App\Http\Controllers\API\His\DictController::class, 'syncItemClass']); Route::post('dict/sync-item', [App\Http\Controllers\API\His\DictController::class, 'syncItem']); Route::post('dict/sync-staff', [App\Http\Controllers\API\His\DictController::class, 'syncStaff']); }); // ==================== H5 患者端路由 ==================== use App\Http\Middleware\CheckPatientToken; // H5 登录(无需Token) Route::post('h5/login', [App\Http\Controllers\API\H5\AuthController::class, 'login']); // H5 需要认证的路由 Route::middleware([LogRequest::class, CheckPatientToken::class])->prefix('h5')->group(function () { // 申请单 Route::post('applications', [App\Http\Controllers\API\H5\ApplicationController::class, 'list']); Route::post('application/detail', [App\Http\Controllers\API\H5\ApplicationController::class, 'detail']); // 号源 Route::post('plan/calendar', [App\Http\Controllers\API\H5\PlanController::class, 'calendar']); Route::post('plan/available', [App\Http\Controllers\API\H5\PlanController::class, 'available']); // 预约 Route::post('appointment/create', [App\Http\Controllers\API\H5\AppointmentController::class, 'create']); Route::post('appointment/cancel', [App\Http\Controllers\API\H5\AppointmentController::class, 'cancel']); Route::post('appointment/reschedule', [App\Http\Controllers\API\H5\AppointmentController::class, 'reschedule']); });