1. 修改 SysNotification 实体,新增 senderId, senderName, targetType 字段 2. 新增 SendNotificationRequest 请求DTO 3. 扩展通知类型至6种(新增用户通知、课程通知) 4. 实现角色层级权限控制,支持多级管理员通知下级 5. 支持老师群发课程通知给学生 6. 新增批量发送接口和权限配置
11 KiB
实训平台客户端完整需求文档(V2.0)
文档说明
本文档基于原始零散需求、批注优化与核心业务规则整合,剔除疑问、统一口径、明确边界、规范格式,形成可直接交付研发的完整客户端需求,覆盖用户体系、注册登录、通知、充值、教学管理、优秀作品、个人中心全模块。
一、核心基础规则
1. 通用约束
-
数据权限:所有 API 查询严格校验
token与对应用户 ID,仅允许查询当前账户信息,禁止越权访问 -
数据排序:所有数据获取接口默认按日期最新排序
-
权限边界:未采购平台的学校,师生仅可登录、使用基础功能,无教学管理模块(作业 / 考试 / 课程 / 考勤)权限
-
角色定义:客户端仅支持老师、学生两种核心身份,无其他角色
2. 账户体系规则(强制)
-
身份绑定流程:绑定已采购院校需遵循「填身份信息→院校预校验→专属激活码→绑码校验」流程,禁止跳步
-
激活码规则:1 人 1 码、与姓名 / 学号 / 院校 / 角色强绑定,绑定后失效,无通用码
-
账户状态与权限
-
可学用户(未绑院校):仅基础功能,无教学模块
-
试用用户(绑未采购院校):基础 + 试用功能,无教学模块
-
学校用户(绑已采购院校):全功能权限,开放教学模块
-
冻结用户:禁止登录,禁用所有功能
-
二、注册需求
1. 注册方式
支持手机号验证码注册、账号密码注册两种自由注册方式,二选一。
2. 注册必填信息
所有注册方式均需填写:学校、学院、专业、年级、班级,信息与平台组织机构库关联选择,非纯文本输入。
3. 注册默认角色
自由注册默认角色为学生,老师角色需院校管理员后台批量创建 / 审核开通。
4. 密码规则
密码需满足:不低于 8 位,数字 + 字母混合,禁止纯数字 / 纯字母。
三、登录需求
1. 登录方式
老师、学生均支持 4 种登录方式:微信扫码登录、手机号验证码登录、账号密码登录、手机号密码登录,登录失败返回标准化错误提示。
2. 微信登录规则
微信扫码登录需提前绑定微信,注册阶段同步写入wxid至用户表,实现微信与账户唯一绑定。
3. 自动注册规则
手机号验证码登录、微信扫码登录时,无账户则自动创建新用户,默认角色为学生,学校 / 学院 / 专业 / 年级 / 班级信息沿用注册规则必填。
四、通知需求
用户(老师 / 学生)在通知中心页面可完成以下操作,解决消息漏看、状态混乱问题:
-
获取通知列表:查看全部系统通知,按时间倒序排列
-
查看通知详情:点击单条通知查看完整内容
-
单条通知已读:查看详情后自动触发,变更为已读状态
-
全部通知已读:点击「全部已读」按钮,一键标记所有通知为已读
五、充值需求
用户在充值中心页面可完成算力充值,解决算力付费、套餐选择问题:
-
获取充值套餐:展示管理员后台配置的官方充值套餐,包含套餐名称、算力额度、价格、有效期
-
套餐支付:选择固定套餐,通过微信 / 支付宝扫码完成支付
-
自定义充值:支持自由输入充值金额,通过微信 / 支付宝扫码完成支付
-
支付结果:支付成功后实时到账算力,支付失败返回失败原因
六、教学板块需求
6.1 通用规则
-
草稿定义:未发布的作业 / 考试为草稿,仅可编辑 / 删除;发布后草稿修改不影响已发布内容
-
发布规则:作业 / 考试仅可发布至老师创建的课程,支持多选课程,发布后学生收到通知
-
题目类型:支持填空题、单选题、多选题、简答题,简答题支持文字作答、图片上传、文件上传(老师配置)
6.2 课程管理
老师端(课程创建者)
老师在课程管理页面可完成以下操作,解决班级管理、教学组织问题:
-
筛选学生:按学院 / 专业 / 年级 / 班级筛选学生,返回真实姓名、头像、用户 ID、联系方式、学号
-
创建课程:填写课程名称、封面、简介、上课时间、授课方式,支持批量添加学生(班级全选 / Excel 导入手机号),创建成功后通知学生
-
管理课程:修改课程信息(已结课课程不可编辑)、删除草稿状态课程
-
查看课程列表:查看自己创建的所有课程,展示课程名、上课时间、状态
-
课程学生管理:查看课程内学生列表、批量添加学生、踢出学生(踢出后保留作业 / 考试数据),操作后通知学生
-
导出成绩:选择课程内考试,导出 Excel 成绩表,包含姓名、学号、平均分、分数、排名、总评成绩
学生端
学生在课程中心页面可完成以下操作,解决课程学习、信息查看问题:
-
查看课程:展示已加入的课程,包含课程标题、老师、封面、上课时间
-
查看课程内容:查看课程内作业、考试、考勤信息
6.3 作业管理
老师端
老师在作业管理页面可完成以下操作,解决作业布置、批改、管理问题:
-
作业草稿管理:创建、编辑、删除作业草稿,草稿包含名称、要求、题目、是否允许迟交、截止时间
-
发布作业:将草稿发布至课程,设置开始 / 截止时间,通知课程内学生
-
查看作业列表:查看课程内作业,展示标题、截止时间、提交情况、批改状态
-
作业批改管理:查看学生提交详情、批改作业(打分 + 评语)、修改分数、批量退回作业(设置重交截止时间,通知学生)
-
优秀标记:将学生作业标记为优秀 / 取消优秀
-
删除作业:删除作业及已提交 / 批改数据
学生端
学生在作业页面可完成以下操作,解决作业提交、修改、重做问题:
-
查看作业:查看课程内作业列表,展示标题、时间、提交状态、迟交权限
-
提交作业:按题目要求作答,支持文字 / 图片 / 文件
-
修改作业:截止时间前可修改已提交作业
-
重做作业:按老师退回要求,在截止时间前重新提交
6.4 考试管理
老师端
老师在考试管理页面可完成以下操作,解决考试组织、阅卷、补考问题:
-
考试草稿管理:创建、编辑、删除考试草稿,草稿包含名称、要求、考卷、时间
-
发布考试:将草稿发布至课程,设置开始 / 截止时间、考试时长,通知学生
-
查看考试列表:查看课程内考试,展示名称、时间、时长、状态、提交情况
-
考试阅卷管理:查看学生答卷、打分、写评语、修改分数
-
补考管理:筛选不及格学生,创建并发布补考,补考成绩规则:及格覆盖原成绩,超上限按上限计分
-
删除考试:删除考试及学生答卷数据
学生端
学生在考试页面可完成以下操作,解决考试参与、补考问题:
-
查看考试:查看课程内考试列表,展示名称、时间、状态、分数
-
参加考试:在考试时间内进入答题页,倒计时作答,超时强制提交(切页视为空提交)
-
参加补考:完成老师发布的补考并提交
6.5 考勤管理
老师端
老师在考勤页面可完成以下操作,解决课堂签到、统计问题:
-
发起签到:课程内开启签到,设置时长,支持二维码签到、手动点名两种方式,通知所有学生
-
管理签到:查看全部签到记录(名称、时间、状态、出勤统计)、查看单次签到详情、修改学生考勤状态(出勤 / 迟到 / 缺勤 / 请假),手动点名可添加备注
-
签到规则:未签到自动标记为旷课,签到记录按开始时间命名
学生端
学生在考勤页面可完成以下操作,解决签到、查看考勤问题:
-
扫码签到:扫描老师二维码完成签到
-
查看考勤:查看所有考勤记录与个人状态(出勤 / 迟到 / 缺勤 / 请假)
七、优秀作品需求
用户在优秀作品页面可完成以下操作,解决作品展示、互动问题:
-
查看优秀作品:获取所有老师标记的优秀作业 / 考试作品
-
作品互动:老师 / 学生可对作品点赞,每个作品仅可点赞 1 次
八、个人中心需求
用户在个人中心页面可完成以下操作,解决信息管理、账单查看问题:
-
查看个人信息:展示部门、昵称、手机号、头像
-
查看消费记录:查看算力消耗、获取明细
-
查看订单记录:查看所有充值订单(已支付 / 未支付)
-
修改基础信息:修改昵称、头像
-
修改密码
-
正常修改:输入原密码 + 新密码,新密码需符合规则且与原密码不同
-
找回密码:忘记原密码可通过手机号验证码修改
-
规则:修改后强制重新登录,返回标准化错误提示
-
-
修改绑定手机号
-
流程:验证原手机号→输入新手机号→双重验证码校验
-
规则:手机号 11 位格式校验、唯一性校验,验证码 5 分钟有效、60 秒内仅可发送 1 次
-
异常:返回验证码错误、过期、手机号已占用等提示
-
九、异常处理与提示规范
所有功能异常返回统一提示语:
-
原密码错误:原密码错误,请重新输入
-
新密码重复:新密码不能与原密码相同
-
验证码错误:验证码错误,请重新输入
-
验证码过期:验证码已过期,请重新获取
-
手机号已占用:该手机号已被其他账号使用
-
操作失败:修改失败,请稍后重试
-
越权访问:无权限访问该数据,请核对账号信息
十、研发强制红线
-
权限双重校验:前端展示 + 后端接口双重校验账户状态与权限,禁止越权
-
数据隔离:用户数据严格按 ID 隔离,token 校验不通过直接拒绝请求
-
操作留痕:课程 / 作业 / 考试 / 考勤 / 充值操作全量日志留存≥1 年,不可篡改
-
流程不可逆:院校绑定、注册登录、作业考试发布流程严格按文档执行,禁止绕过规则
要不要我把这份需求按研发视角拆分为接口清单 + 页面原型说明,直接交付开发团队使用?
当前文件内容过长,豆包只阅读了前 63%。
(注:文档部分内容可能由 AI 生成)