sxwz2.0/实训平台客户端完整需求文档(V2.0).md
wangzhiwei 5f5c0759ce feat(notification): 实现通知功能,支持角色层级发送和课程群发
1. 修改 SysNotification 实体,新增 senderId, senderName, targetType 字段

2. 新增 SendNotificationRequest 请求DTO

3. 扩展通知类型至6种(新增用户通知、课程通知)

4. 实现角色层级权限控制,支持多级管理员通知下级

5. 支持老师群发课程通知给学生

6. 新增批量发送接口和权限配置
2026-05-15 16:57:07 +08:00

11 KiB
Raw Blame History

实训平台客户端完整需求文档V2.0

文档说明

本文档基于原始零散需求、批注优化与核心业务规则整合,剔除疑问、统一口径、明确边界、规范格式,形成可直接交付研发的完整客户端需求,覆盖用户体系、注册登录、通知、充值、教学管理、优秀作品、个人中心全模块。

一、核心基础规则

1. 通用约束

  1. 数据权限:所有 API 查询严格校验token与对应用户 ID仅允许查询当前账户信息禁止越权访问

  2. 数据排序:所有数据获取接口默认按日期最新排序

  3. 权限边界:未采购平台的学校,师生仅可登录、使用基础功能,无教学管理模块(作业 / 考试 / 课程 / 考勤)权限

  4. 角色定义:客户端仅支持老师、学生两种核心身份,无其他角色

2. 账户体系规则(强制)

  1. 身份绑定流程:绑定已采购院校需遵循「填身份信息→院校预校验→专属激活码→绑码校验」流程,禁止跳步

  2. 激活码规则1 人 1 码、与姓名 / 学号 / 院校 / 角色强绑定,绑定后失效,无通用码

  3. 账户状态与权限

    • 可学用户(未绑院校):仅基础功能,无教学模块

    • 试用用户(绑未采购院校):基础 + 试用功能,无教学模块

    • 学校用户(绑已采购院校):全功能权限,开放教学模块

    • 冻结用户:禁止登录,禁用所有功能

二、注册需求

1. 注册方式

支持手机号验证码注册、账号密码注册两种自由注册方式,二选一。

2. 注册必填信息

所有注册方式均需填写:学校、学院、专业、年级、班级,信息与平台组织机构库关联选择,非纯文本输入。

3. 注册默认角色

自由注册默认角色为学生,老师角色需院校管理员后台批量创建 / 审核开通。

4. 密码规则

密码需满足:不低于 8 位,数字 + 字母混合,禁止纯数字 / 纯字母。

三、登录需求

1. 登录方式

老师、学生均支持 4 种登录方式:微信扫码登录、手机号验证码登录、账号密码登录、手机号密码登录,登录失败返回标准化错误提示。

2. 微信登录规则

微信扫码登录需提前绑定微信,注册阶段同步写入wxid至用户表,实现微信与账户唯一绑定。

3. 自动注册规则

手机号验证码登录、微信扫码登录时,无账户则自动创建新用户,默认角色为学生,学校 / 学院 / 专业 / 年级 / 班级信息沿用注册规则必填。

四、通知需求

用户(老师 / 学生)在通知中心页面可完成以下操作,解决消息漏看、状态混乱问题:

  1. 获取通知列表:查看全部系统通知,按时间倒序排列

  2. 查看通知详情:点击单条通知查看完整内容

  3. 单条通知已读:查看详情后自动触发,变更为已读状态

  4. 全部通知已读:点击「全部已读」按钮,一键标记所有通知为已读

五、充值需求

用户在充值中心页面可完成算力充值,解决算力付费、套餐选择问题:

  1. 获取充值套餐:展示管理员后台配置的官方充值套餐,包含套餐名称、算力额度、价格、有效期

  2. 套餐支付:选择固定套餐,通过微信 / 支付宝扫码完成支付

  3. 自定义充值:支持自由输入充值金额,通过微信 / 支付宝扫码完成支付

  4. 支付结果:支付成功后实时到账算力,支付失败返回失败原因

六、教学板块需求

6.1 通用规则

  1. 草稿定义:未发布的作业 / 考试为草稿,仅可编辑 / 删除;发布后草稿修改不影响已发布内容

  2. 发布规则:作业 / 考试仅可发布至老师创建的课程,支持多选课程,发布后学生收到通知

  3. 题目类型:支持填空题、单选题、多选题、简答题,简答题支持文字作答、图片上传、文件上传(老师配置)

6.2 课程管理

老师端(课程创建者)

老师在课程管理页面可完成以下操作,解决班级管理、教学组织问题:

  1. 筛选学生:按学院 / 专业 / 年级 / 班级筛选学生,返回真实姓名、头像、用户 ID、联系方式、学号

  2. 创建课程:填写课程名称、封面、简介、上课时间、授课方式,支持批量添加学生(班级全选 / Excel 导入手机号),创建成功后通知学生

  3. 管理课程:修改课程信息(已结课课程不可编辑)、删除草稿状态课程

  4. 查看课程列表:查看自己创建的所有课程,展示课程名、上课时间、状态

  5. 课程学生管理:查看课程内学生列表、批量添加学生、踢出学生(踢出后保留作业 / 考试数据),操作后通知学生

  6. 导出成绩:选择课程内考试,导出 Excel 成绩表,包含姓名、学号、平均分、分数、排名、总评成绩

学生端

学生在课程中心页面可完成以下操作,解决课程学习、信息查看问题:

  1. 查看课程:展示已加入的课程,包含课程标题、老师、封面、上课时间

  2. 查看课程内容:查看课程内作业、考试、考勤信息

6.3 作业管理

老师端

老师在作业管理页面可完成以下操作,解决作业布置、批改、管理问题:

  1. 作业草稿管理:创建、编辑、删除作业草稿,草稿包含名称、要求、题目、是否允许迟交、截止时间

  2. 发布作业:将草稿发布至课程,设置开始 / 截止时间,通知课程内学生

  3. 查看作业列表:查看课程内作业,展示标题、截止时间、提交情况、批改状态

  4. 作业批改管理:查看学生提交详情、批改作业(打分 + 评语)、修改分数、批量退回作业(设置重交截止时间,通知学生)

  5. 优秀标记:将学生作业标记为优秀 / 取消优秀

  6. 删除作业:删除作业及已提交 / 批改数据

学生端

学生在作业页面可完成以下操作,解决作业提交、修改、重做问题:

  1. 查看作业:查看课程内作业列表,展示标题、时间、提交状态、迟交权限

  2. 提交作业:按题目要求作答,支持文字 / 图片 / 文件

  3. 修改作业:截止时间前可修改已提交作业

  4. 重做作业:按老师退回要求,在截止时间前重新提交

6.4 考试管理

老师端

老师在考试管理页面可完成以下操作,解决考试组织、阅卷、补考问题:

  1. 考试草稿管理:创建、编辑、删除考试草稿,草稿包含名称、要求、考卷、时间

  2. 发布考试:将草稿发布至课程,设置开始 / 截止时间、考试时长,通知学生

  3. 查看考试列表:查看课程内考试,展示名称、时间、时长、状态、提交情况

  4. 考试阅卷管理:查看学生答卷、打分、写评语、修改分数

  5. 补考管理:筛选不及格学生,创建并发布补考,补考成绩规则:及格覆盖原成绩,超上限按上限计分

  6. 删除考试:删除考试及学生答卷数据

学生端

学生在考试页面可完成以下操作,解决考试参与、补考问题:

  1. 查看考试:查看课程内考试列表,展示名称、时间、状态、分数

  2. 参加考试:在考试时间内进入答题页,倒计时作答,超时强制提交(切页视为空提交)

  3. 参加补考:完成老师发布的补考并提交

6.5 考勤管理

老师端

老师在考勤页面可完成以下操作,解决课堂签到、统计问题:

  1. 发起签到:课程内开启签到,设置时长,支持二维码签到、手动点名两种方式,通知所有学生

  2. 管理签到:查看全部签到记录(名称、时间、状态、出勤统计)、查看单次签到详情、修改学生考勤状态(出勤 / 迟到 / 缺勤 / 请假),手动点名可添加备注

  3. 签到规则:未签到自动标记为旷课,签到记录按开始时间命名

学生端

学生在考勤页面可完成以下操作,解决签到、查看考勤问题:

  1. 扫码签到:扫描老师二维码完成签到

  2. 查看考勤:查看所有考勤记录与个人状态(出勤 / 迟到 / 缺勤 / 请假)

七、优秀作品需求

用户在优秀作品页面可完成以下操作,解决作品展示、互动问题:

  1. 查看优秀作品:获取所有老师标记的优秀作业 / 考试作品

  2. 作品互动:老师 / 学生可对作品点赞,每个作品仅可点赞 1 次

八、个人中心需求

用户在个人中心页面可完成以下操作,解决信息管理、账单查看问题:

  1. 查看个人信息:展示部门、昵称、手机号、头像

  2. 查看消费记录:查看算力消耗、获取明细

  3. 查看订单记录:查看所有充值订单(已支付 / 未支付)

  4. 修改基础信息:修改昵称、头像

  5. 修改密码

    • 正常修改:输入原密码 + 新密码,新密码需符合规则且与原密码不同

    • 找回密码:忘记原密码可通过手机号验证码修改

    • 规则:修改后强制重新登录,返回标准化错误提示

  6. 修改绑定手机号

    • 流程:验证原手机号→输入新手机号→双重验证码校验

    • 规则:手机号 11 位格式校验、唯一性校验,验证码 5 分钟有效、60 秒内仅可发送 1 次

    • 异常:返回验证码错误、过期、手机号已占用等提示

九、异常处理与提示规范

所有功能异常返回统一提示语:

  1. 原密码错误:原密码错误,请重新输入

  2. 新密码重复:新密码不能与原密码相同

  3. 验证码错误:验证码错误,请重新输入

  4. 验证码过期:验证码已过期,请重新获取

  5. 手机号已占用:该手机号已被其他账号使用

  6. 操作失败:修改失败,请稍后重试

  7. 越权访问:无权限访问该数据,请核对账号信息

十、研发强制红线

  1. 权限双重校验:前端展示 + 后端接口双重校验账户状态与权限,禁止越权

  2. 数据隔离:用户数据严格按 ID 隔离token 校验不通过直接拒绝请求

  3. 操作留痕:课程 / 作业 / 考试 / 考勤 / 充值操作全量日志留存≥1 年,不可篡改

  4. 流程不可逆:院校绑定、注册登录、作业考试发布流程严格按文档执行,禁止绕过规则


要不要我把这份需求按研发视角拆分为接口清单 + 页面原型说明,直接交付开发团队使用?

当前文件内容过长,豆包只阅读了前 63%。

(注:文档部分内容可能由 AI 生成)