peixue-dev/Archive/[一次性]API不一致问题清单-2026-01-27.md

12 KiB
Raw Blame History

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

  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成长记录路径不统一前端内部不一致

前端使用了两种不同的路径:

// 方式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学习记录路径不统一前端内部不一致

前端使用了两种不同的路径:

// 方式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需要确认

前端调用:

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)

需要修复的问题

  1. 🔴 成长记录路径不统一(前端内部)- P0
  2. 🔴 学习记录路径不统一(前端内部)- P1
  3. ⚠️ 订单核销API需要确认 - P1
  4. ⚠️ 教师排班API需要确认 - P1
  5. ⚠️ 套餐API需要确认 - P2

🎯 下一步行动

立即执行

  1. 统一前端成长记录API调用路径
  2. 统一前端学习记录API调用路径

需要确认

  1. 读取OrderController完整代码确认核销接口
  2. 查找TeacherScheduleController确认排班接口
  3. 读取PackageController完整代码确认套餐接口
  4. 读取LearningRecordController完整代码确认学习记录接口

测试验证

  1. 测试所有修改过的API调用
  2. 确保功能正常工作

报告更新完成 - 2026-01-27