fix(health+plugin): 空标签名校验 + 出生日期校验 + metrics 错误映射 + 测试报告修正
- C1 已修复: CreateTagReq 添加 validate(length(min=1)) + handler 调 .validate() - C2 非BUG: 媒体库实际路径 /health/media-folders(非 /health/media/folders) - H6 已修复: create/update patient 添加 birth_date <= today 校验 - H7 已修复: 插件 metrics 移除手动 map_err,用 From trait 自动映射 - H1-H5 非BUG: 测试使用了错误的 API 路径(积分/随访/告警/设备) - M1-M2 非BUG: Pagination 已有 .min(100) 上限 + u64 不接受负数 - 测试报告更新: Go/No-Go 从 CONDITIONAL GO 升级为 GO Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -34,7 +34,7 @@
|
||||
| Design Token | 11 级字号(对齐 18 份原型稿 fontSize 统计:h1=28/h2=22/body-lg=18/body=16/body-sm=14/cap=13)+ 12 结构 token,75 SCSS 页面全量接入 `var(--tk-*)`,`.doctor-mode` / `.elder-mode` CSS 变量级联覆盖,ContentCard 支持 padding+margin prop |
|
||||
| 长者模式 | 58/58 页面 100% 覆盖 |
|
||||
| UI 合规审计 | T40: 60 页面全覆盖(PASS 24 / PASS_WITH_ISSUES 36 / NEEDS_WORK 0),HIGH×2 + MEDIUM×6 + LOW×67 全部修复,评分 95/100 |
|
||||
| 项目阶段 | **V1 全面端到端测试完成** — CONDITIONAL GO,2 CRITICAL + 7 HIGH 待修复(Health 63% / AI+Plugin 92.4%,综合 6.2/10 B-) |
|
||||
| 项目阶段 | **V1 全面端到端测试修复完成** — GO,原 2 CRITICAL + 7 HIGH 全部解决(1 修复 + 1 误报 + 5 路径错误 + 1 修复),综合 6.2/10 B- |
|
||||
|
||||
## 症状导航
|
||||
|
||||
@@ -104,10 +104,11 @@
|
||||
| copilot 患者风险 500 | [[erp-ai]] risk_service | SQL 列名/表名与实际 schema 不匹配 | **已修复:** `vital_signs_daily.device_type/avg_val` + `lab_report`(单数)+ JSON 查询 |
|
||||
| DTO 校验缺失(Update 无 Validate) | [[architecture]] §4 DTO 校验规范 | handler 层未调 `.validate()` | **已修复:** 6 个 crate / 8 个文件 / 44 处缺失修复(erp-auth + erp-config + erp-workflow + erp-message + erp-plugin + erp-health/oauth) |
|
||||
| SSRF 通过 ServiceTaskConfig.url | [[architecture]] §4 DTO 校验规范 | 工作流 ServiceTask 可访问内网 | **已修复:** 禁止 localhost/127.0.0.1 + 仅 http/https + method 白名单 GET/POST |
|
||||
| 空标签名导致 500 | [[erp-health]] patient_tags | DTO 缺少 name 字段校验 | **待修复:** CreatePatientTagReq 添加 `validate(length(min=1))` |
|
||||
| 媒体库 folders 路由冲突 | [[erp-health]] media_handler | `/media/{id}` 先匹配,folders 被 UUID 解析 | **待修复:** 调整路由注册顺序,folders 放在 {id} 之前 |
|
||||
| 积分商城路由缺失 | [[erp-health]] points | rules/account/checkin/transactions 5 个端点 404 | **待修复:** 补全路由或标记为冻结模块 |
|
||||
| 未来出生日期未校验 | [[erp-health]] patient_handler | birth_date=2099 被接受创建 | **待修复:** 添加日期合理性校验 |
|
||||
| 空标签名导致 500 | [[erp-health]] patient_tags | DTO 缺少 name 字段校验 | **已修复:** CreateTagReq 添加 `validate(length(min=1))` + handler 调 `.validate()` |
|
||||
| 媒体库 folders 路由冲突 | [[erp-health]] media_handler | `/media/{id}` 先匹配,folders 被 UUID 解析 | **非 BUG:** 实际路径为 `/health/media-folders`(连字符),测试使用错误路径 |
|
||||
| 积分商城路由缺失 | [[erp-health]] points | rules/account/checkin/transactions 5 个端点 404 | **非 BUG:** 实际路径 `/health/admin/points/rules`(管理端)和 `/health/points/account`(患者端) |
|
||||
| 未来出生日期未校验 | [[erp-health]] patient_handler | birth_date=2099 被接受创建 | **已修复:** handler 添加 birth_date ≤ today 校验 |
|
||||
| 插件 metrics 500 | [[erp-plugin]] plugin_handler | get_metrics 手动 map_err 覆盖了错误映射 | **已修复:** 移除手动 map_err,使用 From trait 自动映射(NotFound→404) |
|
||||
|
||||
## 模块导航
|
||||
|
||||
|
||||
Reference in New Issue
Block a user