--- 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. 检查最近变更 ```bash git diff --name-only HEAD~5 # 最近 5 次提交变更 git log --oneline -10 # 最近 10 条提交 ``` ## 5. 运行受影响测试 ```bash 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)