6.8 KiB
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
步骤:
- 在类的依赖注入部分添加:
private final ICourseLearningRecordService learningRecordService;
-
在文件末尾添加5个新接口(详见
docs/fixes/2026-01-23-我的课程与学习记录关联/✅后端代码实现.md) -
修改
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 进行测试:
快速测试流程:
- ✅ 登录家长端
- ✅ 进入"我的课程"
- ✅ 点击任意课程
- ✅ 播放视频30秒
- ✅ 检查进度是否保存
- ✅ 退出后重新进入
- ✅ 验证断点续播
- ✅ 播放至90%以上
- ✅ 填写学习笔记
- ✅ 点击"完成学习"
- ✅ 验证积分奖励
📊 功能特性
🎯 核心功能
- ✅ 学习进度追踪 - 实时记录学习位置和进度
- ✅ 断点续播 - 从上次学习位置继续
- ✅ 自动保存 - 每30秒自动保存进度
- ✅ 学习笔记 - 支持记录学习心得
- ✅ 积分奖励 - 完成学习自动发放积分
- ✅ 进度可视化 - 进度条和百分比显示
💰 积分奖励规则
- 完成课程: +50积分
- 学习笔记(>20字): +10积分
- 必修课程额外: +150积分
- 最高可获得: +210积分
📁 相关文档
| 文档 | 说明 |
|---|---|
| 📋 问题分析与解决方案 | 需求分析和方案设计 |
| ✅ 后端代码实现 | 后端完整实现代码 |
| ✅ 前端代码实现 | 前端完整实现代码 |
| 🧪 测试指南 | 完整测试用例和验证 |
| README | 完整文档导航 |
⚠️ 注意事项
1. 数据库
- ✅ 确保
course_learning_record表创建成功 - ✅ 确保测试数据插入成功
- ✅ 检查表索引是否正确
2. 后端
- ✅ 确保所有新文件都在正确的包路径下
- ✅ 确保
ParentAcademyCourseController正确注入learningRecordService - ✅ 编译时检查是否有错误
3. 前端
- ✅ 确保 API 接口路径正确
- ✅ 确保页面路由配置正确
- ✅ 测试视频播放功能
4. 测试
- ✅ 使用真实的课程数据测试
- ✅ 测试网络异常情况
- ✅ 测试重复完成不重复奖励
🎉 预期效果
用户体验
- 📈 学习进度可视化,一目了然
- 🎯 断点续播,随时继续学习
- 💰 积分激励,提高学习动力
- 📝 学习笔记,巩固学习成果
数据价值
- 📊 课程完成率统计
- 🔍 用户学习行为分析
- ⭐ 课程质量评估依据
- 🎯 个性化推荐基础
商业价值
- 📈 提高课程完成率 30%+
- 💪 增强用户粘性
- 🔄 促进课程复购
- 😊 提升用户满意度
🆘 遇到问题?
- 查看测试指南 -
docs/fixes/2026-01-23-我的课程与学习记录关联/🧪测试指南.md - 查看后端日志 -
peidu/backend/logs/ - 查看前端控制台 - 微信开发者工具控制台
- 检查数据库 - 使用提供的SQL验证语句
✅ 完成标志
- 数据库表创建成功
- 后端代码添加完成
- 前端代码添加完成
- 后端编译成功
- 前端编译成功
- 服务重启成功
- 所有测试用例通过
- 积分奖励正常发放
- 断点续播功能正常
- 学习进度正确显示
实施时间估算: 约70分钟
- 数据库: 5分钟
- 后端: 15分钟
- 前端: 20分钟
- 编译部署: 10分钟
- 测试验证: 20分钟
开始实施吧! 🚀