根因:主包 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
5.0 KiB
5.0 KiB
Beta 就绪验收清单
基于 V3 Beta 综合测试发现 | 更新: 2026-05-21 目标: 明确 Beta 发布前的必须完成项和验证标准
1. 阻塞项(必须修复)— Phase 0
1.1 小程序认证链路
- C-01:
services/request.ts的safeGet添加明文键 fallback 逻辑 - C-02:
utils/secure-storage.ts的toBase64/fromBase64改用TextEncoder/TextDecoder - 验证: 小程序内体征保存、签到、咨询列表 API 调用成功
- 验证: 含中文的
user_data加密存储后解密正确
1.2 Web 前端核心功能
- H-01:
PatientList.tsx创建表单添加form.validateFields()前端校验 - H-02: 预约列表 API 网络异常排查修复
- 验证: 空表单提交被前端拦截,显示校验错误
- 验证: 预约列表页正常加载数据
1.3 后端数据完整性
- H-06: 日常监测 DTO-Entity 字段映射修复
- H-07: 文章标题 DTO 添加
#[validate(length(max=255))] - 验证: 血压/心率/血糖写入后能正确读回
- 验证: 500 字符标题返回 400 而非 500
2. HIGH 项(应该修复)— Phase 1
2.1 移动端响应式
- C-03: Mobile 375px 添加卡片/列表视图替代表格
- C-04: Mobile 横屏 812×375 内容区域空白修复
- H-03: Tablet 768px 侧边栏折叠与内容区域同步
- 验证: 5 种视口 (1920×1080 / 1366×768 / 768×1024 / 375×812 / 812×375) 全部 PASS
2.2 性能
- H-04: 患者列表 LCP 优化至 < 2000ms
- H-05: 仪表盘 API 每个端点从 ×4 降至 ×1
- 验证: Lighthouse Desktop Accessibility ≥ 94
2.3 安全
- 患者名/咨询描述 HTML sanitize
- ArticlePhonePreview 引入 DOMPurify
- 验证: XSS payload 存储后不执行
3. 构建与部署验证
3.1 后端
cargo check --workspace无错误cargo test --workspace全部通过cargo clippy -- -D warnings无警告- 后端服务正常启动,健康检查 200
3.2 Web 前端
pnpm build生产构建通过pnpm test单元测试通过- 4 种主题切换正常
- 所有核心页面加载无 console error
3.3 小程序
pnpm build:weapp构建通过- 微信开发者工具中 5 个 Tab 页全部可访问
- 体征保存、签到、咨询功能正常
- 无 JS 异常
4. 回归测试清单
4.1 核心业务流程
| 流程 | 验证点 | 状态 |
|---|---|---|
| 登录 → 工作台 | 菜单加载、统计数据显示 | ⬜ |
| 患者创建 | 表单校验、数据保存 | ⬜ |
| 患者搜索 | 关键字过滤生效 | ⬜ |
| 预约列表 | 数据加载、分页 | ⬜ |
| 咨询管理 | 列表、状态切换、评分 | ⬜ |
| 主题切换 | 4 种主题 + 持久化 | ⬜ |
4.2 API 端点抽检
| 端点 | 方法 | 验证 | 状态 |
|---|---|---|---|
| /auth/login | POST | 正确/错误密码 | ⬜ |
| /health/patients | GET/POST | CRUD + 校验 | ⬜ |
| /health/daily-monitoring | POST | DTO 映射正确 | ⬜ |
| /health/articles | POST | 标题长度校验 | ⬜ |
| /health/appointments | GET | 列表加载 | ⬜ |
4.3 小程序核心功能
| 功能 | 验证点 | 状态 |
|---|---|---|
| 登录 | Token 获取、存储、读取 | ⬜ |
| 首页 | 体征概览、操作按钮 | ⬜ |
| 体征保存 | 血压写入 + 读回 | ⬜ |
| 签到 | 积分增加 | ⬜ |
| AI 聊天 | 消息发送 | ⬜ |
| 咨询列表 | 数据加载 | ⬜ |
5. 发布签名
| 角色 | 确认 | 日期 |
|---|---|---|
| 前端负责人 | ⬜ | — |
| 后端负责人 | ⬜ | — |
| 小程序负责人 | ⬜ | — |
| 安全负责人 | ⬜ | — |
| QA 负责人 | ⬜ | — |
| 产品负责人 | ⬜ | — |
6. 已知限制(Beta 版本)
以下问题在 Beta 版本中 不阻塞,将在后续迭代中修复:
- 移动端响应式 — PC 管理后台移动端体验不佳(有小程序替代)
- i18n — 375 处硬编码中文(国内单语定位)
- 内联样式 — 1,548 处
style={{}}(功能不影响) - API limit 上限 — 无 200 上限(可通过浏览器 DevTools 触发)
- 重复标签 — 无唯一约束(管理员操作,风险低)
- Dark Mode 对比度 — 部分卡片浅色背景(视觉问题,不影响功能)
- 大文件 — 7 个 500+ 行 TSX 文件(可维护性,非功能问题)
7. 测试报告索引
| 章节 | 文件 | 关键发现 |
|---|---|---|
| 执行摘要 | 01-executive-summary.md |
36 个问题,B- 评级 |
| Web 功能测试 | 02-web-functional.md |
8 领域 5 通过,H×2 M×2 |
| 性能/兼容性 | 03-web-perf-compat.md |
Lighthouse 94/100/100,移动端 FAIL |
| 小程序测试 | 04-miniprogram.md |
UI 100%,功能 0%(token 问题) |
| API 深度测试 | 05-api-deep-test.md |
82.6% 通过率,健康数据 20% |
| 静态分析 | 06-static-analysis.md |
吞错 10+,i18n 375 处 |
| 头脑风暴 | 07-brainstorm.md |
3 Phase 修复计划,7 天时间线 |