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

418 lines
12 KiB
Markdown
Raw Normal View History

2026-02-28 17:26:03 +08:00
# 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<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成长记录路径不统一前端内部不一致
**前端使用了两种不同的路径:**
```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**