文件
tennis-training-hub/docs/verified-features.md
2026-03-15 02:11:34 +08:00

6.5 KiB
原始文件 Blame 文件历史

Verified Features

本文档记录当前已经通过自动化验证或构建验证的项目。更新时间2026-03-15 02:09 CST。

最新完整验证记录

  • 通过命令:pnpm verify
  • 验证时间2026-03-15 02:09 - 02:10 CST
  • 结果摘要:pnpm check 通过,pnpm test 通过95/95pnpm test:go 通过,pnpm build 通过,pnpm test:e2e 通过7/7
  • 数据库状态:已执行 set -a && source .env && set +a && pnpm exec drizzle-kit migrate0007_grounded_live_ops 已成功应用

生产部署联测

项目 验证方式 状态
https://te.hao.work/ HTTPS 访问 curl -I https://te.hao.work/ 通过
https://te.hao.work/checkin 成就系统路由 Playwright 登录后检查“成就系统” 通过
https://te.hao.work/logs 日志页访问 curl -I https://te.hao.work/logs 通过
https://te.hao.work/vision-lab 视觉测试页访问 curl -I https://te.hao.work/vision-lab 通过
http://te.hao.work:8302/ 4 位端口访问 curl -I http://te.hao.work:8302/ 通过
站点 TLS 证书 Let’s Encrypt ECDSA 证书已签发并由宿主机 nginx 加载 通过
生产登录与首次进入工作台 Playwright 登录真实站点并跳转 /dashboard 通过
新用户邀请码校验 Playwright 验证无邀请码被拦截、正确邀请码 CA2026 可创建新账号 通过
日志页访问 Playwright 以 H1 登录并访问 /logs 通过
生产训练 / 实时分析 / 录制 / 视频库页面加载 Playwright 访问 /training/live-camera/recorder/videos 通过
生产视频库轻剪辑入口 本地 pnpm test:e2e + 真实站点 /videos smoke 通过
生产训练计划后台任务提交 Playwright 点击训练计划生成按钮并收到后台任务反馈 通过
生产移动端录制焦点视图 Playwright 移动端视口打开 /recorder 并验证焦点入口与操作壳层 通过
生产前端运行时异常检查 Playwright pageerror / console.error 检查 通过
媒体健康检查 curl http://127.0.0.1:8081/media/health 通过
compose 自包含服务 docker compose ps -aapp / app-worker / db / media / media-worker 正常运行,migrate 成功退出 通过
生产版本追平 docker compose up -d --build migrate app app-worker 后复测 login / checkin / videos / recorder / live-camera / admin 通过

构建与编译通过

项目 验证方式 状态
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 通过
live analysis 会话保存 pnpm test 通过
record pnpm test 通过
rating pnpm test 通过
achievement pnpm test 通过
admin pnpm test 通过
checkin 兼容路由 pnpm test 通过
badge pnpm test 通过
leaderboard pnpm test 通过
tutorial / reminder / notification 路由校验 pnpm test 通过
task 后台任务路由 pnpm test / pnpm test:e2e 通过
media 工具函数 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 实际返回文本 通过
视觉模型独立配置路径 server/_core/llm.test.ts + 手工 smoke 检查 通过
视觉标准图库入库 MySQL 中 vision_reference_images 已写入 5 张 Commons 网球参考图 通过
视觉测试结果入库 MySQL 中 vision_test_runs 已写入 3 条真实测试结果 通过
H1 全量可见性 H1 用户已提升为 admin,可读取全部视觉测试记录;Playwright 真实站点检查通过 通过

已知非阻断警告

  • 测试与开发日志中会出现 OAUTH_SERVER_URL 未配置提示;当前 mocked auth 和本地验证链路不依赖真实 OAuth 服务,因此不会导致失败
  • pnpm build 仍有 Vite 大 chunk 警告;当前属于性能优化待办,不影响本次产物生成
  • Playwright 运行依赖 mocked media/network,不等价于真机摄像头、真实弱网和真实 WebRTC 质量验收
  • 当前上游视觉网关可能忽略 LLM_VISION_MODEL 并回退为文本模型;服务端已实现自动降级,任务不会因此直接失败
  • 2026-03-15 的真实标准图测试中,正手 / 反手 / 发球三条记录均以 fallback 完成,说明当前上游视觉网关仍未稳定返回结构化视觉结果
  • 开发服务器启动阶段仍会打印 OAUTH_SERVER_URL 未配置提示;当前用户名登录、mock auth 和自动化测试不受影响

当前未纳入自动验证的内容

  • 真实摄像头权限与真实编码质量
  • 真实 WebRTC 网络连通性
  • 真正的 FFmpeg 多片段重编码质量
  • 真机 iOS / Android 浏览器的真实媒体兼容差异

以上内容仍建议在预发或本地联调时补充人工验证。