- AGENTS.md: 新增 §20 工具脚本复用 / §21 分析结论复用 / §22 Flaky 门禁,更新文档配置表
- .pi/: 新增 settings.json、rules/guardrails.md、prompts/{debug,review,ship}-gym-manage.md
- .agents/: 新增 Hook 配置与 4 个 Hook 脚本(session-start/pre-agent-check/check-completeness/stop-check)
及 protocols/systematic-debugging.md(check-completeness 含接口链缺口检测)
- scripts/flaky-scan.sh: vitest shuffle 稳定性扫描(gym-manage-web)
- .gitignore: 追踪 AGENTS.md 与 .pi 配置,忽略运行时缓存(todos/taskflows-runs/tokenomy/sessions)
2.1 KiB
2.1 KiB
description
| description |
|---|
| 健身房管理系统专用系统调试 — 跨 Java API + Vue3 Web + UniApp 小程序排查 |
Gym Manage(SpringBoot 多模块后端 + Vue3 管理后台 + UniApp 双小程序)系统化调试协议:
1. 复现确认
- 确认最小复现步骤(单测试 / 单操作 / 单输入)
- 区分环境:本地 Dev(
pnpm dev,端口 3002)vs Docker(docker-compose logs -f backend/frontend/postgres)vs 微信开发者工具(小程序)
2. 分层隔离
按以下顺序定位故障层:
| 层级 | 检查点 | 快速验证 |
|---|---|---|
| 后端 Java | Controller / Service / Mapper、参数校验、异常处理 | cd gym-manage-api && mvn compile / mvn test |
| Gateway 路由 | /api/** → 8084 转发、CORS、鉴权过滤器 |
Gateway 控制台日志 |
| Web 前端 | gym-manage-web/src/api/*.api.ts 请求层、views 组件、store |
cd gym-manage-web && pnpm test / 浏览器 DevTools Network |
| UniApp 小程序 | gym-manage-uniapp/api/*.js、pages 页面 |
微信开发者工具控制台(urlCheck: false 已关闭) |
| 数据库 | SQL 错误、数据不一致 | psql -U novalon -d manage_system -p 55432 |
3. 二分排查
- 对 Java 逻辑:加日志(SLF4J DEBUG)或单测缩小范围
- 对接口联调:用 Swagger(
:8084/swagger-ui.html)直接调接口,确认后端返回 → 再查前端请求参数 - 对 UI:Vue DevTools 组件树 + Network 标签比对请求/响应
4. 检查最近变更
git diff --name-only HEAD~5 # 最近 5 次提交变更
git log --oneline -10 # 最近 10 条提交
5. 运行受影响测试
cd gym-manage-api && mvn test -pl <受影响模块> -am # 后端
cd gym-manage-web && pnpm test # Web 前端
cd gym-manage-web && pnpm test:e2e # Web E2E(Playwright)
6. 确认根因后才提修复方案
- 记录完整的复现路径与根因证据
- 修复后走完整验证:受影响单测 + 类型检查(
vue-tsc)+ 真实后端联调(Mock 通过 ≠ 功能可用,见 AGENTS.md §13)