AI源码
AI源码AI 精选 · 优质源码 · 助力学习

教学课件管理系统

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

评分:4.8/5.0
销量:78
发布:2026/3/21
难度:L2 进阶级
💬 联系咨询观看视频介绍
永久使用权限
免费更新维护
技术支持服务

项目封面

截图 1

项目说明

教学课件管理系统

本文档说明本系统的业务功能、角色权限、数据与安全机制。环境要求、依赖安装、数据库初始化、服务启动与测试账号等,请另见 运行步骤--必看.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_logDOWNLOAD 且内容包含 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_whitelistIP 白名单
courseware课件主数据
courseware_category课件分类
courseware_collection收藏
courseware_feedback评分与评论
system_log操作与审计日志

五、与其它文档的关系

文档内容
运行步骤--必看.md环境版本、数据库初始化、安装依赖、配置文件位置、启动命令、测试账号等
功能清单.md若存在,为 checklist 形式的需求对照,可与本文一起使用

六、修订说明

功能随版本迭代可能变化;若界面与本文不一致,以当前代码与数据库脚本为准。部署与排错请务必同时参考 运行步骤--必看.md

技术分类

包含内容

完整源码
项目说明文档
演示材料

适用人群

学习参考与二次开发

关于 AI源码

AI源码 专注优质项目源码分享,提供完整源码、详细文档与技术支持,助力源码设计与课程作业。

QQ: 861077046
邮箱: 861077046@qq.com
已服务 78+ 位用户
立即咨询

相关推荐

查看全部 →
大学生就业信息管理系统
Node
进阶

大学生就业信息管理系统

这是一个面向高校大学生的就业信息管理系统,采用前后端分离架构,实现了学生求职、企业招聘、管理员后台管理三端功能。系统涵盖职位发布、简历管理、面试安排、合同签署、就业指南等完整的就业服务流程,适合作为计算机设计或学习项目参考。

NodeVue3MySQL
4.842
大学生在线焦虑测试系统
SpringBoot
进阶

大学生在线焦虑测试系统

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

SpringBootVue2MySQL
4.833
商品管理系统HTML(登录注册增删增删改查)
Node
进阶

商品管理系统HTML(登录注册增删增删改查)

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

Node大作业Vue2+1
4.838
高校快递代取系统
Node
NEW推荐
进阶

高校快递代取系统

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

Node小程序Vue2+1
4.896
高校选课系统
Node
进阶

高校选课系统

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

NodeVue3MySQL
4.872
高校查分系统
Node
NEW
进阶

高校查分系统

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

NodeVue3MySQL
4.843