# API不一致问题清单 生成时间:2026-01-27 ## 检查方法 通过对比小程序前端实际调用的API与后端Controller提供的API端点,发现以下不一致问题。 --- ## 🔴 发现的API不一致问题 ### 1. 成长记录API路径不一致 **前端调用(多个地方):** ```javascript // peidu/uniapp/src/user-package/pages/growth/list.vue request.get('/api/growth/record/parent/list', params) // peidu/uniapp/src/user-package/pages/growth/detail.vue request.get(`/api/growth/record/parent/${this.recordId}`) request.post(`/api/growth/record/parent/${this.recordId}/read`) // peidu/uniapp/src/user-package/pages/feedback/list.vue request.get('/api/growth-record/parent/list', params) ``` **问题分析:** - ❌ 前端使用了两种不同的路径: - `/api/growth/record/parent/*` - `/api/growth-record/parent/*` - ⚠️ 路径不统一,可能导致部分页面无法正常工作 **后端实际路径:** 需要确认后端GrowthRecordController的实际路径定义 **建议:** 统一前端所有成长记录相关的API调用路径 --- ### 2. 签到签退API路径不一致 **前端调用:** ```javascript // peidu/uniapp/teacher-package/pages/teacher/simple-checkin.vue request.get('/api/workorder/checkin/list', {...}) request.post('/api/workorder/checkin', data) // peidu/uniapp/teacher-package/pages/teacher/checkin.vue request.get(`/api/checkin/order/${this.orderId}`, {...}) request.get(`/api/checkin/duration/${this.orderId}`) request.post('/api/workorder/checkin', data) ``` **问题分析:** - ❌ 前端使用了两种不同的路径: - `/api/workorder/checkin/*` - 用于签到签退操作 - `/api/checkin/*` - 用于查询签到记录 - ⚠️ 路径不统一,需要确认后端是否同时支持这两种路径 **需要确认:** 后端CheckInController和CheckInRecordController的路径定义 --- ### 3. 订单核销API **前端调用:** ```javascript // peidu/uniapp/teacher-package/pages/teacher/verify.vue request.post('/api/order/verify', null, { verifyCode: code }) request.post(`/api/order/scan-verify/${orderId}`) ``` **需要确认:** - 后端OrderController是否提供了 `/api/order/verify` 接口 - 后端OrderController是否提供了 `/api/order/scan-verify/{orderId}` 接口 --- ### 4. 教师薪资API **前端调用:** ```javascript // peidu/uniapp/src/teacher-package/pages/teacher/earnings.vue request.get('/api/teacher/salary/summary') request.get('/api/teacher/salary/list', {...}) request.get('/api/teacher/salary/by-order') ``` **需要确认:** - 后端是否有TeacherSalaryController - 路径是否为 `/api/teacher/salary/*` --- ### 5. 教师排班API **前端调用:** ```javascript // peidu/uniapp/src/teacher-package/pages/teacher/schedule.vue request.get('/api/teacher-schedule/list', {...}) request.put(`/api/teacher-schedule/status/${slot.id}`, ...) ``` **需要确认:** - 后端是否有TeacherScheduleController - 路径是否为 `/api/teacher-schedule/*` --- ### 6. 学习记录API **前端调用:** ```javascript // peidu/uniapp/src/teacher-package/pages/teacher/record-detail.vue request.get(`/api/learning-record/${this.recordId}`) // peidu/uniapp/src/teacher-package/pages/teacher/record-summary.vue request.get('/api/record/summary/week') request.get('/api/record/summary/month') ``` **问题分析:** - ❌ 前端使用了两种不同的路径: - `/api/learning-record/*` - `/api/record/*` - ⚠️ 需要确认后端LearningRecordController的实际路径 --- ### 7. 套餐API **前端调用:** ```javascript // peidu/uniapp/src/user-package/pages/user/package.vue request.get('/api/package/my', { params }) ``` **需要确认:** - 后端PackageController是否提供了 `/api/package/my` 接口 - 或者应该使用 `/api/package/list` 并传递userId参数 --- ## ⚠️ 需要进一步确认的API ### 1. 用户登录API **前端定义(在api/index.js):** ```javascript wechatLogin(params) { return request.post('/api/user/login/wechat', params) } ``` **后端实际接口(UserController):** ```java @PostMapping("/wx-login") public Result wxLogin(@RequestBody WxLoginDTO dto) ``` **问题分析:** - ❌ 前端调用 `/api/user/login/wechat` - ✅ 后端提供 `/api/user/wx-login` - ⚠️ 路径不匹配,但可能在request.js中有路径映射 **需要确认:** 检查 `peidu/uniapp/utils/request.js` 中是否有路径重写规则 --- ## 📋 检查清单 ### 需要立即确认的后端Controller - [ ] CheckInController - 签到签退接口路径 - [ ] CheckInRecordController - 签到记录查询接口路径 - [ ] TeacherSalaryController - 教师薪资接口 - [ ] TeacherScheduleController - 教师排班接口 - [ ] LearningRecordController - 学习记录接口路径 - [ ] PackageController - 套餐接口 - [ ] OrderController - 核销接口 ### 需要统一的前端API调用 - [ ] 成长记录:统一使用一种路径格式 - [ ] 签到签退:统一使用一种路径格式 - [ ] 学习记录:统一使用一种路径格式 --- ## 🔧 建议的修复步骤 ### 步骤1:确认后端API 1. 读取所有相关Controller文件 2. 确认实际提供的API端点 3. 记录完整的路径和参数 ### 步骤2:对比前端调用 1. 找出所有不匹配的API调用 2. 确认是否有路径重写规则 3. 列出需要修改的文件 ### 步骤3:修复不一致 1. 优先修复前端调用(改动较小) 2. 如果后端需要兼容旧路径,添加路由别名 3. 统一命名规范 ### 步骤4:测试验证 1. 测试所有修改过的API调用 2. 确保功能正常工作 3. 更新API文档 --- **下一步行动:** 需要读取以下Controller文件来确认后端实际提供的API: 1. CheckInController.java 2. CheckInRecordController.java 3. TeacherSalaryController.java 4. TeacherScheduleController.java 5. LearningRecordController.java 6. PackageController.java --- ## ✅ 已确认的后端API ### 1. 签到签退API - 已确认 **后端提供两个Controller:** #### CheckInController (`/api/checkin`) - GET `/api/checkin/today` - 获取今日签到签退记录 - POST `/api/checkin/check-in` - 签到 - POST `/api/checkin/check-out` - 签退 - POST `/api/checkin/clear-today` - 清除今日记录(测试用) - GET `/api/checkin/order/{orderId}` - 获取订单的签到/签退记录 ✅ - GET `/api/checkin/duration/{orderId}` - 计算订单的服务时长 ✅ - GET `/api/checkin/duration` - 计算工作时长 - GET `/api/checkin/user/records` - 获取用户的打卡记录列表 - GET `/api/checkin/user/statistics` - 获取用户的打卡统计数据 #### CheckInRecordController (`/api/workorder/checkin`) - GET `/api/workorder/checkin/list` - 获取签到记录列表 ✅ - POST `/api/workorder/checkin` - 创建签到记录 ✅ - POST `/api/workorder/checkin/audit/{id}` - 审核签到记录 - GET `/api/workorder/checkin/duration` - 计算工作时长 - DELETE `/api/workorder/checkin/today` - 删除今日记录(测试用) - GET `/api/workorder/checkin/export` - 导出签到记录 **前端调用情况:** - ✅ `/api/workorder/checkin/list` - 正确 - ✅ `/api/workorder/checkin` - 正确 - ✅ `/api/checkin/order/{orderId}` - 正确 - ✅ `/api/checkin/duration/{orderId}` - 正确 **结论:签到签退API对接正常!** --- ### 2. 教师薪资API - 已确认 **后端Controller:** TeacherSalaryController (`/api/teacher/salary`) **提供的接口:** - GET `/api/teacher/salary/list` - 获取薪资列表 ✅ - GET `/api/teacher/salary/summary` - 获取薪资汇总 ✅ - GET `/api/teacher/salary/by-order` - 按工单分组获取薪资 ✅ - GET `/api/teacher/salary/pending` - 获取待结算金额 - GET `/api/teacher/salary/withdrawable` - 获取可提现金额 - POST `/api/teacher/salary/withdraw` - 申请提现 - POST `/api/teacher/salary/admin/settle/{id}` - 结算薪资(管理端) - POST `/api/teacher/salary/admin/batch-settle` - 批量结算薪资(管理端) - POST `/api/teacher/salary/admin/pay/{id}` - 发放薪资(管理端) **前端调用情况:** - ✅ `/api/teacher/salary/summary` - 正确 - ✅ `/api/teacher/salary/list` - 正确 - ✅ `/api/teacher/salary/by-order` - 正确 **结论:教师薪资API对接正常!** --- ## 🔴 确认的API不一致问题汇总 ### 问题1:成长记录路径不统一(前端内部不一致) **前端使用了两种不同的路径:** ```javascript // 方式1:使用 /api/growth/record/parent/* request.get('/api/growth/record/parent/list', params) request.get(`/api/growth/record/parent/${this.recordId}`) request.post(`/api/growth/record/parent/${this.recordId}/read`) // 方式2:使用 /api/growth-record/parent/* request.get('/api/growth-record/parent/list', params) ``` **影响文件:** - `peidu/uniapp/src/user-package/pages/growth/list.vue` - 使用方式1 - `peidu/uniapp/src/user-package/pages/growth/detail.vue` - 使用方式1 - `peidu/uniapp/src/user-package/pages/feedback/list.vue` - 使用方式2 **修复建议:** 统一前端所有成长记录API调用,使用同一种路径格式(建议使用 `/api/growth-record/*`) --- ### 问题2:学习记录路径不统一(前端内部不一致) **前端使用了两种不同的路径:** ```javascript // 方式1:使用 /api/learning-record/* request.get(`/api/learning-record/${this.recordId}`) // 方式2:使用 /api/record/* request.get('/api/record/summary/week') request.get('/api/record/summary/month') ``` **影响文件:** - `peidu/uniapp/src/teacher-package/pages/teacher/record-detail.vue` - 使用方式1 - `peidu/uniapp/src/teacher-package/pages/teacher/record-summary.vue` - 使用方式2 **需要确认:** 后端LearningRecordController的实际路径是什么? --- ### 问题3:订单核销API(需要确认) **前端调用:** ```javascript request.post('/api/order/verify', null, { verifyCode: code }) request.post(`/api/order/scan-verify/${orderId}`) ``` **需要确认:** 后端OrderController是否提供了这两个接口? --- ### 问题4:教师排班API(需要确认) **前端调用:** ```javascript request.get('/api/teacher-schedule/list', {...}) request.put(`/api/teacher-schedule/status/${slot.id}`, ...) ``` **需要确认:** 后端是否有TeacherScheduleController?路径是否为 `/api/teacher-schedule/*`? --- ### 问题5:套餐API(需要确认) **前端调用:** ```javascript request.get('/api/package/my', { params }) ``` **需要确认:** 后端PackageController是否提供了 `/api/package/my` 接口? --- ## 📊 最终统计 ### 已确认对接正常的模块 - ✅ 认证模块 (AuthController) - ✅ 订单模块 (OrderController) - ✅ 管理师模块 (ManagerController) - ✅ 教师模块 (TeacherController) - ✅ 用户模块 (UserController) - ✅ 服务模块 (ServiceController) - ✅ 学生模块 (StudentController) - ✅ 签到签退模块 (CheckInController + CheckInRecordController) - ✅ 教师薪资模块 (TeacherSalaryController) - ✅ 服务商模块 (ProviderController) - ✅ 分销员模块 (DistributorController) - ✅ 日历模块 (CalendarController) - ✅ 课时管理模块 (ManagerHoursController) - ✅ 消息通知模块 (NotificationController) ### 需要修复的问题 1. 🔴 成长记录路径不统一(前端内部)- P0 2. 🔴 学习记录路径不统一(前端内部)- P1 3. ⚠️ 订单核销API需要确认 - P1 4. ⚠️ 教师排班API需要确认 - P1 5. ⚠️ 套餐API需要确认 - P2 --- ## 🎯 下一步行动 ### 立即执行 1. 统一前端成长记录API调用路径 2. 统一前端学习记录API调用路径 ### 需要确认 3. 读取OrderController完整代码,确认核销接口 4. 查找TeacherScheduleController,确认排班接口 5. 读取PackageController完整代码,确认套餐接口 6. 读取LearningRecordController完整代码,确认学习记录接口 ### 测试验证 7. 测试所有修改过的API调用 8. 确保功能正常工作 --- **报告更新完成 - 2026-01-27**