guoyu/log/课程完成标准调整说明.md

56 lines
1.4 KiB
Markdown
Raw Normal View History

2025-12-11 23:28:07 +08:00
# 课程完成标准调整说明
## 问题
课程只看了几分钟还没看完,就在课程记录中更新了进度。
## 原因
之前的完成标准过于宽松:
- 短视频≤10秒看80%就算完成
- 普通视频看90%就算完成
导致用户只看了大部分就被标记为"已完成"。
## 解决方案
### 方案195%完成标准(已实施)
```java
// 短视频和普通视频都要求95%
completionThreshold = 0.95;
```
**效果:**
- 10分钟视频需要看到9.5分钟才算完成
- 用户必须几乎看完才会更新进度
### 方案2100%完成标准(更严格,可选)
如果需要更严格,可以修改为:
```java
if (duration <= 10) {
completionThreshold = 1.0; // 100%
} else {
completionThreshold = 1.0; // 100%
}
```
**但不建议100%,因为:**
1. 视频播放器可能有1-2秒的误差
2. 用户可能提前几秒关闭
3. 95%已经能保证用户真正看完了
## 推荐配置
| 课件类型 | 推荐完成标准 | 说明 |
|---------|-------------|------|
| 短视频≤10秒 | 95% | 确保看完 |
| 普通视频 | 95% | 几乎看到结尾 |
| 长视频(>10分钟 | 95% | 避免误差导致无法完成 |
| 图片/PDF | 查看即完成 | 保持不变 |
## 修改文件
`StudyLearningRecordServiceImpl.java` 第432-437行
## 测试建议
1. 重新编译后端
2. 测试不同长度的视频
3. 查看进度是否在95%时才更新