guoyu/log/诊断学习记录问题.md

169 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 学习记录问题诊断清单
## 1. 检查后端是否重新编译
### 问题症状
- 后台管理系统显示的进度还是 57% 或 78.33%
- 而不是 11.11%3/27
### 解决方案
```bash
cd C:\Users\Administrator\Desktop\Project\ry_study-v_03\Study-Vue-redis
mvn clean package -DskipTests
# 重启后端服务
```
### 验证方法
查看后端日志,应该看到:
```
课程 1 进度计算完成: 3个已完成 / 27个有效课件 = 11.11%
```
---
## 2. 检查前端是否重新编译
### 问题症状
- App端视频URL错误
- 显示:`http://.../profile/profile/upload/...`
### 解决方案
```bash
cd C:\Users\Administrator\Desktop\Project\ry_study-v_03\fronted_uniapp
# 停止当前服务Ctrl+C
npm run dev:app
```
### 验证方法
查看App日志应该看到
```
[课程学习] 检测到filePath包含profile/前缀,已自动去除
[课程学习] 完整URL: http://192.168.1.164:30091/profile/upload/...
```
---
## 3. 检查数据库数据
### 执行SQL
```sql
-- 1. 查看课件时长
SELECT id, name, type, duration
FROM courseware
WHERE course_id = 1
ORDER BY id;
-- 2. 查看学习详情
SELECT
id,
courseware_id,
video_end_position as video_position,
duration,
learn_time
FROM learning_detail
WHERE student_id = 452 AND course_id = 1
ORDER BY learn_time DESC
LIMIT 10;
-- 3. 查看学习记录
SELECT
id,
progress,
total_duration,
learn_count,
last_learn_time
FROM learning_record
WHERE student_id = 452 AND course_id = 1;
```
---
## 4. 当前应该的正常状态
### 后端日志
```
视频课件 882 已完成 3秒 / 3秒
视频课件 873 已完成 17秒 / 17秒
视频课件 883 已完成 XX秒 / XX秒
课程 1 进度计算完成: 3个已完成 / 27个有效课件 = 11.11%
```
### App端日志
```
[课程学习] 📊 课程进度(完成比例): 3个已完成 / 27个总数 = 11%
[课程学习] 🔗 URL构建信息:
- 完整URL: http://192.168.1.164:30091/profile/upload/2025/12/05/xxx.mp4
```
### 后台管理系统
- 学习进度11.11%
- 学习时长XX分钟
- 学习次数X次
---
## 5. 常见问题排查
### 问题A后端进度还是57%
**原因**:后端没有重新编译
**解决**执行步骤1
### 问题B前端显示不一致
**原因**:前端缓存没清除
**解决**
1. 重启前端开发服务器
2. 完全关闭并重新打开App
3. 清除浏览器缓存Ctrl+Shift+Delete
### 问题C视频不能播放
**原因**URL重复/profile/
**解决**执行步骤2重新编译前端
### 问题D播放位置不对
**原因**:学习详情数据问题
**解决**执行步骤3的SQL检查数据
---
## 6. 完整重启流程
如果以上都不行,完整重启:
### 1. 停止所有服务
- 后端停止Spring Boot
- 前端UI停止npm
- 前端App停止npm
### 2. 清理编译产物
```bash
# 后端
cd Study-Vue-redis
mvn clean
# 前端UI
cd ry-study-ui
rm -rf node_modules/.cache
rm -rf dist
# 前端App
cd fronted_uniapp
rm -rf unpackage
```
### 3. 重新编译
```bash
# 后端
cd Study-Vue-redis
mvn package -DskipTests
# 前端UI
cd ry-study-ui
npm run build:prod
# 前端App
cd fronted_uniapp
npm run dev:app
```
### 4. 重启服务并测试