# 2-在线学习系统 - 功能说明
# 项目概述
面向教师和学生的在线教学平台,将课程购买、课程资料、作业提交、课程考试与论坛交流整合在同一系统中,管理员负责账号、内容及课程审核管理。
# 项目概览
# 创新点
- 课程与教学关联:课程连接资料、作业、试题和考试,学生按所购课程进入教学活动。
- 作业反馈:保留提交内容、附件、成绩和教师评语,便于师生查看处理结果。
- 课程交易:已购状态与订单支付状态关联,避免将普通课程浏览等同于已获得学习权限。
# 项目亮点
- 角色分工:提供管理员、教师、学生等业务入口。
- 业务数据组织:主初始化脚本包含 16 张表,围绕该系统的核心对象与业务记录建模。
- 前后端分离:前端负责页面交互,后端通过控制器、服务与数据映射层提供接口。
- 操作体验:提供列表查询、表单编辑、状态展示及个人资料维护入口。
# 管理员
# 账号管理
维护教师、学生及管理员信息。
# 课程管理
审核课程,维护课程资料、评论和课程订单。
# 教学管理
管理作业、提交记录、题目、考试和考试成绩。
# 内容管理
管理论坛帖子、论坛评论、公告和轮播图。
# 教师
# 课程教学
维护课程及课程资料,提交课程供审核。
# 作业管理
发布课程作业,查看学生提交并填写成绩和评语。
# 考试管理
维护题目和课程考试,查看答案并批改成绩。
# 学生
# 课程学习
浏览课程、购买课程,在“我的课程”中查看学习内容与资料。
# 作业提交
查看课程作业,提交文字内容及附件,查询成绩和评语。
# 参加考试
查看已购课程相关考试,进入答题页面并提交答案。
# 学习交流
浏览和发布论坛帖子,参与评论,管理自己的帖子和评论。
# 订单与余额
查看课程订单,支付或取消待支付订单,使用余额查询和充值页面。
# 功能权限对照表
下表说明当前菜单与业务入口分工。“—”表示未列为该角色的常规入口;不代表已对每个接口完成权限安全审计。
| 功能模块 | 管理员 | 教师 | 学生 |
|---|---|---|---|
| 账号与公告 | 管理 | — | 查看公告 |
| 课程与资料 | 审核维护 | 教学维护 | 浏览及已购学习 |
| 作业与考试 | 管理 | 发布批改 | 提交与查询 |
| 课程订单 | 管理 | — | 购买支付 |
| 论坛 | 管理 | — | 发帖评论 |
# 业务状态说明
- 课程审核:待审核、已通过、已拒绝。
- 课程订单:待支付、已支付、已取消;购买服务可直接生成已支付订单。
- 作业提交:待确认、已确认。
- 考试成绩:待批改、已批改。
# 默认账号
以下为主初始化 SQL 中能够核实的示例账号;需先导入对应脚本。这里不把脚本初始值视为当前运行数据库的实际账号或余额。
| 登录角色 | 角色标识 | 用户名 | 初始密码 |
|---|---|---|---|
| 管理员 | ADMIN | admin | 123456 |
| 教师 | TEACHER | teacher1 | 123456 |
| 学生 | STUDENT | student1 | 123456 |
# 核心业务流程
# 课程购买
- 浏览课程。
- 选择购买。
- 系统检查课程和学生信息。
- 通过课程购买服务完成支付并生成已支付订单。
- 进入我的课程。
# 作业提交
- 教师发布作业。
- 学生提交内容与附件。
- 教师确认并填写成绩、评语。
- 学生查看结果。
# 课程考试
- 教师配置试题和考试。
- 学生进入考试并答题。
- 提交待批改记录。
- 教师批改并给出分数。
# 技术说明
# 系统架构
| 项目 | 当前源码配置 |
|---|---|
| Vue | ^3.4.29 |
| Element Plus | ^2.8.4 |
| Pinia | ^2.2.2 |
| Axios | ^1.7.5 |
| Vite | ^5.3.1 |
| Spring Boot | 3.2.10 |
| Java | 17 |
| MyBatis 集成组件 | 3.0.4 |
| 数据库 | MySQL;具体运行版本以实际部署为准 |
| 身份认证 | JWT;通过登录接口生成令牌 |
前端版本按 package.json 中的声明范围记录,不将依赖范围等同于已安装的精确版本。
# 访问地址
- 后端接口:http://localhost:1000 (opens new window),对应服务端端口配置。
- 前端开发页面:http://localhost:5173 (opens new window),项目未显式覆盖 Vite 默认端口,实际以启动日志为准。
- 登录入口:前端
/login;管理端基础路由/admin。
# 数据库
- 配置数据库名:
a_2026_2_online_learning_system。 - 主初始化脚本:
sql/sql.sql。 - 主脚本建表数量:16 张,仅统计当前主脚本的 CREATE TABLE,不包含临时 SQL、迁移脚本或运行时改动。
- 字符集:主脚本采用 utf8mb4。
- 数据表清单:
admin、banner、course、course_comment、course_material、course_order、exam、exam_result、forum、forum_comment、homework、homework_submit、notice、question、student、teacher。
# 文件上传
- 上传接口:
POST /file/upload。 - 文件访问:
GET /file/{fileName}。 - 配置限制:单文件 100MB,单次请求 1000MB。
- 使用范围:根据业务页面上传图片或附件;具体允许类型以对应上传组件配置为准。
# 系统特色
# 课程与教学关联
课程连接资料、作业、试题和考试,学生按所购课程进入教学活动。
# 作业反馈
保留提交内容、附件、成绩和教师评语,便于师生查看处理结果。
# 课程交易
已购状态与订单支付状态关联,避免将普通课程浏览等同于已获得学习权限。
# 当前实现说明
- 本系统的课程考试以提交答案和教师批改为主,不能套用独立在线考试系统的自动判分能力。
- 课程订单没有核实到完整退款业务,文档不将退款作为已实现功能。
本次按本地源码进行静态核对,未启动前后端或连接数据库执行端到端验证;上述说明反映当前代码与页面定义。