功能修复: 1. 患者创建空名称验证:后端添加 name.trim().is_empty() 检查 2. 仪表盘统计容错:单个查询失败返回零值而非 500 3. FHIR 路由修复:从 /fhir 移到 /api/v1/fhir 保持一致 4. 冻结模块后端中间件:新增 frozen_module_middleware 拦截冻结路径 5. 积分端点权限码:health.health-data.list → health.points.list 6. 角色权限迁移:护士补充 devices.list,运营补充 points.list/manage 7. 测试结果文档:R01-R05 角色测试 + T00/T10 结果归档 Clippy 全 workspace 清零(14→0 errors): - erp-core: 修复 empty doc line、collapsible if、redundant closure 等 9 处 - erp-health: 修复 too_many_arguments、unused var、unnecessary parens 等 58 处 - erp-ai: 修复 dead_code、unused import 等 11 处 - erp-plugin: 修复 too_many_arguments、wildcard pattern 等 11 处 - erp-server-migration: 修复 enum_variant_names 5 处 - erp-auth/config/workflow/message: 各 1-3 处 工程改进: - lint-staged 配置迁移到 .lintstagedrc.js(函数式避免文件列表传给 clippy) - cargo fmt 统一格式化
2.2 KiB
2.2 KiB
R01 Admin(管理员)测试结果
测试人: AI 辅助 | 测试日期: 2026-05-07 | 环境: Windows 11 / Chrome / 后端 localhost:3000 / 前端 localhost:5174
通过项
| # | 测试项 | 结果 | 说明 |
|---|---|---|---|
| A.2 | 创建患者 | ✅ | 填写姓名/性别/生日/血型/身份证/来源/过敏史/病史/紧急联系人,保存成功,列表从55→56条 |
| A.3 | 编辑患者 | ✅ | 名称 R01-AdminTestPatient → R01-AdminTestPatient-Edited,提示"患者信息更新成功" |
| A.4 | 标签分配 | ✅ | 勾选 AnnualCheckup + HighBP-Risk → 保存,提示"标签更新成功" |
| A.5 | 标签管理页 | ✅ | 4个可用标签(AnnualCheckup/Chronic Disease/HighBP-Risk/接口测试标签),每行"管理标签"按钮 |
| B.1 | 随访管理列表 | ✅ | 34条记录,状态筛选/日期/类型/负责人筛选,填写记录/分配/删除按钮 |
| B.2 | 告警仪表盘 | ✅ | 5条告警,统计卡片(待处理1/已确认1/危急值2),告警列表含严重级别和患者名 |
| B.3 | 咨询管理 | ✅ | 14条记录,新建会话/导出按钮,状态/日期筛选,显示在线/电话/客服类型 |
| B.4 | 用户管理 | ✅ | 17个用户,含admin/doctor_test/nurse_test/health_manager_test/operator_test等,CRUD按钮齐全 |
| 1.1 | PII 脱敏 | ✅ | 编辑患者时身份证号显示 110****0011,紧急电话显示 138****8000 |
问题发现
| # | 测试项 | 结果 | 说明 |
|---|---|---|---|
| A.6 | 标签列表刷新 | ⚠️ | 标签分配保存成功后,列表中该患者仍显示"暂无标签",需手动刷新页面才更新 |
已验证的测试账号
| 账号 | 角色 | 状态 |
|---|---|---|
| admin | 管理员 | ✅ 正常 |
| doctor_test | 医生 | ✅ 正常 |
| nurse_test | 护士 | ✅ 正常 |
| health_manager_test | 健康管理师 | ✅ 正常 |
| operator_test | 运营人员 | ✅ 正常 |
备注
- 标签管理页的"暂无标签"刷新问题是前端 UI 问题,后端数据已正确保存
- 告警仪表盘 WebSocket 显示"连接断开"(uid=14_5),但不影响告警列表的 HTTP 拉取
- 各列表页均有分页、筛选功能正常工作