小学非遗科普平台:教师端能看到哪些班,为什么是这个范围
关键词:Spring Boot 3 · Vue 3 · 非遗资源审核 · 学习任务与作品评分 · 活动报名签到 · 班级学情统计 · ECharts · DeepSeek SSE 流式问答
一、写在前面
这套系统的起点是个很具体的抱怨。有位在小学教书的朋友说,想给孩子们上一节剪纸或者年画课,素材得从短视频、公众号、网盘里东拼西凑,找来的图说不清来源,学生看完也没留下任何记录;到了期末要写"本学期非遗课开展情况",更是一点数据都拿不出来,只能凭印象写几句。
所以选题就落在这里:小学非遗科普平台。它跟常见的"后台管理系统"最大的不同是------它有一条真实的教学链条:教师上传非遗资料 → 管理员审核 → 学生浏览、收藏、下载 → 教师发布课堂任务 → 学生提交作品 → 教师评分 → 组织线下非遗活动并签到 → 汇总学情。每一环都有对应角色,每一环都留下可查的记录。这就天然带出了权限范围、状态流转、统计口径这些能写进论文的东西。
下面把架构、三类角色和十块核心实现拆开讲,重点说那些答辩时容易被追问、也最容易讲出彩的设计。
二、系统概述与技术选型
系统采用前后端分离的 B/S 架构,由学生端门户、教师工作台和管理后台组成。
| 层级 | 主要技术与职责 |
|---|---|
| 前端应用 | Vue 3、Element Plus、Pinia、Vue Router、Vite、Axios、ECharts;提供学生学习门户、教师工作台和管理员后台,并通过路由守卫组织登录后的页面访问 |
| 服务端 | Spring Boot 3、Spring MVC、MyBatis-Plus、MySQL、Java 17;提供 REST 接口、分页查询、统计聚合、文件处理和数据持久化能力 |
| 认证与通用能力 | java-jwt、请求拦截器、统一响应与异常处理;登录成功后签发 JWT,服务端解析用户 ID 和角色信息,前端据此进入学生端、教师工作台或管理后台 |
| 数据与交互能力 | Apache POI、Spring MultipartFile、DeepSeek API、SSE;用于数据导出、图片视频和文件上传,以及 AI 非遗问答的流式回复 |
三、三类角色,三块工作区
系统定义学生、教师、管理员三类账号:
- 学生:浏览已发布的非遗资源,收藏和下载学习资料,查看任务并提交文字或文件作品,报名或取消活动报名,查看签到码,使用 AI 非遗问答和历史会话
- 教师:维护本人上传的非遗资源,发布面向班级的学习任务,查看学生任务提交并给出星级评分和评语,查看可管理班级的学习记录与学情统计
- 管理员:维护账号、教师、学生和班级,维护资源类型、轮播图、非遗资源和活动,审核资源,查看资源收藏下载、活动报名、AI 对话及平台数据看板
登录接口完成账号、密码和角色校验后,把用户 ID 与角色类型写入 JWT;前端保存令牌和用户信息,后续请求通过请求头携带令牌,服务端拦截器解析当前用户上下文。前端路由根据角色进入学生学习门户或教师、管理员工作台。
四、核心功能与实现
4.1 教师的数据范围:班主任班级 + 授权班级
这是整套系统里最值得单独写一节的设计。教师登录后能看的班级不是全部班级,也不只是"自己教的班",而是由两部分合并出来的:
- 班主任班级:班级档案里"班主任"字段指向该教师,这类班级自动纳入可管理集合
- 额外授权班级:由管理员在"教师班级"关系里逐条授权,用于跨班教学、走班制、代课等实际情况
教师查询学习任务、任务提交和学习记录时,服务端先算出这个可管理班级集合,再把它作为查询条件拼进去。这样就避免了两种糟糕情况:一是教师能看到全校所有班级的作品,二是教师只能看班主任的班,跨班上课就什么都看不到。
为什么不做成"给教师页面上放一个班级下拉框让他自己选"?因为那不是权限控制,前端过滤永远只是显示层的遮掩------真正需要的是后端查出来就只有这些数据,这跟真实校园教务系统的思路是一致的。
4.2 非遗资源的三态审核与驳回重提
资源档案保存名称、类型、文件地址、封面图、简介、上传人、审核状态、审核人、审核时间、驳回原因、浏览量、下载量和是否推荐。审核状态只有三个值:待审核、审核通过、审核失败。
规则上做了两条硬约束,答辩时很实用:
- 只有待审核的资源能被处理。已经通过的资源不能再次审核,失败的要先改后重提,不允许管理员在已通过的资源上反复点"驳回",否则审核人与审核时间会被反复覆盖,追溯就失去意义。
- 驳回必须写原因,重提必须清空上次审核信息。教师修改名称、类型、资料和简介后重新提交,系统把审核状态置回待审核,同时清掉上次的审核人、审核时间和驳回原因。这样"当前这次审核是谁处理的"永远只有一份答案。
资源类型则是分类入口,维护名称、描述和排序,像剪纸、年画、节俗、戏曲、手作这些内容都能归到自己的类目下,学生端按类型浏览时顺序也和后台配置一致。
4.3 资源浏览、收藏下载与学习记录
学生端首页由轮播图、精选非遗、学习任务和热门活动组成学习入口。访问资源详情时会发生三件事:
- 浏览量 +1:这是资源热度的直接体现,管理员那边可以看到哪些资料被用得最多
- 建立学习记录 :对已登录学生,首次访问某个资源时创建一条学习记录,保存学生、资源、首次学习时长、最后访问时间和完成标识;同一学生同一资源不会重复创建初始记录,否则一个资源反复打开十次就有十条记录,学情统计直接失真
- 可收藏或下载:收藏按"用户 + 资源"保存关联与收藏时间并支持切换;下载单独记录资源、下载人和下载时间,供管理员在后台查看使用情况
也就是说,资源详情页看着简单,背后是三条不同的数据链路在同时写入。
4.4 学习任务发布、作品提交与教师评分
教师围绕具体非遗资源向指定班级发布任务,任务档案保存任务名称、任务内容、关联资源、发布教师、发布时间、截止时间和班级信息------任务一定是"某个班的 + 挂靠某个资源",不是一条孤立通知。
学生在前台看到本班任务和截止时间,进入详情提交学习心得、作品说明和相关文件。提交记录关联任务与学生,保存提交内容、文件地址、提交时间、评分、教师评语、评分时间和评分教师。教师对可管理班级学生的提交记录查看并评分,1 到 5 星加评语,评价结果回写到学生任务详情。
这里的范围控制是双向的:教师侧按可管理班级过滤,学生侧只看到本人和所属班级的任务与提交。所以同一个页面,两个人打开看到的内容完全不同,而过滤全部发生在查询层。
4.5 非遗活动、报名签到与报名统计
活动档案保存活动名称、内容、起止时间、地点、活动人数上限、组织人、封面、活动状态、活动类型和已报名人数,管理员统一维护、教师可组织活动、学生端浏览。
报名的流程是有顺序的:学生提交报名 → 系统生成报名记录和签到码 → 同步更新活动的已报名人数。签到码就是线下签到的凭据,"我的报名"里能看状态和签到码,未取消的报名可以取消。
取消这件事必须处理干净:取消后记录取消时间,并重新统计活动的已报名人数------不是简单减一,而是重新数一遍有效报名。为什么?因为"减一"在重复提交、并发取消的情况下会跑偏,一旦人数不准,活动的名额上限就形同虚设。签到则是写入签到标识和签到时间,形成线下活动参与记录。后台可按活动查看报名、签到和取消情况,统计页汇总报名状态分布。
4.6 AI 非遗科普问答:SSE 流式与会话留存
学生端提供 AI 非遗科普问答和历史会话入口。系统将会话与学生关联,按会话保存用户消息和 AI 消息。
一次完整提问的链路是:
- 学生创建或选择会话,输入非遗学习问题
- 服务端读取该会话最近的历史消息 ,连同面向非遗科普场景的系统提示词一起请求 DeepSeek 模型
- 模型返回内容通过 SSE 流式转发到前端,回答逐段呈现在画面上
- 回复结束后,系统把完整的 AI 答案写入消息表
三个细节值得强调:
- 系统提示词限定在非遗科普场景,模型不会被引导去回答与本平台无关的问题,回复口径可控
- 上下文只取最近若干条历史消息,不是把整个会话塞进去,避免超长上下文导致请求变慢甚至失败
- 落库的是完整回复,不是流式片段。流式只是传输方式,数据库里存的应该是一条完整的答案,否则历史会话里会出现半截回复
学生在历史会话里可以回看已有问答,管理员可在后台查看会话和消息记录,用于了解学生的实际提问方向------这本身就是一份很真实的学情数据。
4.7 ECharts 数据看板与班级学情统计
管理后台首页汇总非遗资源、学习任务、非遗活动和注册用户数量,并用 ECharts 展示近 7 天学习记录趋势 与任务提交趋势两条折线。之所以选 7 天,是因为按周看趋势和学校的教学节奏吻合,按天看波动太大,按月看又太迟钝。
教师和管理员可进入学情统计页面,按可管理班级、学生等条件取数,分两层:
| 统计层次 | 输出指标 |
|---|---|
| 学情总览 | 学生数、学习记录数、任务提交数、任务数、已完成学习记录、已评分提交数、总学习时长 |
| 班级维度 | 资源浏览量、任务完成数、任务完成率、平均学习时长 |
| 学生维度 | 浏览量、学习时长、提交数、完成率、平均评分 |
这些数字都能顺着来源讲:学习时长来自学习记录,完成率来自任务数与完成提交数,平均评分来自教师打星的提交记录。统计不额外建表,而是按班级、学生、时间维度对业务表实时聚合------好处是数据永远和业务明细对得上,不会出现"报表说完成了 20 件,明细里只找得到 18 件"的尴尬。学情结果还可以用 Apache POI 导出成 Excel,方便教学留存。
4.8 文件上传、脱敏与通用维护能力
平台提供图片、视频和通用文件上传能力,服务于轮播图、资源封面、非遗学习资料、活动封面与学生任务作品。各后台模块统一提供条件查询、分页列表、新增、修改、删除和批量删除操作。
另外有一处细节:前端对手机号和邮箱做掩码展示。用户、教师、学生列表里这些字段不会完整平铺在页面上,在保证能认出是谁的前提下减少敏感信息暴露。功能不大,但写进论文的"安全性设计"一节很自然。
4.9 从资源建设到教学反馈的完整链路
把上面几块串起来看:管理员维护账号、班级、分类和平台内容;教师上传非遗资源并组织任务、活动;管理员审核资源后学生端才能浏览;学生完成资源学习、收藏下载、任务提交、活动报名和 AI 问答;教师评分并查看班级学情;管理后台汇总趋势与活动数据。
| 业务阶段 | 平台协同结果 |
|---|---|
| 内容建设 | 管理员维护分类和基础档案,教师上传非遗资源,平台通过审核状态控制学生端可浏览内容 |
| 课堂学习 | 学生浏览资源后产生学习记录,教师面向班级发布关联任务,学生提交作品并获得评分与评语 |
| 活动体验 | 教师或管理员维护非遗活动,学生报名、查看签到码和参与签到,后台保留报名及签到统计 |
| 教学反馈 | 学习记录、任务提交、评分和活动数据按班级、学生及时间维度汇总,形成教师与管理员可查看的学情和运营参考 |
4.10 这套设计能支撑什么
资源浏览、收藏下载、任务提交、评分反馈、活动报名签到和 AI 对话全部形成可查询记录,平台因此既能支撑面向小学生的非遗知识普及,也能为教师提供班级学习参与情况的参考,为管理员提供平台内容的运营视角。
五、系统界面展示
系统总览

图 1 · 系统总览:学生端、教师工作台与管理后台的功能全貌。
学生端

图 2 · 学生首页:轮播图、精选非遗、学习任务与热门活动组成学习入口,是学生的业务起点。

图 3 · 非遗资源:按类型浏览剪纸、年画、节俗、戏曲等已通过审核的学习资料。

图 4 · 资源详情:阅读资料的同时可收藏或下载,首次访问会建立学习记录。

图 5 · 学习任务:查看本班任务与截止时间,进入详情提交心得、作品说明和文件。

图 6 · 非遗活动:浏览活动时间、地点与人数上限,提交报名后生成签到码。

图 7 · AI 助手:围绕非遗知识连续提问,回答流式呈现并可回看历史会话。

图 8 · 个人中心:集中查看个人资料、我的收藏、任务提交与活动报名情况。
教师工作台

图 9 · 我的资源:教师维护本人上传的非遗资源,可查看审核状态与驳回原因并重新提交。

图 10 · 学习任务:选择班级和关联非遗资源发布任务,设定截止时间。

图 11 · 任务提交:查看可管理班级学生提交的作品,给出 1--5 星评分和评语。

图 12 · 学情数据:按班级与学生聚合学习记录、完成率、平均学习时长与平均评分。

图 13 · 学习记录:查看班内学生访问了哪些资源、学习时长与完成情况。
管理员端

图 14 · 非遗资源:统一维护平台资源与资源类型,对待审核资源执行通过或驳回并记录审核人。

图 15 · 资源收藏:查看资源收藏与下载记录,了解哪些非遗资料被用得最多。

图 16 · 活动报名:按活动查看报名记录,处理签到并掌握取消情况。

图 17 · 报名统计:汇总各活动的已报名、已签到与已取消人数,了解活动组织情况。

图 18 · 班级管理:维护班级名称、年级、班主任与学生人数,并配置教师可管理的班级授权。
六、适合谁
- 想做选题有温度的毕设:非遗传承 / 小学教育方向,答辩时能讲清"这套系统解决了什么教学问题"
- 想体现多角色权限设计能力的同学:学生、教师、管理员三端分离,教师还能按班级授权控制数据范围,权限不是简单分个角色
- 想体现业务状态流转能力的同学:资源三态审核(含驳回后重提)、活动报名的报名签到取消,规则清晰可画图
- 需要数据可视化落点的场景:ECharts 近 7 天趋势 + 班级与学生两级学情统计 + Excel 导出,论文有图有数
- 想在论文里写大模型应用的同学:非遗科普提示词 + 历史上下文 + SSE 流式输出 + 完整回复落库,链路完整可讲
七、说明
- 本项目仅用于学习交流,非商用、非开源、非无偿。
- AI 非遗科普问答内容为学习辅助参考,教学使用前请结合教材与非遗保护单位资料核对。
- 文档展示 18 张截图,需要了解更多,请联系我。