文件
tennis-training-hub/docs/verified-features.md
2026-03-14 22:32:41 +08:00

90 行
3.8 KiB
Markdown
原始文件 Blame 文件历史

此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
# Verified Features
本文档记录当前已经通过自动化验证或构建验证的项目。更新时间2026-03-14 22:24 CST。
## 最新完整验证记录
- 通过命令:`pnpm verify`
- 验证时间2026-03-14 22:23 CST
- 结果摘要:`pnpm check` 通过,`pnpm test` 通过74/74`pnpm test:go` 通过,`pnpm build` 通过,`pnpm test:e2e` 通过5/5
## 生产部署联测
| 项目 | 验证方式 | 状态 |
|------|----------|------|
| `https://te.hao.work/` HTTPS 访问 | `curl -I https://te.hao.work/` | 通过 |
| `http://te.hao.work:8302/` 4 位端口访问 | `curl -I http://te.hao.work:8302/` | 通过 |
| 站点 TLS 证书 | Let’s Encrypt ECDSA 证书已签发并由宿主机 nginx 加载 | 通过 |
| 生产首页、登录页、录制页浏览器打开 | Playwright 访问 `https://te.hao.work/``/login``/recorder` | 通过 |
| 生产前端运行时异常检查 | Playwright `pageerror` / `console.error` 检查 | 通过 |
| 媒体健康检查 | `curl http://127.0.0.1:8081/media/health` | 通过 |
| compose 自包含服务 | `docker compose ps``app` / `db` / `media` / `worker` 正常运行,`migrate` 成功退出 | 通过 |
## 构建与编译通过
| 项目 | 验证方式 | 状态 |
|------|----------|------|
| TypeScript 类型检查 | `pnpm check` | 通过 |
| Node 应用生产构建 | `pnpm build` | 通过 |
| Go 媒体服务编译 | `pnpm test:go` 中的 `go build ./...` | 通过 |
## 单元与路由验证
| 模块 | 验证方式 | 状态 |
|------|----------|------|
| auth | `pnpm test` | 通过 |
| profile | `pnpm test` | 通过 |
| plan | `pnpm test` | 通过 |
| video | `pnpm test` | 通过 |
| analysis | `pnpm test` | 通过 |
| record | `pnpm test` | 通过 |
| rating | `pnpm test` | 通过 |
| checkin | `pnpm test` | 通过 |
| badge | `pnpm test` | 通过 |
| leaderboard | `pnpm test` | 通过 |
| tutorial / reminder / notification 路由校验 | `pnpm test` | 通过 |
| media 工具函数 | `pnpm test` | 通过 |
| 登录 URL 回退逻辑 | `pnpm test` | 通过 |
## Go 媒体服务验证
| 功能 | 验证方式 | 状态 |
|------|----------|------|
| `/media/health` | `go test ./...` | 通过 |
| 会话状态聚合 | `go test ./...` | 通过 |
| 单片段归档回放产物生成 | `go test ./...` | 通过 |
## 浏览器 E2E 已验证主流程
| 模块 | 验证内容 | 状态 |
|------|----------|------|
| 登录 | 用户名输入、登录提交、跳转仪表盘 | 通过 |
| 仪表盘 | 认证后主标题与入口按钮渲染 | 通过 |
| 训练计划 | 训练计划页加载与生成入口可见 | 通过 |
| 视频库 | 视频卡片渲染 | 通过 |
| 实时分析 | 摄像头启动入口渲染 | 通过 |
| 在线录制 | 启动摄像头、开始录制、手动标记、结束归档 | 通过 |
| 录制结果入库 | 归档完成后视频库可见录制结果 | 通过 |
## LLM 模块验证
| 项目 | 验证方式 | 状态 |
|------|----------|------|
| `.env` 中的 `LLM_API_URL` / `LLM_API_KEY` / `LLM_MODEL` | `pnpm test:llm` | 通过 |
| `https://one.hao.work/v1/chat/completions` 联通性 | `pnpm test:llm` 实际返回文本 | 通过 |
## 已知非阻断警告
- 测试与开发日志中会出现 `OAUTH_SERVER_URL` 未配置提示;当前 mocked auth 和本地验证链路不依赖真实 OAuth 服务,因此不会导致失败
- `pnpm build` 仍有 Vite 大 chunk 警告;当前属于性能优化待办,不影响本次产物生成
- Playwright 运行依赖 mocked media/network,不等价于真机摄像头、真实弱网和真实 WebRTC 质量验收
## 当前未纳入自动验证的内容
- 真实摄像头权限与真实编码质量
- 真实 WebRTC 网络连通性
- 真正的 FFmpeg 多片段重编码质量
- 真机 iOS / Android 浏览器的真实媒体兼容差异
以上内容仍建议在预发或本地联调时补充人工验证。