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
|
|||
|
|
**状态**: ✅ 已修复
|
|||
|
|
|