docs(mp): 五专家组最终审查报告 — 综合 7.4/10(B)

架构 7.5 + 性能 8.0 + 安全 7.5 + 工程 7.5 + UX 6.5
发现 HIGH×15 + MEDIUM×25
核心问题:隐私政策合规、patientId 架构绕过、测试覆盖不足、触摸反馈缺失
This commit is contained in:
iven
2026-05-15 08:05:47 +08:00
parent 4c38fcd89d
commit 9bd2d4c2e6
2 changed files with 123 additions and 1 deletions

View File

@@ -907,7 +907,7 @@ node scripts/audit-pages.mjs --role doctor --batch-size 8
| 日期 | 变更 |
|------|------|
| 2026-05-15 | **架构重构 P4分包策略优化**:合并 4 个单页分包report→pkg-profile/reports、followup→pkg-profile/followups、events→pkg-profile/events、device-sync→pkg-healthconsultation/detail 移出主包到 pkg-consultation 分包doctor 18 页拆分为 pkg-doctor-core8 页:工作台+患者+咨询+随访)+ pkg-doctor-clinical10 页:透析+处方+报告+告警);分包 10→8 个,主包页面 13→12 |
| 2026-05-15 | **五专家组最终审查**:架构 7.5 + 性能 8.0 + 安全 7.5 + 工程 7.5 + UX 6.5 = 综合 7.4/10(B);发现 HIGH×15 + MEDIUM×25核心问题隐私政策与实际不一致、8 页面绕过 patientId 架构、测试覆盖不足10 service + 4 store + 8 hook 零测试)、触摸反馈缺失;详细报告见 `docs/discussions/2026-05-15-miniprogram-final-audit-five-experts.md` |
| 2026-05-15 | **架构重构 P3长轮询通用化 useLongPolling**:抽取 `useLongPolling` hookgeneration counter + useDidShow/Hide 可见性 + 失败退避 + enabled 守卫);患者端 + 医生端 consultation/detail 接入,删除 ~80 行重复代码;架构建议 #2 全部完成 ✅ |
| 2026-05-15 | **架构重构 P2request.ts 模块级状态收编 + AbortSignal + Analytics 受控**:提取 `ConcurrencyLimiter` 类(并发限制)、`ResponseCache` 类(缓存+去重+patientId 绑定);新增 `resetForTesting()` 测试隔离函数;`api.get/post/put/delete` 支持 `AbortSignal` 请求取消app.tsx Analytics 定时器改为 `useDidShow`/`useDidHide` 控制后台暂停;构建通过 + 测试 74/75 |
| 2026-05-15 | **患者端登录后卡死深度审查3 专家组)**:根因 — 全局并发请求超微信 10 限制排队阻塞;端点可达性验证 33/33 全部存在Tab 切换请求链路分析(最坏 13 并发);修复 HIGH×3doRefresh 状态清理 + 401 跳转登录页 + 全局并发限制 MAX_CONCURRENT=8+ MEDIUM×3长轮询 generation counter + 首页/健康页 loadingRef 防重入 + refreshToday 去重) |