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

1.4 KiB
Raw Blame History

课程完成标准调整说明

问题

课程只看了几分钟还没看完,就在课程记录中更新了进度。

原因

之前的完成标准过于宽松:

  • 短视频≤10秒看80%就算完成
  • 普通视频看90%就算完成

导致用户只看了大部分就被标记为"已完成"。

解决方案

方案195%完成标准(已实施)

// 短视频和普通视频都要求95%
completionThreshold = 0.95;

效果:

  • 10分钟视频需要看到9.5分钟才算完成
  • 用户必须几乎看完才会更新进度

方案2100%完成标准(更严格,可选)

如果需要更严格,可以修改为:

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%时才更新