peixue-dev/Archive/peidu-temp-files/docs/🚀立即实施-我的课程与学习记录关联-2026-01-23.md

6.8 KiB

🚀 立即实施 - 我的课程与学习记录关联

快速开始

📍 当前状态

  • 需求分析完成
  • 方案设计完成
  • 代码实现完成
  • 测试指南完成
  • 等待实施部署

🎯 实施目标

将家长学院的"我的课程"功能与学习记录系统关联,实现学习进度追踪、断点续播、积分奖励等功能。


📋 实施清单

第一步: 创建数据库表 (5分钟)

# 在MySQL中执行
mysql -u root -p peidu < peidu/sql/create_course_learning_record_table.sql

验证:

-- 检查表是否创建成功
SHOW TABLES LIKE 'course_learning_record';

-- 查看表结构
DESC course_learning_record;

-- 查看测试数据
SELECT * FROM course_learning_record;

第二步: 添加后端代码 (15分钟)

2.1 复制实体类和Mapper

# 文件已创建在:
peidu/backend/src/main/java/com/peidu/entity/CourseLearningRecord.java
peidu/backend/src/main/java/com/peidu/mapper/CourseLearningRecordMapper.java
peidu/backend/src/main/java/com/peidu/service/ICourseLearningRecordService.java
peidu/backend/src/main/java/com/peidu/service/impl/CourseLearningRecordServiceImpl.java

2.2 修改 ParentAcademyCourseController.java

位置: peidu/backend/src/main/java/com/peidu/controller/ParentAcademyCourseController.java

步骤:

  1. 在类的依赖注入部分添加:
private final ICourseLearningRecordService learningRecordService;
  1. 在文件末尾添加5个新接口(详见 docs/fixes/2026-01-23-我的课程与学习记录关联/✅后端代码实现.md)

  2. 修改 getMyCourses 方法,增加学习记录返回


第三步: 添加前端代码 (20分钟)

3.1 添加API接口

文件: peidu/uniapp/src/api/parentAcademy.js

在文件末尾添加5个新接口:

// 开始学习课程
startLearning(data) {
  return request({
    url: '/api/parent-academy/start-learning',
    method: 'POST',
    data
  })
},

// 更新学习进度
updateProgress(data) {
  return request({
    url: '/api/parent-academy/update-progress',
    method: 'POST',
    data
  })
},

// 完成课程学习
completeLearning(data) {
  return request({
    url: '/api/parent-academy/complete-learning',
    method: 'POST',
    data
  })
},

// 获取学习历史
getLearningHistory(courseId) {
  return request({
    url: '/api/parent-academy/learning-history',
    method: 'GET',
    params: { courseId }
  })
},

// 提交课程评价
submitReview(data) {
  return request({
    url: '/api/parent-academy/submit-review',
    method: 'POST',
    data
  })
}

3.2 改造我的课程页面

文件: peidu/uniapp/src/user-package/pages/course/my-courses.vue

参考 docs/fixes/2026-01-23-我的课程与学习记录关联/✅前端代码实现.md 进行修改

3.3 创建课程学习页面

文件: peidu/uniapp/src/user-package/pages/course/player.vue (新建)

完整代码见 docs/fixes/2026-01-23-我的课程与学习记录关联/✅前端代码实现.md


第四步: 编译和部署 (10分钟)

# 1. 后端编译
cd peidu/backend
mvn clean compile

# 2. 重启后端服务
# (根据你的部署方式重启)

# 3. 前端编译
cd peidu/uniapp
npm run build:mp-weixin

# 4. 上传到微信开发者工具

第五步: 测试验证 (20分钟)

按照 docs/fixes/2026-01-23-我的课程与学习记录关联/🧪测试指南.md 进行测试:

快速测试流程:

  1. 登录家长端
  2. 进入"我的课程"
  3. 点击任意课程
  4. 播放视频30秒
  5. 检查进度是否保存
  6. 退出后重新进入
  7. 验证断点续播
  8. 播放至90%以上
  9. 填写学习笔记
  10. 点击"完成学习"
  11. 验证积分奖励

📊 功能特性

🎯 核心功能

  • 学习进度追踪 - 实时记录学习位置和进度
  • 断点续播 - 从上次学习位置继续
  • 自动保存 - 每30秒自动保存进度
  • 学习笔记 - 支持记录学习心得
  • 积分奖励 - 完成学习自动发放积分
  • 进度可视化 - 进度条和百分比显示

💰 积分奖励规则

  • 完成课程: +50积分
  • 学习笔记(>20字): +10积分
  • 必修课程额外: +150积分
  • 最高可获得: +210积分

📁 相关文档

文档 说明
📋 问题分析与解决方案 需求分析和方案设计
后端代码实现 后端完整实现代码
前端代码实现 前端完整实现代码
🧪 测试指南 完整测试用例和验证
README 完整文档导航

⚠️ 注意事项

1. 数据库

  • 确保 course_learning_record 表创建成功
  • 确保测试数据插入成功
  • 检查表索引是否正确

2. 后端

  • 确保所有新文件都在正确的包路径下
  • 确保 ParentAcademyCourseController 正确注入 learningRecordService
  • 编译时检查是否有错误

3. 前端

  • 确保 API 接口路径正确
  • 确保页面路由配置正确
  • 测试视频播放功能

4. 测试

  • 使用真实的课程数据测试
  • 测试网络异常情况
  • 测试重复完成不重复奖励

🎉 预期效果

用户体验

  • 📈 学习进度可视化,一目了然
  • 🎯 断点续播,随时继续学习
  • 💰 积分激励,提高学习动力
  • 📝 学习笔记,巩固学习成果

数据价值

  • 📊 课程完成率统计
  • 🔍 用户学习行为分析
  • 课程质量评估依据
  • 🎯 个性化推荐基础

商业价值

  • 📈 提高课程完成率 30%+
  • 💪 增强用户粘性
  • 🔄 促进课程复购
  • 😊 提升用户满意度

🆘 遇到问题?

  1. 查看测试指南 - docs/fixes/2026-01-23-我的课程与学习记录关联/🧪测试指南.md
  2. 查看后端日志 - peidu/backend/logs/
  3. 查看前端控制台 - 微信开发者工具控制台
  4. 检查数据库 - 使用提供的SQL验证语句

完成标志

  • 数据库表创建成功
  • 后端代码添加完成
  • 前端代码添加完成
  • 后端编译成功
  • 前端编译成功
  • 服务重启成功
  • 所有测试用例通过
  • 积分奖励正常发放
  • 断点续播功能正常
  • 学习进度正确显示

实施时间估算: 约70分钟

  • 数据库: 5分钟
  • 后端: 15分钟
  • 前端: 20分钟
  • 编译部署: 10分钟
  • 测试验证: 20分钟

开始实施吧! 🚀