126 lines
2.7 KiB
Markdown
126 lines
2.7 KiB
Markdown
|
|
# 签到历史记录404错误修复 - 2026-01-31
|
|||
|
|
|
|||
|
|
## 问题描述
|
|||
|
|
|
|||
|
|
服务商端点击"查看历史记录"后,控制台出现404错误:
|
|||
|
|
- `/api/provider/checkin/stats` - 404 Not Found
|
|||
|
|
- 页面无法正常显示
|
|||
|
|
|
|||
|
|
## 问题原因
|
|||
|
|
|
|||
|
|
**后端接口状态:**
|
|||
|
|
1. `/api/provider/checkin/stats` - **不存在**(导致404)
|
|||
|
|
2. `/api/provider/checkin/records` - **存在但返回空数据**
|
|||
|
|
|
|||
|
|
**前端调用:**
|
|||
|
|
- 签到历史页面在加载时调用了不存在的统计接口
|
|||
|
|
- 导致控制台报错
|
|||
|
|
|
|||
|
|
## 修复方案
|
|||
|
|
|
|||
|
|
采用**方案1:暂时隐藏统计数据**
|
|||
|
|
|
|||
|
|
### 修改内容
|
|||
|
|
|
|||
|
|
**文件:** `peidu/uniapp/src/provider-package/pages/provider/checkin-history.vue`
|
|||
|
|
|
|||
|
|
#### 1. 隐藏统计信息UI
|
|||
|
|
```vue
|
|||
|
|
<!-- 统计信息 - 暂时隐藏,等待后端接口实现 -->
|
|||
|
|
<!-- <view class="stats-section">
|
|||
|
|
...统计数据显示...
|
|||
|
|
</view> -->
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 2. 注释统计接口调用
|
|||
|
|
```javascript
|
|||
|
|
onLoad() {
|
|||
|
|
// 暂时注释掉统计接口调用,避免404错误
|
|||
|
|
// this.loadStats()
|
|||
|
|
this.loadHistory()
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
onPullDownRefresh() {
|
|||
|
|
// 暂时注释掉统计接口调用
|
|||
|
|
this.loadHistory().finally(() => {
|
|||
|
|
uni.stopPullDownRefresh()
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 3. 保留loadStats方法(注释实现)
|
|||
|
|
```javascript
|
|||
|
|
async loadStats() {
|
|||
|
|
// 暂时注释掉,等待后端实现 /api/provider/checkin/stats 接口
|
|||
|
|
console.log('统计功能暂未实现,等待后端接口')
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 修复效果
|
|||
|
|
|
|||
|
|
✅ **不再出现404错误**
|
|||
|
|
✅ **页面可以正常加载**
|
|||
|
|
✅ **历史记录列表正常显示**(虽然目前是空数据)
|
|||
|
|
✅ **保留代码结构,方便后续补充**
|
|||
|
|
|
|||
|
|
## 后续工作
|
|||
|
|
|
|||
|
|
### 需要后端实现的接口
|
|||
|
|
|
|||
|
|
#### 1. 统计接口
|
|||
|
|
```
|
|||
|
|
GET /api/provider/checkin/stats
|
|||
|
|
返回:
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"data": {
|
|||
|
|
"total": 100, // 总签到次数
|
|||
|
|
"thisMonth": 20, // 本月签到
|
|||
|
|
"thisWeek": 5 // 本周签到
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 2. 历史记录接口(已存在但返回空数据)
|
|||
|
|
```
|
|||
|
|
GET /api/provider/checkin/records
|
|||
|
|
参数:
|
|||
|
|
- date: 日期筛选(可选)
|
|||
|
|
- page: 页码
|
|||
|
|
- size: 每页数量
|
|||
|
|
|
|||
|
|
返回:
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"data": {
|
|||
|
|
"records": [
|
|||
|
|
{
|
|||
|
|
"id": 1,
|
|||
|
|
"date": "2026-01-31",
|
|||
|
|
"time": "09:00",
|
|||
|
|
"courseName": "数学辅导",
|
|||
|
|
"studentName": "张小明",
|
|||
|
|
"location": "学生家中"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"total": 100
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 恢复步骤
|
|||
|
|
|
|||
|
|
当后端接口实现后:
|
|||
|
|
1. 取消注释统计信息UI部分
|
|||
|
|
2. 取消注释 `loadStats()` 调用
|
|||
|
|
3. 恢复 `loadStats()` 方法的实现
|
|||
|
|
4. 测试功能正常
|
|||
|
|
|
|||
|
|
## 相关文件
|
|||
|
|
|
|||
|
|
- 修复文件:`peidu/uniapp/src/provider-package/pages/provider/checkin-history.vue`
|
|||
|
|
- 后端控制器:`peidu/backend/src/main/java/com/peidu/controller/ProviderController.java`
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
*修复时间:2026-01-31*
|