12 KiB
API不一致问题清单
生成时间:2026-01-27
检查方法
通过对比小程序前端实际调用的API与后端Controller提供的API端点,发现以下不一致问题。
🔴 发现的API不一致问题
1. 成长记录API路径不一致
前端调用(多个地方):
// 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路径不一致
前端调用:
// 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
前端调用:
// 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
前端调用:
// 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
前端调用:
// 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
前端调用:
// 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
前端调用:
// 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):
wechatLogin(params) {
return request.post('/api/user/login/wechat', params)
}
后端实际接口(UserController):
@PostMapping("/wx-login")
public Result<UserVO> 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
- 读取所有相关Controller文件
- 确认实际提供的API端点
- 记录完整的路径和参数
步骤2:对比前端调用
- 找出所有不匹配的API调用
- 确认是否有路径重写规则
- 列出需要修改的文件
步骤3:修复不一致
- 优先修复前端调用(改动较小)
- 如果后端需要兼容旧路径,添加路由别名
- 统一命名规范
步骤4:测试验证
- 测试所有修改过的API调用
- 确保功能正常工作
- 更新API文档
下一步行动: 需要读取以下Controller文件来确认后端实际提供的API:
- CheckInController.java
- CheckInRecordController.java
- TeacherSalaryController.java
- TeacherScheduleController.java
- LearningRecordController.java
- 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:成长记录路径不统一(前端内部不一致)
前端使用了两种不同的路径:
// 方式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- 使用方式1peidu/uniapp/src/user-package/pages/growth/detail.vue- 使用方式1peidu/uniapp/src/user-package/pages/feedback/list.vue- 使用方式2
修复建议:
统一前端所有成长记录API调用,使用同一种路径格式(建议使用 /api/growth-record/*)
问题2:学习记录路径不统一(前端内部不一致)
前端使用了两种不同的路径:
// 方式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- 使用方式1peidu/uniapp/src/teacher-package/pages/teacher/record-summary.vue- 使用方式2
需要确认: 后端LearningRecordController的实际路径是什么?
问题3:订单核销API(需要确认)
前端调用:
request.post('/api/order/verify', null, { verifyCode: code })
request.post(`/api/order/scan-verify/${orderId}`)
需要确认: 后端OrderController是否提供了这两个接口?
问题4:教师排班API(需要确认)
前端调用:
request.get('/api/teacher-schedule/list', {...})
request.put(`/api/teacher-schedule/status/${slot.id}`, ...)
需要确认:
后端是否有TeacherScheduleController?路径是否为 /api/teacher-schedule/*?
问题5:套餐API(需要确认)
前端调用:
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)
需要修复的问题
- 🔴 成长记录路径不统一(前端内部)- P0
- 🔴 学习记录路径不统一(前端内部)- P1
- ⚠️ 订单核销API需要确认 - P1
- ⚠️ 教师排班API需要确认 - P1
- ⚠️ 套餐API需要确认 - P2
🎯 下一步行动
立即执行
- 统一前端成长记录API调用路径
- 统一前端学习记录API调用路径
需要确认
- 读取OrderController完整代码,确认核销接口
- 查找TeacherScheduleController,确认排班接口
- 读取PackageController完整代码,确认套餐接口
- 读取LearningRecordController完整代码,确认学习记录接口
测试验证
- 测试所有修改过的API调用
- 确保功能正常工作
报告更新完成 - 2026-01-27