docs(wiki): Wiki 全面刷新 + Q2 路线图 + 测试补强设计规格
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled

- Wiki 7 文件关键数字刷新:迁移 96→103、实体 45→46、前端 163→225、测试 5→36
- 修复 architecture.md PostgreSQL 版本不一致(18→16)
- 修复 erp-ai.md 实体数 3→6、erp-health.md 实体数 45→46
- 更新 index.md 文档索引:specs 41、plans 38、discussions 18
- 新增事件注册表/方法论/分析报告引用
- 新增页面/组件测试设计规格(模式化工厂方案)
- 新增 Q2 路线图规格(技术债 + 新功能并行 8 周)
This commit is contained in:
iven
2026-05-03 22:33:08 +08:00
parent 6d1a7fba98
commit 1602b7bbad
9 changed files with 620 additions and 38 deletions

View File

@@ -22,15 +22,15 @@ HMS 继承 ERP 底座的所有基础模块,`erp-health` 作为原生 Rust 模
```
HMS 平台
├── 基础模块(继承 ERP: auth, config, workflow, message, plugin
├── 核心业务模块: erp-health原生 Rust45 实体/39 权限/25+ 页面)★ 已实现
├── AI 模块: erp-ai3 实体SSE 流式分析Phase 1 MVP
├── 核心业务模块: erp-health原生 Rust46 实体/39 权限/25+ 页面)★ 已实现
├── AI 模块: erp-ai6 实体SSE 流式分析Phase 1 MVP
├── 透析模块: erp-dialysis已拆分为独立 crate
└── 可选插件: crm, inventory, freelance, itops, assessmentWASM
```
### 为什么 erp-health 用原生模块?
医疗业务需要 44 强类型实体、自定义 API趋势分析/统计报表、PII 数据加密AES-256-GCM + KEK/DEK 分层)、文件上传、未来 AI 集成。WASM 插件的 JSONB 动态存储和 20 实体上限无法满足。详见 [[erp-health]]。
医疗业务需要 46 强类型实体、自定义 API趋势分析/统计报表、PII 数据加密AES-256-GCM + KEK/DEK 分层)、文件上传、未来 AI 集成。WASM 插件的 JSONB 动态存储和 20 实体上限无法满足。详见 [[erp-health]]。
### 为什么用 UUIDv7
@@ -105,8 +105,8 @@ hms/
| erp-workflow | ✅ 完成 | 5 表 | 8种子数据 | 工作流管理 | 63 单元 + 4 集成 |
| erp-message | ✅ 完成 | 3 表 | 5种子数据 | 消息中心 | 72 单元 |
| erp-plugin | ✅ 完成 | 4 表 | 2种子数据 | 插件管理/市场 | 78 单元 + 2 集成 |
| erp-health | ✅ 完成 | 45 表 | 39 | 25+ 页面 + 11 组件 | 159 单元 + 144 集成 |
| erp-ai | 🔄 Phase 1 | 3 表 | 6 | AI 分析/Prompt/用量 | 36 单元 |
| erp-health | ✅ 完成 | 46 表 | 39 | 25+ 页面 + 工作台 | 159 单元 + 144 集成 |
| erp-ai | 🔄 Phase 1 | 6 表 | 6 | AI 分析/Prompt/建议/风险/用量 | 36 单元 |
| erp-dialysis | 🔄 已拆分 | - | 5 | - | 10 单元 + 15 集成 |
### 技术选型
@@ -115,7 +115,7 @@ hms/
|------|------|
| Axum 0.8 | Tokio 团队维护tower 生态,类型安全路由 |
| SeaORM 1.1 | 异步、类型安全、迁移工具完善 |
| PostgreSQL 18 | 企业级JSON 支持,扩展丰富 |
| PostgreSQL 16 | 企业级JSON 支持,扩展丰富 |
| Redis 7 | 缓存 + 限流 token bucket |
| React 19 + Ant Design 6 | 企业后台 UI 标配 |
| Zustand 5 | 极简状态管理 |

View File

@@ -24,7 +24,7 @@ tags: [database, seaorm, migration, multi-tenant]
| 文件 | 职责 |
|------|------|
| `crates/erp-server/migration/src/lib.rs` | Migrator 注册所有迁移 |
| `crates/erp-server/migration/src/m*.rs` | 96 个迁移文件 |
| `crates/erp-server/migration/src/m*.rs` | 103 个迁移文件 |
| `crates/erp-core/src/types.rs` | BaseFields 标准字段定义 |
### 迁移命名规则

View File

@@ -1,6 +1,6 @@
---
title: erp-ai AI 分析模块
updated: 2026-04-25
updated: 2026-05-03
status: in-development
tags: [ai, llm, sse, health-analysis, claude]
---
@@ -54,13 +54,16 @@ crates/erp-ai/
│ └── ai_usage.rs ← 用量日志 Entity
```
### 实体模型(3 个实体)
### 实体模型(6 个实体)
| 实体 | 用途 |
|------|------|
| ai_prompt | Prompt 模板(版本管理、激活/回滚) |
| ai_analysis | 分析结果记录输入参数、输出摘要、token 用量) |
| ai_usage | 用量追踪(按租户/用户聚合) |
| ai_suggestion | AI 建议记录(风险分级、建议内容、状态跟踪) |
| ai_risk_threshold | 风险阈值配置(按指标定义临界值) |
| ai_action | AI 行动分发(从建议到行动的闭环跟踪) |
### 权限码6 个)

View File

@@ -1,6 +1,6 @@
---
title: erp-health 健康管理模块
updated: 2026-04-28
updated: 2026-05-03
status: implemented
tags: [health, patient, appointment, follow-up, consultation, content, points, dialysis, offline-events]
---
@@ -47,7 +47,7 @@ crates/erp-health/
│ ├── state.rs ← HealthState { db, event_bus, crypto }
│ ├── crypto.rs ← AES-256-GCM 加密 + HMAC-SHA256 (PII 保护)
│ ├── event.rs ← 事件处理器 (订阅 workflow/message 事件)
│ ├── entity/ ← 45 个 SeaORM Entity
│ ├── entity/ ← 46 个 SeaORM Entity
│ ├── service/ ← 25 个业务 service + validation + masking + trend
│ ├── handler/ ← 21 个路由 handler
│ ├── dto/ ← 15 个请求/响应 DTO
@@ -57,7 +57,7 @@ crates/erp-health/
│ └── seed.rs ← 租户种子数据 + 软删除清理
```
### 实体模型45 个实体)
### 实体模型46 个实体)
| 域 | 实体 |
|----|------|
@@ -223,7 +223,7 @@ draft → pending_review → published → draft (撤回)
### 当前状态: ✅ 已完成
45 实体、21 个 handler~160 个 pub fn、39 权限、25+ Web 路由页面 + 11 组件,~21k 行 Rust 代码。状态转换验证统一到 validation 模块104 纯函数测试)。18 个集成测试文件覆盖所有子域。
46 实体、26 个 handler~160 个 pub fn、39 权限、25+ Web 路由页面 + 工作台组件,~27k 行 Rust 代码。状态转换验证统一到 validation 模块104 纯函数测试)。24 个集成测试文件覆盖所有子域。
### 待优化

View File

@@ -211,17 +211,16 @@ React 19.2.4 / Ant Design 6.3.5 / React Router 7.14.0 / Zustand 5.0.12 / Vite 8.
| `deviceReadings.ts` | 设备数据采集 |
| `alerts.ts` | 健康预警 |
### 前端单元测试(5 个
### 前端单元测试(36 个测试文件
| 文件 | 测试内容 |
| 类别 | 覆盖范围 |
|------|---------|
| `constants/health.test.ts` | 健康常量定义验证 |
| `hooks/useThemeMode.test.ts` | 暗色模式 hook |
| `hooks/useDebouncedValue.test.ts` | 防抖 hook |
| `pages/health/components/StatusTag.test.tsx` | 状态标签渲染 |
| `utils/exprEvaluator.test.ts` | 表达式求值 |
| Store 测试 | auth, health, plugin, workbench, app, message |
| Hook 测试 | useThemeMode, useDebouncedValue, useCountUp 等 |
| API 契约测试 | 25+ API 模块 URL/Method/参数验证 |
| 组件测试 | StatusTag, 健康常量, 表达式求值 |
> ⚠️ **审计发现**Web 前端 163 个文件仅 10 个测试5 单元 + 5 E2E,测试覆盖率约 5%。小程序完全无测试。详见 `docs/audits/07-test-coverage.md`。
> ⚠️ **审计发现**Web 前端 225 个文件有 36 个测试文件 + 5 E2E spec,测试覆盖率仍需持续提升。小程序完全无测试。详见 `docs/audits/07-test-coverage.md`。
### 2026-04-30 审计发现

View File

@@ -8,21 +8,21 @@
|------|-----|
| Rust crate | 18 个erp-core + 5 基础业务 + erp-health + erp-ai + erp-dialysis + erp-plugin + 5 插件 + erp-plugin-prototype |
| 数据库表 | 30 基础表 + 44 健康业务表 + 3 AI 表(已实现) |
| 数据库迁移 | 96 个 |
| 数据库迁移 | 103 个 |
| 后端路由 | 328 个8 公开 + 320 受保护) |
| 核心模块 | 5 基础 (auth/config/workflow/message/plugin) + 3 业务 (health + ai + dialysis) |
| erp-health 实体 | 45 个 Entity~21k 行 Rust |
| erp-ai 实体 | 3 个 Entity1.7k 行 Rust |
| Web 前端 | 92 TSX + 71 TS = 163 个源文件(含 25+ 健康路由页面 + 11 健康组件) |
| 微信小程序 | Taro 4.2 + React 1840 个页面31 患者端 + 9 医护端5 个 TabBar |
| 前端单元测试 | 5 个vitest+ 5 E2E specplaywright |
| erp-health 实体 | 46 个 Entity~27k 行 Rust |
| erp-ai 实体 | 6 个 Entity~3.6k 行 Rust |
| Web 前端 | 225 个 TS/TSX 文件(含 25+ 健康路由页面 + 工作台组件) |
| 微信小程序 | Taro 4.2 + React 18182 个源文件 / 40+ 页面 / 5 TabBar + 医生端 |
| 前端单元测试 | 36 个测试文件vitest+ 5 E2E specplaywright |
| 后端测试 | 611 单元 + 153 集成 = 772 个函数97.5% 通过率) |
| 总代码量 | Rust ~77k 行462 源文件)+ Web 前端 163 文件 + 小程序 125 文件 |
| 总代码量 | Rust ~87k 行484 源文件)+ Web 前端 225 文件 + 小程序 182 文件 |
| 事件系统 | 25 事件类型 / 44 发布处 / 14 消费者 |
| DTO | 105 个结构体(17 文件) |
| DTO | 105+ 个结构体(23 文件) |
| 权限码 | 50 声明health 39 + ai 6 + dialysis 5+ 56 基础模块手动注册 |
| API 文档 | `http://localhost:3000/api/docs/openapi.json` |
| Git 提交 | 409 次 |
| Git 提交 | 574 次 |
| 审计状态 | 2026-04-30 全系统审计完成83% 总体完成度) |
| UI/UX 重构 | Phase 1-5 完成6 共享组件 + 4 角色仪表盘 + 个人统计数据 + 表单抽屉 + 小程序优化) |
@@ -68,8 +68,8 @@
- erp-plugin — WASM 运行时 · 动态表 · 热更新HMS 保留但非主要扩展方式)
### 核心业务层HMS 专属)
- [[erp-health]] — **患者管理 · 健康数据 · 预约排班 · 随访管理 · 咨询管理 · 内容管理 · 积分商城 · 透析管理 · 线下活动 · 日常监测 · 告警系统**(原生 Rust 模块44 实体,已实现)
- [[erp-ai]] — **AI 智能分析 · 化验单解读 · 趋势分析 · 报告摘要**(原生 Rust 模块,3 实体Phase 1 MVP
- [[erp-health]] — **患者管理 · 健康数据 · 预约排班 · 随访管理 · 咨询管理 · 内容管理 · 积分商城 · 透析管理 · 线下活动 · 日常监测 · 告警系统**(原生 Rust 模块46 实体,已实现)
- [[erp-ai]] — **AI 智能分析 · 化验单解读 · 趋势分析 · 报告摘要**(原生 Rust 模块,6 实体Phase 1 MVP
### 组装层
- [[erp-server]] — Axum 入口 · AppState · 7+ 模块注册 · 后台任务 · 优雅关闭
@@ -79,8 +79,8 @@
### 基础设施
- [[infrastructure]] — 连接信息 · 环境变量 · 一键启动 (**单一真相源**)
- [[database]] — SeaORM 迁移 · 多租户表结构(96 迁移)
- [[frontend]] — React 19 SPA · 健康管理页面25+ 路由 + 11 组件)
- [[database]] — SeaORM 迁移 · 多租户表结构(103 迁移)
- [[frontend]] — React 19 SPA · 健康管理页面25+ 路由 + 工作台组件)
- [[testing]] — 验证清单 · 测试分布 · 性能基准
## 核心架构问答
@@ -103,10 +103,10 @@
| PII 加密扩展规格 | `docs/superpowers/specs/2026-04-26-pii-encryption-expansion-design.md` |
| 实时体征管线探讨 | `docs/superpowers/specs/2026-04-26-realtime-vital-signs-pipeline-design.md` |
| 平台复盘与演进 | `docs/superpowers/specs/2026-04-26-platform-retrospective-and-evolution-design.md` |
| 设计规格(全量) | `docs/superpowers/specs/` (31 份) |
| 设计规格(全量) | `docs/superpowers/specs/` (41 份) |
| UI/UX 重构设计规格 | `docs/superpowers/specs/2026-04-28-ui-ux-overhaul-design.md` |
| UI/UX 重构实施计划 | `docs/superpowers/plans/2026-04-28-ui-ux-overhaul-plan.md` |
| 实施计划(全量) | `docs/superpowers/plans/` (27 份) |
| 实施计划(全量) | `docs/superpowers/plans/` (38 份) |
| 全系统审计报告 | `docs/audits/08-audit-report-2026-04-30.md`83% 总体完成度2 CRITICAL + 3 HIGH |
| 审计基线快照 | `docs/audits/00-baseline-snapshot.md` |
| 审计功能清单 | `docs/audits/01-feature-inventory.md`328 路由三端映射矩阵) |
@@ -116,6 +116,9 @@
| 审计差距模式 | `docs/audits/05-gap-patterns.md`5 种模式,透析/知情同意 MP 缺失) |
| 审计错误处理 | `docs/audits/06-error-handling.md`SSE 不挂起 / 日志 30% 覆盖) |
| 审计测试覆盖 | `docs/audits/07-test-coverage.md`772 测试 / 前端极低 / AI 无集成测试) |
| 讨论记录 | `docs/discussions/` (10 份) |
| 讨论记录 | `docs/discussions/` (18 份) |
| 事件注册表 | `docs/event-registry.md` |
| Wiki 方法论 | `docs/wiki-methodology.md` |
| 项目深度分析 | `docs/superpowers/specs/2026-05-03-project-analysis-brainstorm-design.md`5 专家组分析B+ 评分) |
| 协作规则 | `CLAUDE.md` |
| 插件制作指南 | `.claude/skills/plugin-development/SKILL.md` |

View File

@@ -32,7 +32,7 @@ tags: [testing, verification]
| erp-plugin | 78 | 2 | 80 | 100% | 良好 |
| erp-server | - | 153 | 153 | 94% | 良好API 集成测试) |
| **后端总计** | **611** | **153** | **772** | **97.5%** | |
| 前端 (vitest) | 5 | - | - | - | 健康常量/useThemeMode/useDebouncedValue/StatusTag/exprEvaluator |
| 前端 (vitest) | 36 | - | - | - | Store/Hook/API 契约/组件测试 |
| E2E (playwright) | - | 5 spec | - | - | 登录/用户管理/插件/租户隔离 |
| 小程序 | 0 | 0 | 0 | N/A | ⚠️ 完全无测试 |