# 小程序上线前五专家组深度审计 + 头脑风暴 > 日期: 2026-05-20 | 参与者: UX/UI 审计 / 性能稳定性 / 安全审计 / 产品架构 / 代码质量 ## 背景 小程序(62 页面 + 34 组件 + 38 service)即将交付用户测试。启动 5 个并行专家组进行全方位深度审计,确保交付版本的质量和可用性。 ## 五专家组综合评分 | 专家组 | 评分 | CRITICAL | HIGH | MEDIUM | LOW | 总问题数 | |--------|------|----------|------|--------|-----|----------| | UX/UI 审计 | 6.2/10 B- | 3 | 8 | 14 | 9 | 34 | | 性能稳定性 | 6.5/10 B- | 1 | 4 | 10 | 8 | 25 | | 安全审计 | 5.1/10 D+ | 2 | 5 | 8 | 6 | 21 | | 产品架构 | 6.0/10 C+ | 2 | 6 | 8 | 5 | 21 | | 代码质量 | — | 0 | 2 | 3 | 0 | 134 空 catch + 10 any | | **综合** | **6.0/10 C+** | **8** | **25** | **43** | **28** | **~135+** | ## CRITICAL 汇总(必须修复,阻断用户测试) | # | 来源 | 问题 | 影响 | |---|------|------|------| | 1 | 产品 | 咨询创建页缺失,"发起咨询"按钮导航失败 | 核心咨询流程阻断 | | 2 | 产品 | 随访流程不闭环(患者无触发入口 + 医生无执行页面) | 医疗质量核心链路断裂 | | 3 | 安全 | 硬编码管理员凭据 `admin/Admin@2026` 在源码中 | 反编译可获取管理员权限 | | 4 | 安全 | Token 明文存储在 Storage(secure-storage 实际无加密) | 设备丢失 = 身份冒用 | | 5 | UX | AI 聊天页 13 处硬编码字号,长者模式完全失效 | TabBar 核心页老年用户不可用 | | 6 | UX | 咨询详情页 14 处硬编码字号 | 医患沟通场景老年患者无法阅读 | | 7 | UX | Loading 文字 28px 过大,误认为标题 | 视觉层级混乱 | | 8 | 性能 | 咨询页长轮询可能永远不启动(dataLoadedRef 时序竞争) | 咨询消息收不到 | ## HIGH 汇总(严重影响体验,应在上线前修复) | # | 来源 | 问题 | |---|------|------| | 1 | 产品 | "消息" Tab 实为 AI 聊天,非消息中心,命名误导 | | 2 | 产品 | 预约创建未选就诊人,多就诊人场景不可用 | | 3 | 产品 | 趋势图仅 7 天柱状图,缺长期趋势和对比 | | 4 | 产品 | 日常监测/设备同步入口层级过深 | | 5 | UX | 87 处页面硬编码字号,长者模式系统性失效 | | 6 | UX | StatusTag 色值与设计系统不一致 | | 7 | UX | 44 个页面缺少 ErrorState | | 8 | UX | AI 聊天页未使用 PageShell 组件 | | 9 | 安全 | X-Patient-Id/X-Tenant-Id Header 可能导致越权 | | 10 | 安全 | openid 明文存储和跨网络传输 | | 11 | 安全 | RichText XSS 绕过风险 | | 12 | 性能 | 主包 12 页面可能超 2MB,无法发布 | | 13 | 性能 | 无虚拟滚动,长列表性能差 | | 14 | 性能 | 首页 4 个并行 API 无批量优化 | | 15 | 代码 | 134 处空 catch 静默吞错 | ## 头脑风暴 — 上线策略 ### 方案 A: 保守上线(修复所有 CRITICAL + 安全加固) **时间**: 3-4 天 **范围**: 8 个 CRITICAL + 安全 TOP 3 **风险**: HIGH 级别问题可能影响用户第一印象 ### 方案 B: 全面打磨(修复 CRITICAL + HIGH + 关键 MEDIUM) **时间**: 7-10 天 **范围**: 全部 CRITICAL + HIGH + 选定 MEDIUM **风险**: 延迟用户测试,但交付质量更高 ### 方案 C: 分层交付(推荐) **时间**: 分 3 批,每批 2-3 天 **范围**: - **Batch 1 (P0, 2天)**: 安全 CRITICAL + 功能 CRITICAL + 性能 CRITICAL - **Batch 2 (P1, 2天)**: UX 一致性 + 长者模式修复 + HIGH 级产品问题 - **Batch 3 (P2, 3天)**: MEDIUM 级优化 + 性能优化 + 代码质量 ## 决策 采用**方案 C 分层交付**,优先确保安全和功能完整,然后打磨体验。 ### Batch 1 修复清单(P0, 预估 2 天) 1. 移除硬编码凭据 → 环境变量注入(1h) 2. 确认后端不信任前端 Header(2h) 3. 咨询创建页缺失 → 新增页面或移除入口按钮(4h) 4. 咨询页长轮询启动时序修复(2h) 5. Loading 文字 token 修正(0.5h) 6. Token 存储安全加固(4h)— 可延至 Batch 2 ### Batch 2 修复清单(P1, 预估 2 天) 7. AI 聊天页 + 咨询详情页字号 token 替换(4h) 8. 医生端核心页面字号 token 替换(3h) 9. StatusTag 色值对齐设计系统(1h) 10. AI 聊天页接入 PageShell(2h) 11. 移除 forceSetAuth bridge(0.5h) 12. 随访流程闭环补全(4h)— 可延至 Batch 3 ### Batch 3 修复清单(P2, 预估 3 天) 13. 全局 87 处硬字号 → token 批量替换 14. 74 处硬 padding → token 批量替换 15. 44 个页面补充 ErrorState 16. 主包瘦身 + splitChunks 配置 17. 空 catch 添加日志 18. AI 聊天历史持久化(接后端 API)