1. 项目背景与核心痛点
去年帮某高校信息中心做技术咨询时,他们的教务主任给我看了张令人震撼的截图:一位老师同时开着7个窗口处理线上教学事务——微信群发通知、网盘传课件、腾讯会议直播、Excel统计作业。这恰是当前在线教育平台的普遍现状:功能碎片化导致师生被迫在多个平台间疲于奔命。
基于SpringBoot的网络课程管理系统正是为解决这一痛点而生。我们采用"功能聚合+流程贯通"的设计理念,将传统分散的12个教学环节压缩到统一平台。实测数据显示,使用本系统后教师备课效率提升40%,学生完成课程任务的路径点击次数减少62%。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计解析
2.1 技术选型决策树
在架构设计阶段,我们面临三个关键选择:
-
前后端分离方案:
- 选择Vue+SpringBoot组合而非传统JSP,主要考虑两点:
- 教学场景需要频繁局部刷新(如实时问答)
- 未来多端扩展性需求(已预留小程序接入接口)
- 实测数据:采用Axios异步通信后,页面响应时间从1.2s降至400ms
- 选择Vue+SpringBoot组合而非传统JSP,主要考虑两点:
-
持久层设计:
- 放弃JPA选择MyBatis-plus,因为:
- 需要精细控制复杂查询(如课程多条件筛选)
- 系统存在大量动态SQL场景(权限过滤条件多达15种)
- 典型示例:学习社区的分页查询包含N+1优化方案
- 放弃JPA选择MyBatis-plus,因为:
-
认证方案对比:
方案 会话保持 跨域支持 移动端适配 最终选择 Session 优 差 中 × JWT 中 优 优 √ OAuth2 良 优 优 ×
2.2 核心业务流程图解
系统运转核心是"双螺旋"结构:
plaintext复制[教师侧]
创建课程 → 上传资源 → 设置排期 → 开课审核 → 直播授课 → 答
