教学课件管理系统
本系统为 B/S 架构 的教学课件管理平台:教师上传课件并经审核后进入「课件市场」供师生检索、下载;支持收藏、评分与评论;管理员负责用户、角色菜单、分类、审核、日志与安全策略;工作台提供管理员与教师维度的统计与导出。
项目封面

项目说明
教学课件管理系统
本文档说明本系统的业务功能、角色权限、数据与安全机制。环境要求、依赖安装、数据库初始化、服务启动与测试账号等,请另见 运行步骤--必看.md,本文不重复。
一、系统定位与架构概览
本系统为 B/S 架构 的教学课件管理平台:教师上传课件并经审核后进入「课件市场」供师生检索、下载;支持收藏、评分与评论;管理员负责用户、角色菜单、分类、审核、日志与安全策略;工作台提供管理员与教师维度的统计与导出。
| 层级 | 技术要点 |
|---|---|
| 前端 | Vue 3、Element Plus、Vite;登录后按后端返回的菜单动态挂载路由(组件路径与 sys_menu.component 对应) |
| 后端 | Node.js + Express;业务接口统一挂在 /api 前缀下 |
| 数据 | MySQL;课件文件可存于服务端私有目录或通过上传接口得到 URL 后入库 |
二、角色与菜单权限
系统内置三类角色(sys_role.role):管理员(99)、教师(1)、学生(0)。菜单与路由由 sys_menu + sys_role_menu 控制,登录后只展示当前角色被授权的菜单。
典型分工如下(以随库初始数据为准,管理员可在「角色管理」中调整授权):
| 功能域 | 管理员 | 教师 | 学生 |
|---|---|---|---|
| 工作台(统计) | 全平台概览、下载排行、活跃用户等 | 个人上传/被下载/被浏览、最近收到的评价 | 一般为欢迎信息 |
| 我的课件 | ✓ | ✓ | — |
| 课件市场 | ✓ | ✓ | ✓ |
| 课件审核 | ✓ | — | — |
| 分类管理 | ✓ | — | — |
| 收藏课件 | ✓ | ✓ | ✓ |
| 用户 / 角色 / 菜单 / 日志 / 字典 | ✓ | — | — |
| 个人中心 | ✓ | ✓ | ✓ |
三、核心业务功能
3.1 用户与账号(系统管理)
- 用户管理:分页列表;支持按用户名、姓名、角色等条件查询;新增用户(用户名唯一、密码长度等校验);编辑资料与角色;重置密码;禁用(逻辑删除,将状态置为禁用);在符合业务规则时还可物理删除已禁用用户(具体以后端接口为准)。
- 登录与会话:采用 JWT,有效期在服务端配置为 30 分钟,过期需重新登录。
- 个人中心:查看与修改个人信息(如姓名、手机号)、修改密码等(与
sys_user字段及接口一致)。
密码在实现上与前端约定存储形式(项目内为与库表一致的校验方式);新增/重置时仍有长度等校验。
3.2 角色、菜单与数据字典
- 角色管理:维护角色信息,并为角色分配可访问菜单(
sys_role_menu),从而控制侧边栏与动态路由。 - 菜单管理:维护菜单树(标题、路径、图标、前端组件名等),供动态路由加载对应
views下 Vue 组件。 - 数据字典:维护
sys_dictionary中的字典项(如 年级 grade、课程 course),用于课件表单、筛选等下拉数据,无需改代码即可扩展。
3.3 课件分类
- 分类存于
courseware_category,支持名称唯一性;用于上传与市场筛选。 - 提供增删改查接口;删除前需考虑已被课件引用的分类(以后端校验为准)。
3.4 课件全生命周期(教师 + 管理员)
上传与存储
- 教师通过「我的课件」上传:填写标题、所属课程、年级、分类、简介等,并上传文件。
- 后端对扩展名与白名单校验(如 doc / docx / ppt / pptx / pdf),单文件大小上限 50MB。
- 一种流程为:文件先落到临时目录,再移动到
uploads_private/{年级}/{课程名}/{分类ID}/下,数据库保存相对路径;也支持先走通用上传拿到 URL 再 创建课件记录(file_path存 URL),便于与现有静态资源策略衔接。
审核状态(courseware.audit_status)
- 0 — 待审核:新上传,未对市场公开(非管理员/非作者不可按已通过规则下载)。
- 1 — 已通过:进入市场列表,可被检索与下载(在权限允许前提下)。
- 2 — 已驳回:需记录驳回理由(
reject_reason),作者可修改后再次提交审核(流程见前端与接口)。
管理员审核
- 在「课件审核」中筛选待审/已通过/已驳回等,执行通过或驳回(驳回须填理由)。
- 推荐:可将优质课件标记为推荐(
is_recommend);另有一套 自动推荐 逻辑:当某课件 下载次数 ≥ 100 且 该课件反馈平均分 ≥ 4.5 时,自动将is_recommend置为推荐(若已是推荐则不再反复处理)。
删除
- 未通过或作者/管理员在允许条件下可删除课件;若课件已上架,往往采用下架/逻辑删除策略(具体以后端
delete实现为准)。
3.5 课件市场(查询、详情、下载与统计)
- 列表:支持多条件筛选(标题、年级、课程、分类、审核状态等,视角色不同默认数据集不同——如学生通常只见已通过)。
- 排序:支持按下载量、上传时间、评分等维度排序(与接口参数一致)。
- 详情:展示简介、上传者、文件信息、浏览量等;进入详情会累加 浏览次数(
view_count)。 - 下载:
- 下载接口可通过 Query 或 Header 携带 Token,以便在「直接打开下载链接」场景下仍能识别用户。
- 非作者且非管理员仅允许下载 已通过审核 的课件;作者与管理员对未通过课件有特殊规则。
- 下载成功会增加 下载次数(
download_count),并写入 系统日志(含课件 ID 标识,便于与评价规则衔接);另有 仅记录下载 接口,用于前端通过文件 URL 直链下载时补记统计。
- 日志:下载、审核、上传等关键操作会记入
system_log。
3.6 收藏
- 登录用户对课件可 收藏 / 取消收藏(幂等切换);同一用户对同一课件仅一条收藏关系(
courseware_collection唯一约束)。 - 「我的收藏」分页展示已收藏课件及收藏时间,可取消收藏。
3.7 评价与反馈
- 用户对课件可打 1~5 分 并填写文字;同一用户对同一课件仅一条反馈记录,再次提交会走更新逻辑。
- 列表展示时 不展示评论者真实姓名,而展示 角色类称呼(如管理员/教师/同学),以保护隐私。
- 需求上曾约定「仅下载过者可评」:后端可依据
system_log中DOWNLOAD且内容包含ID:课件ID的记录校验;若校验被注释则开发期可能不强制,以当前代码为准。
3.8 工作台与报表(Dashboard)
- 管理员:总课件数、待审核数、用户数、分类数;热门下载 TOP 5;最近上传;活跃用户 TOP 5(基于登录成功日志统计)等。
- 教师:个人课件总量、被下载合计、被浏览合计;审核状态分布;最近收到的评价摘要等。
- 导出:教师(及管理员,视接口权限)可将统计相关数据 导出为 Excel(具体字段以后端
export实现为准)。
3.9 系统日志与安全
- 操作日志:记录登录、用户与课件等关键操作,包含模块、内容摘要、操作类型、IP、时间、结果等,支持在「系统日志」中按条件查询。
- IP 白名单(
sys_ip_whitelist):中间件对 API 生效——若表中一条都没有,则不启用限制(便于初次部署);一旦配置了白名单,则仅允许列表中的 IP 访问(支持如127.0.0.1、::1等形式的配置,具体以运行环境为准)。 - 数据备份:提供数据库备份类接口(如导出 SQL 到服务端备份目录),供管理员做数据归档(路径与权限由部署环境管理)。
四、主要数据表(概念)
| 表 | 用途 |
|---|---|
sys_user | 用户账号、角色、状态、登录相关字段 |
sys_role / sys_role_menu | 角色及菜单授权 |
sys_menu | 菜单与前端组件名 |
sys_dictionary | 数据字典 |
sys_ip_whitelist | IP 白名单 |
courseware | 课件主数据 |
courseware_category | 课件分类 |
courseware_collection | 收藏 |
courseware_feedback | 评分与评论 |
system_log | 操作与审计日志 |
五、与其它文档的关系
| 文档 | 内容 |
|---|---|
运行步骤--必看.md | 环境版本、数据库初始化、安装依赖、配置文件位置、启动命令、测试账号等 |
功能清单.md | 若存在,为 checklist 形式的需求对照,可与本文一起使用 |
六、修订说明
功能随版本迭代可能变化;若界面与本文不一致,以当前代码与数据库脚本为准。部署与排错请务必同时参考 运行步骤--必看.md。
技术分类
包含内容
适用人群
学习参考与二次开发
关于 AI源码
AI源码 专注优质项目源码分享,提供完整源码、详细文档与技术支持,助力源码设计与课程作业。
相关推荐
查看全部 →
大学生就业信息管理系统
这是一个面向高校大学生的就业信息管理系统,采用前后端分离架构,实现了学生求职、企业招聘、管理员后台管理三端功能。系统涵盖职位发布、简历管理、面试安排、合同签署、就业指南等完整的就业服务流程,适合作为计算机设计或学习项目参考。

大学生在线焦虑测试系统
这是一个专为大学生设计的在线心理健康评估与咨询平台,集成了焦虑测评、在线咨询、个性化建议等核心功能。系统采用前后端分离架构,支持学生、医生、管理员三种角色,提供专业的心理健康服务。

商品管理系统HTML(登录注册增删增删改查)
这是一个基于 Node.js + MySQL + HTML(Vue2) 的商品管理系统,包含用户登录注册和商品的增删改查功能。

高校快递代取系统
本系统是一套高校快递代取微信小程序全栈平台,包含用户端小程序、骑手接单端与 PC 管理后台。用户可发布代取预约、在线支付、跟踪订单进度与申诉;骑手可在大厅接单、取件配送并填写备注;管理员负责驿站与价格配置、公告发布、骑手审核、订单改派及数据统计。后端采用 Express + MySQL,适合作为校园 O2O 类小程序计算机设计参考。

高校选课系统
这是一个完整的高校选课管理系统,采用前后端分离架构,实现了院系管理、专业管理、班级管理、学生管理、教师管理、课程管理、选课管理等核心功能。系统支持多角色(超级管理员、普通管理员、教师、学生)权限控制,适合作为Vue3全栈开发学习项目或计算机设计参考。

高校查分系统
高校学生成绩查询与管理系统,采用前后端分离架构,支持管理员、教师、学生三种角色。