docs(wiki): 更新小程序构建优化 + DevTools 卡死症状
This commit is contained in:
@@ -4,25 +4,25 @@
|
||||
|
||||
## 关键数字
|
||||
|
||||
> 最后更新: 2026-05-22 | 数据截止: feat/media-library-banner 分支(小程序 Phase 2+3 实施完成)
|
||||
> 最后更新: 2026-05-24 | 数据截止: feat/media-library-banner 分支(小程序 Phase 2+3 实施完成)
|
||||
|
||||
| 指标 | 值 |
|
||||
|------|-----|
|
||||
| Rust crate | 17 个(erp-core + 5 基础业务 + erp-health + erp-ai + erp-dialysis + erp-plugin + 7 插件/原型) |
|
||||
| Rust 源文件 | **705 个**(~130,000 行) |
|
||||
| 数据库表 | 30 基础表 + 49 健康业务表 + 13 AI 表(+4 会话/消息/tool_log/user_profile) + 3 媒体库/轮播图表 |
|
||||
| 数据库迁移 | **164 个**(最新 m20260521_000164) |
|
||||
| 数据库迁移 | **165 个**(最新 m20260522_000162) |
|
||||
| 后端路由 | **385+ 个**(11 公开 + 14 FHIR + 2 网关 + ~358 受保护) |
|
||||
| 核心模块 | 5 基础 (auth/config/workflow/message/plugin) + 3 业务 (health + ai + dialysis) |
|
||||
| erp-health 实体 | **58 个** Entity(31 handler / 57 service / 22 DTO,216 文件) |
|
||||
| erp-ai 实体 | 20 个 Entity(95 文件,4 AI Provider,chat_handler 支持 FC/Ollama fallback) |
|
||||
| 全系统 Entity | **115 个**(58 health + 20 ai + 33 基础 + 4 core) |
|
||||
| Web 前端 | 316 个 TS/TSX 文件(54 活跃路由,83 API 模块,108 页面) |
|
||||
| 微信小程序 | Taro 4.2 + React 18,180 个 TS/TSX 文件 / 61 页面(15 主包 + 46 分包) / 4 TabBar + 医生端独立分包,34 组件(ui 21 + patterns 4 + 独立 9) / 45 service 文件 / 4 Zustand store / 12 hooks,统一组件库 + CSS 变量主题(102 SCSS 全量接入 `var(--tk-*)`,字号 token 对齐原型统计,医生端 `.doctor-mode` 靛蓝覆盖,登录页账号密码+微信一键登录);**Phase 2+3 完成**:Token 构建时生成 + Canvas 适老 + PII 清理 + 缓存加密 + any 清零 + 大文件拆分(3→6) + 触觉反馈 + 导航状态保持 + 独立分包 + CI 集成 + HMAC 请求签名;**并发安全**:长轮询独立通道 `requestUnlimited` + ConcurrencyLimiter(12) + safeNavigateTo 全局页栈保护 + reLaunch 去重 + 分包预加载 preloadRule;**五维度分析评分 6.7/10**(架构7.25/安全6.0/UX7.4/工程6.2) |
|
||||
| 微信小程序 | Taro 4.2 + React 18,180 个 TS/TSX 文件 / 61 页面(15 主包 + 46 分包) / 4 TabBar + 医生端独立分包,34 组件(ui 21 + patterns 4 + 独立 9) / 45 service 文件 / 4 Zustand store / 12 hooks,统一组件库 + CSS 变量主题(102 SCSS 全量接入 `var(--tk-*)`,字号 token 对齐原型统计,医生端 `.doctor-mode` 靛蓝覆盖,登录页账号密码+微信一键登录);**Phase 2+3 完成**:Token 构建时生成 + Canvas 适老 + PII 清理 + 缓存加密 + any 清零 + 大文件拆分(3→6) + 触觉反馈 + 导航状态保持 + 独立分包 + CI 集成 + HMAC 请求签名;**并发安全**:长轮询独立通道 `requestUnlimited` + ConcurrencyLimiter(12) + safeNavigateTo 全局页栈保护 + reLaunch 去重 + 分包预加载 preloadRule;**构建优化**:`lazyCodeLoading: requiredComponents` 按需注入,主包 2.0MB→766KB(taro.js 526→131KB / vendors.js 230→28KB);**离线抑制**:指数退避(3s→6s→12s→30s cap)防请求洪泛;**五维度分析评分 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% |
|
||||
| 后端测试 | **1030 个函数**(839 同步 + 191 异步),96 个文件含测试 |
|
||||
| 事件系统 | 31 事件类型(health)/ 51 全系统 / 82 发布点 / 15 消费者模块 / Outbox + LISTEN/NOTIFY |
|
||||
| 权限码 | **140 个**(health 57 + ai 21 + auth 24 + config 18 + workflow 8 + message 5 + plugin 2 + dialysis 5) |
|
||||
| 权限码 | **141 个**(health 57 + ai 21 + auth 24 + config 18 + workflow 8 + message 5 + plugin 2 + dialysis 5 + system 1) |
|
||||
| utoipa 注解 | **94 个**文件含注解 |
|
||||
| Clippy | **全 workspace 0 警告**(2026-05-07 清零) |
|
||||
| 依赖版本 | 全部最新主版本线(Rust edition 2024) |
|
||||
@@ -139,6 +139,8 @@
|
||||
| 咨询列表日期选择器英文 | [[frontend]] ConsultationList | RangePicker 缺少 placeholder 属性 | **已修复:** 添加 placeholder={["开始日期", "结束日期"]}(2026-05-21) |
|
||||
| Article Handler 缺 .validate() | [[erp-health]] article_handler | ~15 个 handler 缺少 .validate() 调用 | **已修复:** article/category/tag handler 全部补齐 .validate() + DTO Validate derive(2026-05-21) |
|
||||
| 前端 16 处 any 类型 | [[frontend]] 多文件 | client/points/usePaginatedData/MediaLibrary/ArticleEditor | **已修复:** AxiosRequestConfig 增强 + OptionsConfig 类型 + TreeNode 接口,16→1(2026-05-21) |
|
||||
| 小程序患者端 403(health-records/lab-reports/alerts/analytics/followups) | [[miniprogram]] 权限配置 | patient 角色缺少 .manage 权限 | **已修复:** `m20260522_000162` 补齐 15 个 manage 权限 + 注册 `system.analytics.submit` 幽灵权限(2026-05-22) |
|
||||
| DevTools 打开即卡死 / 游客首页停留后 CPU 30%+ | [[miniprogram]] 构建配置 + request.ts | 主包 2MB 全量组件注入 + 离线时请求洪泛 | **已修复:** `lazyCodeLoading: requiredComponents`(主包 2.0→0.77MB)+ 离线抑制指数退避 + TS readonly 兼容(2026-05-24) |
|
||||
|
||||
## 模块导航
|
||||
|
||||
|
||||
Reference in New Issue
Block a user