Files
hms/docs/audits/v3-beta/08-beta-checklist.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

143 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 版本中 **不阻塞**,将在后续迭代中修复:
1. **移动端响应式** — PC 管理后台移动端体验不佳(有小程序替代)
2. **i18n** — 375 处硬编码中文(国内单语定位)
3. **内联样式** — 1,548 处 `style={{}}`(功能不影响)
4. **API limit 上限** — 无 200 上限(可通过浏览器 DevTools 触发)
5. **重复标签** — 无唯一约束(管理员操作,风险低)
6. **Dark Mode 对比度** — 部分卡片浅色背景(视觉问题,不影响功能)
7. **大文件** — 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 天时间线 |