整理仓库:扩展 gitignore、归档文档、清理冗余 Dockerfile

- .gitignore 新增忽略 .idea/、videos/、*.tar.gz、*.csproj.user、db 运行时文件
- 根目录 15 个中文运维 md 归档到 docs/
- 删除无部署脚本引用的 Dockerfile 与 Dockerfile-arm(保留 Dockerfile.prod)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
yuming
2026-04-24 21:28:41 +08:00
parent af40ed69fc
commit ad97fd3da5
18 changed files with 3811 additions and 21 deletions
+127
View File
@@ -0,0 +1,127 @@
# 数据看板不更新问题排查
## 🔍 问题现象
视频已经下载了,但是数据看板中的数据没有更新。
## 📋 可能的原因
### 1. 数据库记录未保存
- 视频文件下载成功,但数据库记录保存失败
- 检查日志中是否有 "批量保存视频到数据库失败" 的错误
### 2. 前端缓存问题
- 浏览器缓存了旧的统计数据
- 前端组件没有刷新数据
### 3. 数据库查询问题
- 统计查询没有正确读取数据
## 🔧 排查步骤
### 步骤1:检查数据库中的记录
**方法一:通过前端页面**
1. 访问 `http://localhost:8001`
2. 进入「同步记录」页面
3. 查看是否有视频记录显示
4. 检查视频记录是否有 `videoSavePath` 字段
**方法二:通过 Swagger API**
1. 访问 `http://localhost:10101/swagger`
2. 找到 `POST /api/video/paged`
3. 输入参数:`{"pageIndex":1,"pageSize":10}`
4. 执行查询,查看返回的数据
**方法三:直接查询数据库**
```bash
cd /Users/gaotu/WebstormProjects/dysync.net
sqlite3 db/dy.sqlite "SELECT COUNT(*) FROM dy_collect_video;"
sqlite3 db/dy.sqlite "SELECT id, videoTitle, videoSavePath FROM dy_collect_video LIMIT 5;"
```
### 步骤2:检查日志
查看最新的日志文件,搜索关键词:
- "批量保存视频到数据库失败"
- "本次共同步成功"
- "下载成功"
```bash
# 查看最新日志
tail -100 logs/log-debug-20251120.txt | grep -E "(下载成功|批量保存|同步成功)"
```
### 步骤3:检查前端数据刷新
1. **清除浏览器缓存**
- 按 `F12` 打开开发者工具
- 右键点击刷新按钮
- 选择「清空缓存并硬性重新加载」
2. **手动刷新数据看板**
- 进入「数据看板」页面
- 按 `F5` 刷新页面
- 或关闭页面重新打开
3. **检查网络请求**
- 按 `F12` 打开开发者工具
- 切换到「Network」标签
- 刷新「数据看板」页面
- 查看 `/api/video/statics` 请求的响应数据
## 🛠️ 解决方案
### 方案1:强制刷新前端数据
在前端代码中添加自动刷新功能,修改 `statics.vue`:
```vue
// 在 onMounted 中添加定时刷新
onMounted(() => {
loadDashboardData();
// 每30秒自动刷新一次
const timer = setInterval(() => {
loadDashboardData();
}, 30000);
onUnmounted(() => {
clearInterval(timer);
});
});
```
### 方案2:检查数据库保存逻辑
如果日志显示 "批量保存视频到数据库失败",需要检查:
1. 数据库连接是否正常
2. 视频记录是否有重复(AwemeId 冲突)
3. 字段是否有空值或格式错误
### 方案3:手动触发数据刷新
在前端「数据看板」页面添加刷新按钮:
```vue
<a-button @click="loadDashboardData" type="primary">刷新数据</a-button>
```
## 📝 快速检查清单
- [ ] 数据库中是否有视频记录?
- [ ] 视频记录是否有 `videoSavePath` 字段?
- [ ] 视频文件是否实际存在?
- [ ] 日志中是否有保存失败的错误?
- [ ] 前端是否缓存了旧数据?
- [ ] API 返回的数据是否正确?
## 🎯 立即操作
1. **刷新浏览器页面**(清除缓存)
2. **检查「同步记录」页面**,看是否有视频记录
3. **查看浏览器控制台**(F12),检查是否有错误
4. **查看网络请求**,确认 API 返回的数据
如果「同步记录」页面有数据,但「数据看板」没有更新,那就是前端缓存问题,需要强制刷新。
如果「同步记录」页面也没有数据,那就是数据库保存问题,需要检查日志。