# 课程完成标准调整说明 ## 问题 课程只看了几分钟还没看完,就在课程记录中更新了进度。 ## 原因 之前的完成标准过于宽松: - 短视频(≤10秒):看80%就算完成 - 普通视频:看90%就算完成 导致用户只看了大部分就被标记为"已完成"。 ## 解决方案 ### 方案1:95%完成标准(已实施) ```java // 短视频和普通视频都要求95% completionThreshold = 0.95; ``` **效果:** - 10分钟视频需要看到9.5分钟才算完成 - 用户必须几乎看完才会更新进度 ### 方案2:100%完成标准(更严格,可选) 如果需要更严格,可以修改为: ```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%时才更新