126 lines
2.7 KiB
Markdown
126 lines
2.7 KiB
Markdown
# 历史记录修复说明
|
||
|
||
## 🐛 问题
|
||
|
||
用户反馈:"历史记录原本的生成记录都没有啦"
|
||
|
||
## 🔍 问题分析
|
||
|
||
### 1. 后端检查
|
||
|
||
测试后端 API `/sing/history`:
|
||
```bash
|
||
python test_sing_history.py
|
||
```
|
||
|
||
**结果**:✅ 后端正常,返回了 3 条历史记录
|
||
|
||
### 2. 数据库检查
|
||
|
||
查询数据库:
|
||
```sql
|
||
SELECT COUNT(*) FROM nf_sing_song_video WHERE status='succeeded';
|
||
```
|
||
|
||
**结果**:✅ 数据库有 12 条成功记录
|
||
|
||
### 3. 前端检查
|
||
|
||
检查前端代码 `xuniYou/pages/index/index.vue`:
|
||
|
||
**发现问题**:
|
||
- `onShow` 方法中调用了 `getSingSongs()`
|
||
- 但是**没有调用 `getSingHistory()`**
|
||
- 导致页面加载时不会获取历史记录
|
||
|
||
## ✅ 解决方案
|
||
|
||
### 修改文件:`xuniYou/pages/index/index.vue`
|
||
|
||
在 `onShow` 方法中添加 `getSingHistory()` 调用:
|
||
|
||
**修改前**:
|
||
```javascript
|
||
// 获取歌曲列表
|
||
this.getSingSongs();
|
||
this.getDanceHistory();
|
||
```
|
||
|
||
**修改后**:
|
||
```javascript
|
||
// 获取歌曲列表
|
||
this.getSingSongs();
|
||
this.getSingHistory(); // ← 添加这一行
|
||
this.getDanceHistory();
|
||
```
|
||
|
||
## 🎯 修改位置
|
||
|
||
文件:`xuniYou/pages/index/index.vue`
|
||
方法:`onShow()`
|
||
行号:约 976 行
|
||
|
||
## 📊 修改效果
|
||
|
||
### 修改前
|
||
- 页面加载时不会获取历史记录
|
||
- 历史记录 tab 显示为空
|
||
- 只有手动切换到历史记录 tab 或生成新视频后才会刷新
|
||
|
||
### 修改后
|
||
- 页面加载时自动获取历史记录
|
||
- 历史记录 tab 正常显示所有记录
|
||
- 用户体验更好
|
||
|
||
## 🚀 部署步骤
|
||
|
||
1. **保存文件**(已自动保存)
|
||
2. **重新编译前端**
|
||
3. **测试**:
|
||
- 打开应用
|
||
- 切换到"唱歌"tab
|
||
- 点击"历史记录"子 tab
|
||
- 应该能看到所有历史记录
|
||
|
||
## 🔍 测试结果
|
||
|
||
### 后端测试
|
||
```bash
|
||
python test_sing_history.py
|
||
```
|
||
|
||
**输出**:
|
||
```
|
||
✅ 成功获取历史记录,共 3 条
|
||
1. 如愿 - https://hello12312312.oss-cn-hangzhou.aliyuncs.com/lover/47/sing/1770101009_5.mp4
|
||
2. 一半一半 - https://hello12312312.oss-cn-hangzhou.aliyuncs.com/lover/47/sing/1770100721_9.mp4
|
||
3. 离开我的依赖 - https://nvlovers.oss-cn-qingdao.aliyuncs.com/lover/47/sing/1769435474_4.mp4
|
||
```
|
||
|
||
### 数据库测试
|
||
```sql
|
||
SELECT COUNT(*) FROM nf_sing_song_video WHERE status='succeeded';
|
||
```
|
||
|
||
**结果**:12 条记录
|
||
|
||
## 💡 根本原因
|
||
|
||
前端代码在页面加载时没有调用 `getSingHistory()` 方法,导致历史记录数据没有被加载到前端。
|
||
|
||
这不是数据丢失,而是**数据没有被显示**。
|
||
|
||
## 📝 注意事项
|
||
|
||
1. 数据库中的历史记录完好无损
|
||
2. 后端 API 工作正常
|
||
3. 只需要修改前端代码即可
|
||
4. 修改后需要重新编译前端
|
||
|
||
---
|
||
|
||
**修复说明版本**: 1.0
|
||
**创建时间**: 2026-02-04 18:45
|
||
**状态**: ✅ 已修复
|
||
|