docs(wiki): B5 §45 患者数据可携权导出 — 关键数字 + 项目阶段 + 模块描述

- 关键数字:迁移 177 / 路由 386+ / 权限 142 / 测试 1037(+6) / 事件 32·52·83
- 项目阶段:B5 §45 已实现(6 测试全绿),§47 删除权待后续
- erp-health 模块导航:加个保法 §45 数据可携权导出
This commit is contained in:
iven
2026-06-26 18:01:59 +08:00
parent 15b6bec215
commit c88f1573a5

View File

@@ -11,8 +11,8 @@
| Rust crate | 17 个erp-core + 5 基础业务 + erp-health + erp-ai + erp-dialysis + erp-plugin + 7 插件/原型) | | Rust crate | 17 个erp-core + 5 基础业务 + erp-health + erp-ai + erp-dialysis + erp-plugin + 7 插件/原型) |
| Rust 源文件 | **726 个**~134,000 行) | | Rust 源文件 | **726 个**~134,000 行) |
| 数据库表 | 30 基础表 + 49 健康业务表 + 15 AI 表(+4 会话/消息/tool_log/user_profile + 2 知识库 V2 + 3 媒体库/轮播图表 | | 数据库表 | 30 基础表 + 49 健康业务表 + 15 AI 表(+4 会话/消息/tool_log/user_profile + 2 知识库 V2 + 3 媒体库/轮播图表 |
| 数据库迁移 | **176**(最新 m20260626_000170 | | 数据库迁移 | **177**(最新 m20260626_000171 |
| 后端路由 | **385+ 个**11 公开 + 14 FHIR + 2 网关 + ~358 受保护) | | 后端路由 | **386+ 个**11 公开 + 14 FHIR + 2 网关 + ~359 受保护) |
| 核心模块 | 5 基础 (auth/config/workflow/message/plugin) + 3 业务 (health + ai + dialysis) | | 核心模块 | 5 基础 (auth/config/workflow/message/plugin) + 3 业务 (health + ai + dialysis) |
| erp-health 实体 | **59 个** Entity33 handler / 57 service / 22 DTO217 文件) | | erp-health 实体 | **59 个** Entity33 handler / 57 service / 22 DTO217 文件) |
| erp-ai 实体 | **24 个** Entity**105 文件**4 AI Providerchat_handler 支持 FC/Ollama fallback知识库 V2 | | erp-ai 实体 | **24 个** Entity**105 文件**4 AI Providerchat_handler 支持 FC/Ollama fallback知识库 V2 |
@@ -20,9 +20,9 @@
| Web 前端 | 316 个 TS/TSX 文件54 活跃路由83 API 模块108 页面) | | Web 前端 | 316 个 TS/TSX 文件54 活跃路由83 API 模块108 页面) |
| 微信小程序 | Taro 4.2 + React 18**202 个 TS/TSX 文件** / 62 页面(15 主包 + 47 分包) + 1 原生分包页(pkg-veepoo) / 4 TabBar + 医生端独立分包34 组件(ui 21 + patterns 4 + 独立 9) / **51 service 文件** / **6 Zustand store** / **13 hooks**,统一组件库 + CSS 变量主题(**110 SCSS** 全量接入 `var(--tk-*)`,字号 token 对齐原型统计,医生端 `.doctor-mode` 靛蓝覆盖,登录页账号密码+微信一键登录);**Phase 2+3 完成**Token 构建时生成 + Canvas 适老 + PII 清理 + 缓存加密 + any 清零 + 大文件拆分(3→6) + 触觉反馈 + 导航状态保持 + 独立分包 + CI 集成 + HMAC 请求签名;**并发安全**:长轮询独立通道 `requestUnlimited` + ConcurrencyLimiter(12) + safeNavigateTo 全局页栈保护 + reLaunch 去重;**Veepoo M2 BLE 管线**独立管线VeepooBridge 24 API含精准睡眠/自动测量/开关设置/体温自动数据)+ VeepooPipeline 事件路由type=1/4/5/6/18/31/51/54/58+ VeepooHistoryReader 日常+睡眠上传 + VeepooStore 状态管理(含 sleepData/sleepLoading+ **原生分包页面**`pkg-veepoo` 原生 JS+WXML脱离 Taro 直接调用 SDK绕过框架兼容性限制+ **自动测量队列**(连接认证后自动依次测量心率→血氧→血压→体温→压力 5 项指标,列表式进度 UI面向中老年人零操作设计+ 3 天历史数据同步VeepooHistoryReader 分批上传 + 断点续传)+ **精准睡眠数据自动读取**(认证后自动读取 3 天睡眠:深睡/浅睡/总时长/质量评分,通过 Storage 回传 Taro 页面)+ **自动测量功能**(认证后自动开启心率/血压/体温自动监测);**UI 重构**:测量页药丸式选择器 + SVG 圆环仪表盘 + 健康评估标签;数据上传页 2 列结果卡片网格 + 彩色条标识 + 睡眠数据卡片(★ 评分 + 总时长);**preloadRule 已移除 pkg-health** 防止 380KB SDK 预加载导致首页 DevTools 卡死;**构建优化**`lazyCodeLoading: requiredComponents` 仅生产构建启用dev 下已知 DevTools 卡死 bug`addChunkPages` 仅 TabBar 页注入 common chunk主包 dev 892KB / prod 766KB**五维度分析评分 6.7/10**架构7.25/安全6.0/UX7.4/工程6.2 | | 微信小程序 | Taro 4.2 + React 18**202 个 TS/TSX 文件** / 62 页面(15 主包 + 47 分包) + 1 原生分包页(pkg-veepoo) / 4 TabBar + 医生端独立分包34 组件(ui 21 + patterns 4 + 独立 9) / **51 service 文件** / **6 Zustand store** / **13 hooks**,统一组件库 + CSS 变量主题(**110 SCSS** 全量接入 `var(--tk-*)`,字号 token 对齐原型统计,医生端 `.doctor-mode` 靛蓝覆盖,登录页账号密码+微信一键登录);**Phase 2+3 完成**Token 构建时生成 + Canvas 适老 + PII 清理 + 缓存加密 + any 清零 + 大文件拆分(3→6) + 触觉反馈 + 导航状态保持 + 独立分包 + CI 集成 + HMAC 请求签名;**并发安全**:长轮询独立通道 `requestUnlimited` + ConcurrencyLimiter(12) + safeNavigateTo 全局页栈保护 + reLaunch 去重;**Veepoo M2 BLE 管线**独立管线VeepooBridge 24 API含精准睡眠/自动测量/开关设置/体温自动数据)+ VeepooPipeline 事件路由type=1/4/5/6/18/31/51/54/58+ VeepooHistoryReader 日常+睡眠上传 + VeepooStore 状态管理(含 sleepData/sleepLoading+ **原生分包页面**`pkg-veepoo` 原生 JS+WXML脱离 Taro 直接调用 SDK绕过框架兼容性限制+ **自动测量队列**(连接认证后自动依次测量心率→血氧→血压→体温→压力 5 项指标,列表式进度 UI面向中老年人零操作设计+ 3 天历史数据同步VeepooHistoryReader 分批上传 + 断点续传)+ **精准睡眠数据自动读取**(认证后自动读取 3 天睡眠:深睡/浅睡/总时长/质量评分,通过 Storage 回传 Taro 页面)+ **自动测量功能**(认证后自动开启心率/血压/体温自动监测);**UI 重构**:测量页药丸式选择器 + SVG 圆环仪表盘 + 健康评估标签;数据上传页 2 列结果卡片网格 + 彩色条标识 + 睡眠数据卡片(★ 评分 + 总时长);**preloadRule 已移除 pkg-health** 防止 380KB SDK 预加载导致首页 DevTools 卡死;**构建优化**`lazyCodeLoading: requiredComponents` 仅生产构建启用dev 下已知 DevTools 卡死 bug`addChunkPages` 仅 TabBar 页注入 common chunk主包 dev 892KB / prod 766KB**五维度分析评分 6.7/10**架构7.25/安全6.0/UX7.4/工程6.2 |
| 前端测试 | Web 62 单元测试文件(~693 断言) + 17 E2E spec(13 Web + 4 MP~64 断言);小程序 12 单元测试文件(127 断言) + 4 E2E spec(~16 断言),覆盖率 ~6% | | 前端测试 | Web 62 单元测试文件(~693 断言) + 17 E2E spec(13 Web + 4 MP~64 断言);小程序 12 单元测试文件(127 断言) + 4 E2E spec(~16 断言),覆盖率 ~6% |
| 后端测试 | **1031 个函数**839 同步 + 192 异步97 个文件含测试 | | 后端测试 | **1037 个函数**839 同步 + 198 异步98 个文件含测试 |
| 事件系统 | 31 事件类型health/ 51 全系统 / 82 发布点 / 15 消费者模块 / Outbox + LISTEN/NOTIFY | | 事件系统 | 32 事件类型health/ 52 全系统 / 83 发布点 / 15 消费者模块 / Outbox + LISTEN/NOTIFY |
| 权限码 | **141**health 57 + ai 21 + auth 24 + config 18 + workflow 8 + message 5 + plugin 2 + dialysis 5 + system 1 | | 权限码 | **142**health 58 + ai 21 + auth 24 + config 18 + workflow 8 + message 5 + plugin 2 + dialysis 5 + system 1 |
| utoipa 注解 | **98 个**文件含注解 | | utoipa 注解 | **98 个**文件含注解 |
| Clippy | **全 workspace 0 警告**2026-05-07 清零) | | Clippy | **全 workspace 0 警告**2026-05-07 清零) |
| 依赖版本 | 全部最新主版本线Rust edition 2024 | | 依赖版本 | 全部最新主版本线Rust edition 2024 |
@@ -36,7 +36,7 @@
| 长者模式 | 58/58 页面 100% 覆盖 | | 长者模式 | 58/58 页面 100% 覆盖 |
| UI 合规审计 | T40: 60 页面全覆盖PASS 24 / PASS_WITH_ISSUES 36 / NEEDS_WORK 0HIGH×2 + MEDIUM×6 + LOW×67 全部修复,评分 95/100 | | UI 合规审计 | T40: 60 页面全覆盖PASS 24 / PASS_WITH_ISSUES 36 / NEEDS_WORK 0HIGH×2 + MEDIUM×6 + LOW×67 全部修复,评分 95/100 |
| DevOps 基础设施 | Nginx TLS 1.2/1.3 + HSTS/CSP 安全头 + AES-256-CBC 备份加密 + Prometheus 4 组告警规则 + **Alertmanager 告警出口expand-env渠道上线前填** + Redis AOF 持久化 + **Grafana dashboard 自动 provisioningHMS 概览)** + **postgres/redis exporter** + uploads 定时备份 | | DevOps 基础设施 | Nginx TLS 1.2/1.3 + HSTS/CSP 安全头 + AES-256-CBC 备份加密 + Prometheus 4 组告警规则 + **Alertmanager 告警出口expand-env渠道上线前填** + Redis AOF 持久化 + **Grafana dashboard 自动 provisioningHMS 概览)** + **postgres/redis exporter** + uploads 定时备份 |
| 项目阶段 | **V1 CONDITIONAL_GO 6.4/10** — 上线评估 5 阻塞:**B1 alertmanager 渠道接线(代码层已修,待 staging 填真实 webhook** / B2 Nginx X-Real-IP运维配置 / B3 git 历史清洗 Redis 凭据(待云端换强密码) / **B4 JWT panic 对称防护(已修,含 doc-code drift 死代码修正)** / B5 个保法数据可携/删除权(合规决策);可合并 mainstaging 加固后灰度上线 | | 项目阶段 | **V1 CONDITIONAL_GO 6.4/10** — 上线评估 5 阻塞:**B1 alertmanager 渠道接线(代码层已修,待 staging 填真实 webhook** / B2 Nginx X-Real-IP运维配置 / B3 git 历史清洗 Redis 凭据(待云端换强密码) / **B4 JWT panic 对称防护(已修,含 doc-code drift 死代码修正)** / **B5 个保法 §45 数据可携权导出已实现6 测试全绿)**§47 删除权待后续(匿名化平衡病历保留义务);可合并 mainstaging 加固后灰度上线 |
## 症状导航 ## 症状导航
@@ -185,7 +185,7 @@
- erp-plugin — WASM 运行时 · 动态表 · 热更新HMS 保留但非主要扩展方式) - erp-plugin — WASM 运行时 · 动态表 · 热更新HMS 保留但非主要扩展方式)
### 核心业务层HMS 专属) ### 核心业务层HMS 专属)
- [[erp-health]] — **患者管理 · 健康数据 · 预约排班 · 随访管理 · 咨询管理 · 内容管理 · 媒体库 · 轮播图管理 · 积分商城 · 透析管理 · 线下活动 · 日常监测 · 告警系统**(原生 Rust 模块57 实体 / 31 handler / 36 service已实现 - [[erp-health]] — **患者管理 · 健康数据 · 预约排班 · 随访管理 · 咨询管理 · 内容管理 · 媒体库 · 轮播图管理 · 积分商城 · 透析管理 · 线下活动 · 日常监测 · 告警系统 · 个保法 §45 数据可携权导出**(原生 Rust 模块57 实体 / 31 handler / 36 service已实现
- [[erp-ai]] — **AI 智能分析 · 化验单解读 · 趋势分析 · 报告摘要 · AI 对话(ChatPage+AiSidebar) · 会话持久化**(原生 Rust 模块9 实体 / 62 文件 / 4 AI Provider / chat_handler FC+fallbackPhase 1 MVP - [[erp-ai]] — **AI 智能分析 · 化验单解读 · 趋势分析 · 报告摘要 · AI 对话(ChatPage+AiSidebar) · 会话持久化**(原生 Rust 模块9 实体 / 62 文件 / 4 AI Provider / chat_handler FC+fallbackPhase 1 MVP
### 组装层 ### 组装层