guoyu/log/课程完成标准调整说明.md
2025-12-11 23:28:07 +08:00

56 lines
1.4 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.

# 课程完成标准调整说明
## 问题
课程只看了几分钟还没看完,就在课程记录中更新了进度。
## 原因
之前的完成标准过于宽松:
- 短视频≤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%时才更新