Files
hms/docs/discussions/2026-05-22-my-page-subpages-necessity.md
iven 1e59007bd5 fix(mp): DevTools 卡死 + 主包 2MB→766KB + 代码质量 4 项全通过
根因:主包 2MB 全量组件注入导致 DevTools 渲染引擎内存渐增,
叠加离线时固定 3s 抑制期后的请求洪泛。

修复:
- app.config.ts 添加 lazyCodeLoading: requiredComponents
  主包 2.0MB→766KB,taro.js 526→131KB,vendors.js 230→28KB
- request.ts 离线抑制改为指数退避(3s→6s→12s→30s cap)
  后端不可达时自动延长抑制,防止请求风暴
- SegmentTabs Tab 接口改为 readonly,修复 TS 编译错误
- AbortController polyfill 补齐小程序运行时缺失
- 健康首页/设备同步/健康档案/报告/设置页 UI 重构
- 文章页公开端点适配游客访问
- 健康首页 Swiper 间隔优化 4s→5s,动画 500→300ms
2026-05-24 11:32:40 +08:00

3.9 KiB
Raw Blame History

小程序"我的"页面子页面必要性分析

日期: 2026-05-22 | 参与者: 产品经理 / UX 研究员 / UX 架构师 / 医疗业务专家 / 前端技术专家

背景

小程序患者端"我的"页面当前有 5 个分组共 19 个菜单入口 + 1 个消息通知独立入口 = 20 个可点击项。远超移动端认知负荷上限7±2需要从全局角度分析各子页面的存在必要性。

讨论要点

核心问题诊断

  1. 功能堆砌:把所有没有找到更好归属的功能都塞进"我的",导致它变成了"功能大全"而非"个人中心"
  2. 入口重复4 个入口在其他 Tab 已有更自然的路径(积分商城、用药记录、在线咨询、我的报告)
  3. 透析噪音:透析管理 3 个入口对所有用户无条件展示80%+ 非透析用户看到无关功能
  4. 语义模糊:健康记录/我的报告/诊断记录三入口,患者分不清区别
  5. 性能浪费:消息未读数请求 50 条列表而非 count 接口
  6. 静态菜单:无法按患者画像动态显示

各入口使用频率评估

频率 入口
高频(日活) 消息通知、用药记录(慢病)
中频(周活) 我的预约、我的随访、在线咨询、积分商城
低频(月活) 我的报告、健康记录、AI 分析、诊断记录、就诊人管理
极低频 透析处方、知情同意、线下活动、长辈模式、设备同步、设置

患者画像与功能需求矩阵

功能 普通体检者(50-60%) 慢病患者(20-25%) 透析患者(5-8%) 术后随访(10-15%)
我的报告
我的预约
AI 分析
健康记录
用药记录
我的随访
透析管理
诊断记录

结论

共识意见

  1. 入口数应从 20 缩减到 9-11 个(常驻 9 + 动态 1-2
  2. 移除 4 个重复入口积分商城TabBar已有、用药记录健康Tab已有、在线咨询助手Tab可达、我的报告"我的"保留但健康Tab快捷入口改为AI分析
  3. 透析管理按需显示:仅透析患者可见,三入口合并为一
  4. 健康数据合并:健康记录+诊断记录合并为"健康档案"Tab切换
  5. 长辈模式降级:从一级入口移入设置页

优化后菜单结构

[消息通知]                            ← 优化为 getUnreadCount()

健康档案
  ├── 我的报告Tab: 检查报告 / AI 解读)
  └── 健康档案Tab: 体检记录 / 诊断记录)

就诊服务
  ├── 我的预约
  ├── 我的随访
  └── 在线咨询

透析管理                              ← 仅透析患者可见
  └── (内页 Tab: 透析记录 / 透析处方 / 同意书)

账号
  ├── 就诊人管理
  ├── 设备同步
  └── 设置(含长辈模式开关)

行动优先级

优先级 行动 预期效果 工期
P0 未读消息改用 getUnreadCount() 节省 500ms+ 0.5天
P0 移除 3 个重复入口 减少 3 个入口 0.5天
P1 透析管理条件显示 80%用户减少3个无关入口 1-2天
P1 透析三页合并为一 节省 20-30KB 1-2天
P1 抽取 usePaginatedList hook 消除 300 行重复代码 1天
P2 健康记录/诊断合并为健康档案 减少 2 个入口 1-2天
P2 长辈模式降级到设置页 减少 1 个入口 0.5天
P2 线下活动改为消息推送触达 减少 1 个入口 0.5天

待定

  • 后端 patient 表是否已有 patient_type 字段?需确认才能实现动态菜单
  • AI 分析是否应完全合并到"我的报告"Tab还是保留独立入口
  • 设备同步最终放在"账号"组还是"健康"Tab