pangu-user-platform/docs/01-需求文档/需求规格说明书_v1.0.md

44 KiB
Raw Blame History

盘古用户平台 - 需求规格说明书


文档信息 内容
文档版本 V1.0
项目名称 盘古用户平台Pangu User Platform
编写团队 pangu
创建日期 2026-01-31
审核状态 待审核
原型链接 https://modao.cc/proto/atlwMul8t9pi6yxQ42W7up/sharing

修订记录

版本 日期 修订人 修订内容
V1.0 2026-01-31 pangu 初稿
V1.1 2026-02-03 pangu 更新会员多教育身份模型、微信扫码登录流程

目录

  1. 引言
  2. 项目概述
  3. 系统角色定义
  4. 功能需求
  5. 非功能需求
  6. 用例规约
  7. 数据字典
  8. 界面原型说明
  9. 约束与假设
  10. 验收标准

1. 引言

1.1 编写目的

本文档旨在详细描述盘古用户平台的功能需求和非功能需求,作为系统设计、开发、测试和验收的依据。本文档的主要读者包括:

  • 项目管理人员
  • 系统架构师
  • 开发工程师
  • 测试工程师
  • 产品经理
  • 业务方代表

1.2 背景

盘古用户平台是一个面向教育行业的统一用户管理系统,主要服务于湖北新华书店系统内的学校、教师、家长和学生。系统需要支持多角色、多层级的用户管理,并为其他业务系统提供统一的用户认证和授权服务。

1.3 参考资料

文档名称 版本 来源
墨刀原型-用户系统 - https://modao.cc/proto/atlwMul8t9pi6yxQ42W7up/sharing
RuoYi-Vue文档 3.8 http://doc.ruoyi.vip
盘古用户认证中心技术规范 V1.0 内部文档

1.4 术语定义

术语 定义
会员 通过小程序/H5端注册的前端用户包括家长和教师
后台用户 通过管理后台登录的管理人员,包括超级管理员和分公司用户
学生 学生信息实体,归属于会员(家长/教师)名下
应用 接入盘古用户平台的第三方业务系统
Token 用于用户身份验证的令牌

2. 项目概述

2.1 项目目标

  1. 统一用户管理:建立统一的用户中心,管理学校、教师、家长、学生等各类用户
  2. 多角色权限控制:支持超级管理员、分公司用户、学校用户三级角色管理
  3. 开放授权服务:为其他业务系统提供标准化的用户认证和数据接口
  4. 支持多端登录支持管理后台、小程序、H5等多种客户端

2.2 系统边界

┌─────────────────────────────────────────────────────────────────┐
│                        盘古用户平台                               │
├─────────────────────────────────────────────────────────────────┤
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐          │
│  │   管理后台    │  │  小程序/H5   │  │  第三方应用   │          │
│  │ (Web端)      │  │  (移动端)    │  │  (API调用)   │          │
│  └──────┬───────┘  └──────┬───────┘  └──────┬───────┘          │
│         │                 │                 │                   │
│         ▼                 ▼                 ▼                   │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │                    统一认证服务                          │   │
│  │  - 手机号+密码登录  - 手机号+验证码登录  - 微信登录       │   │
│  └─────────────────────────────────────────────────────────┘   │
│                              │                                  │
│         ┌────────────────────┼────────────────────┐            │
│         ▼                    ▼                    ▼            │
│  ┌─────────────┐      ┌─────────────┐      ┌─────────────┐    │
│  │  用户管理    │      │  学校管理    │      │  应用管理    │    │
│  │  - 会员     │      │  - 学校     │      │  - 接口授权  │    │
│  │  - 学生     │      │  - 年级/班级 │      │  - 密钥管理  │    │
│  └─────────────┘      └─────────────┘      └─────────────┘    │
└─────────────────────────────────────────────────────────────────┘

2.3 系统上下文

输入系统:

  • 微信开放平台获取用户openId
  • 短信服务(发送验证码)

输出系统:

  • AI智慧平台提供用户数据
  • 其他业务系统通过API接入

3. 系统角色定义

3.1 角色层级结构

┌─────────────────────────────────────────┐
│              超级管理员                  │
│  (系统最高权限,管理全部数据)             │
└─────────────────┬───────────────────────┘
                  │
    ┌─────────────┴─────────────┐
    ▼                           ▼
┌───────────────┐       ┌───────────────┐
│  分公司用户    │       │  分公司用户    │
│  (管理所属区域) │       │  (管理所属区域) │
└───────┬───────┘       └───────┬───────┘
        │                       │
    ┌───┴───┐               ┌───┴───┐
    ▼       ▼               ▼       ▼
┌───────┐ ┌───────┐   ┌───────┐ ┌───────┐
│学校用户│ │学校用户│   │学校用户│ │学校用户│
└───────┘ └───────┘   └───────┘ └───────┘

3.2 角色权限矩阵

功能模块 超级管理员 分公司用户 学校用户
学校管理
- 查看所有学校
- 查看所属区域学校
- 新增/编辑学校
- 删除学校
- 管理年级/班级
会员管理
- 查看所有会员
- 查看所属区域会员
- 新增/编辑会员
- 重置密码
- 删除会员
学生管理
- 查看所有学生
- 查看所属区域学生
- 查看本校学生
- 新增/编辑学生
- 批量导入学生
- 删除学生
教师管理
- 查看本校教师
- 管理本校教师
应用管理
- 查看所有应用
- 新增/编辑应用
- 接口授权
- 重置密钥
基础数据
- 年级管理
- 班级管理
- 学科管理
- 区域管理
系统设置
系统监控

3.3 前端用户角色

角色 说明 权限
家长 通过小程序/H5注册的家长用户 可绑定多个学生(不限学校)
教师 通过小程序/H5注册的教师用户 需绑定所属学校,只能绑定本校学生

多教育身份说明:一个会员可以同时拥有多个教育身份(如在多个班级任教),每个教育身份独立包含学校、年级、班级、学科信息。会员首次绑定学生时,如无教育身份则默认设为"家长"身份。


4. 功能需求

4.1 学校管理模块

4.1.1 功能概述

管理学校、年级、班级的树形组织结构,支持按区域筛选和层级管理。

4.1.2 功能清单

功能编号 功能名称 功能描述 优先级
SCH-001 学校列表查询 按区域树形展示学校、年级、班级结构 P0
SCH-002 学校信息查询 按学校名称、状态筛选查询 P0
SCH-003 新增学校 创建新学校,自动生成学校编码 P0
SCH-004 编辑学校 修改学校名称、所属区域、状态 P0
SCH-005 删除学校 软删除学校(需检查关联数据) P0
SCH-006 新增年级 为学校挂载年级(从年级库选择) P0
SCH-007 新增班级 为年级挂载班级(从班级库选择) P0
SCH-008 删除年级/班级 软删除年级/班级(需检查关联数据) P1

4.1.3 业务规则

规则编号 规则描述
SCH-R01 学校编码由系统自动生成,格式待定,不可修改
SCH-R02 所属地区、学校编码、学校名称为必填项
SCH-R03 新增学校时,所属地区默认带入列表页选择的区域
SCH-R04 删除学校前需检查是否有子级(年级/班级),有则提示
SCH-R05 删除学校前需检查是否被学生信息引用,有则不允许删除
SCH-R06 所有删除操作均为软删除,保留历史数据
SCH-R07 学校下新增年级为选择挂载,非新建年级
SCH-R08 年级下新增班级为选择挂载,非新建班级
SCH-R09 年级/班级选择支持多选

4.1.4 数据项说明

学校信息

字段名称 字段类型 必填 说明
学校名称 文本 最大长度100字符
学校编码 文本 系统自动生成,唯一
类型 枚举 节点类型:学校/年级/班级(用于区分树形层级)
所属区域 树形选择 省-市-区三级
状态 开关 启用/禁用
创建时间 日期时间 - 系统自动记录
创建人 文本 - 系统自动记录

4.2 会员管理模块

4.2.1 功能概述

管理通过小程序/H5端注册的前端用户家长/教师),支持用户信息维护和学生关联。

4.2.2 功能清单

功能编号 功能名称 功能描述 优先级
MEM-001 会员列表查询 按手机号、昵称、状态、注册时间、身份类型筛选 P0
MEM-002 新增会员 后台手动创建会员账号 P0
MEM-003 编辑会员 修改会员基本信息和学生绑定关系 P0
MEM-004 删除会员 软删除会员(需检查学生绑定) P1
MEM-005 重置密码 重置会员登录密码并显示新密码 P0
MEM-006 禁用/启用会员 控制会员登录权限 P0
MEM-007 绑定学生 为会员绑定学生信息 P0
MEM-008 解绑学生 移除会员与学生的绑定关系 P0

4.2.3 业务规则

规则编号 规则描述
MEM-R01 会员编号由系统自动生成格式M + 时间戳
MEM-R02 昵称未填写时系统自动生成默认昵称user_手机号后4位
MEM-R03 手机号为必填项,需验证格式有效性和唯一性
MEM-R04 出生日期和性别为选填项
MEM-R05 会员可添加多个教育身份,每个教育身份包含学校/年级/班级/学科
MEM-R06 有教育身份的会员绑定学生时,校验学生学校与教育身份学校一致
MEM-R07 无教育身份的会员可绑定任意学校的学生,首次绑定后默认设为"家长"身份
MEM-R08 删除会员前需检查是否绑定学生,有则不允许删除
MEM-R09 重置密码后,需弹窗显示新密码并提供复制功能
MEM-R10 禁用会员后,该用户无法登录任何端
MEM-R11 使用Sa-Token鉴权体系区分后台用户和会员信息
MEM-R12 会员可设置一个默认教育身份,用于业务默认展示

4.2.4 登录方式支持

登录方式 说明
手机号 + 验证码 发送短信验证码登录
手机号 + 密码 使用账号密码登录
微信扫码登录 扫描二维码授权登录,首次需绑定手机号

微信扫码登录流程

  1. 用户点击微信登录,获取二维码
  2. 用户使用微信扫码确认
  3. 如已绑定手机号,直接登录成功
  4. 如未绑定手机号,需输入手机号和短信验证码完成绑定后登录

4.2.5 数据项说明

会员信息

字段名称 字段类型 必填 说明
会员编号 文本 系统自动生成,唯一
手机号 文本 11位手机号唯一
昵称 文本 - 最大长度50字符
头像 URL - 头像图片地址
性别 枚举 - 男/女/未知
出生日期 日期 - 格式YYYY-MM-DD
openId 文本 - 微信用户标识
注册时间 日期时间 - 系统自动记录
注册来源 枚举 - 小程序/H5/后台新增
状态 开关 启用/禁用

教育身份信息(多条)

字段名称 字段类型 必填 说明
教育身份ID 数字 系统自动生成
所属区域 树形选择 省-市-区三级
所属学校 下拉选择 依赖区域
所属年级 下拉选择 依赖学校
所属班级 下拉选择 依赖年级
任教学科 下拉选择 学科列表
是否默认 布尔 默认教育身份

4.3 学生管理模块

4.3.1 功能概述

管理学生基本信息,支持与会员的绑定关系维护和批量导入功能。

4.3.2 功能清单

功能编号 功能名称 功能描述 优先级
STU-001 学生列表查询 按姓名、学号、性别、手机号等筛选 P0
STU-002 学校树筛选 通过左侧学校树快速定位学生,点击节点时带上完整层级条件(学校+年级+班级) P0
STU-003 新增学生 手动创建学生信息 P0
STU-004 编辑学生 修改学生基本信息 P0
STU-005 删除学生 软删除学生信息 P1
STU-006 批量导入 通过Excel模板批量导入学生 P0
STU-007 下载导入模板 下载标准Excel导入模板 P0

4.3.3 业务规则

规则编号 规则描述
STU-R01 学号在系统内不允许重复,可为空
STU-R02 姓名为必填项
STU-R03 学校信息(区域/学校/年级/班级)为必填项
STU-R04 出生日期和性别为选填项
STU-R05 学生需归属于某个会员(家长/教师)
STU-R06 批量导入时需校验必填字段完整性
STU-R07 批量导入时需校验区域/学校/年级/班级数据一致性
STU-R08 批量导入时,若用户手机号已存在,则挂载到已有用户
STU-R09 批量导入时若用户手机号不存在自动创建家长用户初始密码123456

4.3.4 批量导入模板

序号 字段名称 必填 说明
1 姓名 学生姓名
2 学号 学生学号,系统内唯一
3 用户手机号 归属用户的手机号
4 区域 格式:湖北省-武汉市-武昌区
5 学校 学校名称,需与系统数据匹配
6 年级 年级名称,需与系统数据匹配
7 班级 班级名称,需与系统数据匹配
8 性别 - 男/女
9 出生日期 - 格式YYYY-MM-DD

4.3.5 数据项说明

学生信息

字段名称 字段类型 必填 说明
姓名 文本 最大长度50字符
学号 文本 - 唯一最大长度20字符
性别 枚举 - 男/女/未知
出生日期 日期 - 格式YYYY-MM-DD
所属区域 树形选择 省-市-区三级
所属学校 下拉选择 依赖区域
所属年级 下拉选择 依赖学校
所属班级 下拉选择 依赖年级
归属用户 关联 关联会员ID
创建时间 日期时间 - 系统自动记录

4.4 应用管理模块

4.4.1 功能概述

管理接入盘古用户平台的第三方应用控制API接口访问权限。

4.4.2 功能清单

功能编号 功能名称 功能描述 优先级
APP-001 应用列表查询 按应用名称、编码、状态筛选 P0
APP-002 新增应用 创建新应用,自动生成应用编码和密钥 P0
APP-003 编辑应用 修改应用信息和接口授权 P0
APP-004 删除应用 删除应用及其授权信息 P1
APP-005 重置密钥 重新生成应用密钥 P0
APP-006 接口授权 配置应用可访问的API接口 P0
APP-007 禁用/启用应用 控制应用访问权限 P0

4.4.3 业务规则

规则编号 规则描述
APP-R01 应用编码由系统自动生成格式YY + 6位数字
APP-R02 应用密钥AppSecret由系统自动生成32位随机字符串
APP-R03 重置密钥后,旧密钥立即失效
APP-R04 重置密钥后需弹窗显示新密钥并提供复制功能
APP-R05 删除应用需popconfirm二次确认
APP-R06 禁用应用后该应用无法调用任何API接口
APP-R07 接口授权采用勾选方式,可多选

4.4.4 数据项说明

应用信息

字段名称 字段类型 必填 说明
应用名称 文本 最大长度100字符
应用编码 文本 系统自动生成,唯一
应用密钥 文本 系统自动生成32位
授权接口 多选 - 可访问的API接口列表
状态 开关 启用/禁用
创建时间 日期时间 - 系统自动记录
创建人 文本 - 系统自动记录

API接口列表

接口名称 接口地址 说明
查询学生信息 /api/student/getList 获取学生列表
查询学校信息 /api/school/getList 获取学校列表
查询年级信息 /api/grade/getList 获取年级列表
查询班级信息 /api/class/getList 获取班级列表
查询会员信息 /api/member/getList 获取会员列表

4.5 基础数据管理模块

4.5.1 年级管理

功能编号 功能名称 功能描述 优先级
GRD-001 年级列表查询 按名称、编码、状态筛选 P0
GRD-002 新增年级 创建年级,自动生成编码 P0
GRD-003 编辑年级 修改年级名称、状态 P0
GRD-004 删除年级 软删除年级(需检查引用) P1

年级数据项

字段名称 字段类型 必填 说明
年级名称 文本 如:一年级、七年级
年级编码 文本 系统自动生成
状态 开关 启用/禁用

4.5.2 班级管理

功能编号 功能名称 功能描述 优先级
CLS-001 班级列表查询 按名称、编码、状态筛选 P0
CLS-002 新增班级 创建班级,自动生成编码 P0
CLS-003 编辑班级 修改班级名称、状态 P0
CLS-004 删除班级 软删除班级(需检查引用) P1

班级数据项

字段名称 字段类型 必填 说明
班级名称 文本 1班、2班
班级编码 文本 系统自动生成
状态 开关 启用/禁用

4.5.3 学科管理

功能编号 功能名称 功能描述 优先级
SUB-001 学科列表查询 按名称、编码、状态筛选 P0
SUB-002 新增学科 创建学科信息 P0
SUB-003 编辑学科 修改学科名称、状态 P0
SUB-004 删除学科 软删除学科(需检查引用) P1

学科数据项

字段名称 字段类型 必填 说明
学科名称 文本 如:语文、数学、英语
学科编码 文本 系统自动生成
状态 开关 启用/禁用

4.5.4 区域管理

功能编号 功能名称 功能描述 优先级
REG-001 区域树查询 树形展示省-市-区结构 P0
REG-002 新增区域 在指定节点下新增区域 P0
REG-003 编辑区域 修改区域名称 P0
REG-004 删除区域 删除区域(需检查子级和引用) P1

区域数据项

字段名称 字段类型 必填 说明
区域名称 文本 如:湖北省、武汉市
父级区域 关联 - 顶级区域无父级
层级 数字 1=省2=市3=区
排序 数字 - 同级排序

预置区域数据

湖北
├── 武汉
│   ├── 武昌区
│   ├── 汉口区
│   ├── 汉阳区
│   ├── 江夏区
│   ├── 新洲区
│   └── 黄陂区
└── 黄冈
    ├── 黄州区
    ├── 红安县
    └── 麻城市
北京
香港
吉宁

4.6 系统设置模块

复用RuoYi框架的系统设置功能

功能编号 功能名称 功能描述 优先级
SYS-001 用户管理 管理后台用户账号 P0
SYS-002 角色管理 管理系统角色和权限 P0
SYS-003 菜单管理 管理系统菜单结构 P0
SYS-004 部门管理 管理组织架构(用于分公司) P0
SYS-005 字典管理 管理系统字典数据 P1
SYS-006 参数设置 管理系统参数配置 P1

4.7 系统监控模块

参考RuoYi框架的系统监控功能

功能编号 功能名称 功能描述 优先级
MON-001 在线用户 查看当前在线用户 P1
MON-002 登录日志 查看用户登录记录 P1
MON-003 操作日志 查看用户操作记录 P1
MON-004 服务监控 查看服务器状态 P2
MON-005 缓存监控 查看缓存使用情况 P2

5. 非功能需求

5.1 性能需求

需求编号 需求描述 指标
NFR-P01 页面加载时间 首屏加载 ≤ 3秒
NFR-P02 API响应时间 95%请求 ≤ 500ms
NFR-P03 并发用户数 支持 500 并发用户
NFR-P04 批量导入性能 1000条数据 ≤ 30秒
NFR-P05 数据库查询 单表查询 ≤ 100ms

5.2 安全需求

需求编号 需求描述
NFR-S01 用户密码需加密存储BCrypt
NFR-S02 登录需输入图形验证码
NFR-S03 密码错误5次后锁定账号10分钟
NFR-S04 API接口需Token认证
NFR-S05 第三方应用调用需AppId + AppSecret认证
NFR-S06 敏感操作需记录审计日志
NFR-S07 禁止SQL注入、XSS攻击
NFR-S08 手机号等敏感信息需脱敏显示

5.3 可用性需求

需求编号 需求描述
NFR-A01 系统可用性 ≥ 99.9%
NFR-A02 支持数据定期备份
NFR-A03 支持服务平滑重启

5.4 兼容性需求

需求编号 需求描述
NFR-C01 管理后台支持 Chrome、Edge、Firefox 最新两个版本
NFR-C02 管理后台支持 1920x1080 及以上分辨率
NFR-C03 小程序支持微信基础库 2.0 及以上
NFR-C04 H5端支持主流移动浏览器

5.5 可维护性需求

需求编号 需求描述
NFR-M01 代码需遵循团队编码规范
NFR-M02 核心业务逻辑需编写单元测试
NFR-M03 API接口需提供Swagger文档
NFR-M04 系统需支持日志分级输出

6. 用例规约

6.1 UC-001 用户登录

项目 内容
用例名称 用户登录
用例编号 UC-001
参与者 会员(家长/教师)
前置条件 用户已注册账号
后置条件 用户成功登录获取访问Token
基本流程 1. 用户打开登录页面
2. 用户选择登录方式(验证码/密码/微信扫码)
3. 用户输入登录信息或扫描二维码
4. 系统验证登录信息
5. 验证通过生成Token并返回
6. 跳转到首页
异常流程 3a. 手机号格式错误,提示"请输入正确的手机号"
4a. 验证码错误,提示"验证码错误"
4b. 密码错误,提示"密码错误"
4c. 密码错误5次锁定账号10分钟
4d. 账号被禁用,提示"账号已被禁用"
微信扫码流程 1. 用户点击微信登录
2. 系统生成二维码并展示
3. 用户使用微信扫码确认
4a. 已绑定手机号,直接登录成功
4b. 未绑定手机号,进入绑定流程
5. 用户输入手机号和短信验证码
6. 绑定成功并登录

6.2 UC-002 批量导入学生

项目 内容
用例名称 批量导入学生
用例编号 UC-002
参与者 后台管理员
前置条件 用户已登录后台,拥有学生管理权限
后置条件 学生数据导入成功
基本流程 1. 用户点击"批量导入"按钮
2. 系统弹出导入对话框
3. 用户下载导入模板
4. 用户填写学生数据
5. 用户上传Excel文件
6. 系统解析并校验数据
7. 校验通过,显示预览数据
8. 用户确认导入
9. 系统保存数据并关联用户
异常流程 6a. 文件格式错误,提示"请上传正确格式的Excel文件"
6b. 必填字段为空,提示"第N行XXX字段不能为空"
6c. 学校/年级/班级不匹配,提示"第N行学校信息不存在"
6d. 学号重复,提示"第N行学号已存在"

6.3 UC-003 应用接口授权

项目 内容
用例名称 应用接口授权
用例编号 UC-003
参与者 超级管理员
前置条件 用户已登录后台,拥有应用管理权限
后置条件 应用获得指定接口的访问权限
基本流程 1. 用户进入应用管理页面
2. 用户点击编辑按钮
3. 系统显示应用编辑表单
4. 用户在"接口授权"区域勾选允许访问的接口
5. 用户点击保存
6. 系统保存授权配置
异常流程 5a. 未选择任何接口,提示"请至少选择一个接口"

7. 数据字典

7.1 性别

编码 名称
0 未知
1
2

7.2 身份类型

编码 名称
1 家长
2 教师

7.3 注册来源

编码 名称
1 小程序
2 H5
3 后台新增
4 批量导入

7.4 状态

编码 名称
0 禁用
1 启用

7.5 区域层级

编码 名称
1
2
3 区/县

8. 界面原型说明

8.1 原型访问信息

项目 内容
原型工具 墨刀Modao
原型链接 https://modao.cc/proto/atlwMul8t9pi6yxQ42W7up/sharing
访问方式 只读模式

8.2 页面清单

序号 模块 页面名称 页面数量
1 系统整体说明 说明页 1
2 学校管理 列表、编辑-学校、新增-年级、新增-班级 4
3 会员管理 列表、编辑 2
4 学生管理 列表、编辑、批量导入 3
5 应用管理 列表、编辑 2
6 年级管理 列表、编辑 2
7 班级管理 列表、编辑 2
8 学科管理 列表、编辑 2
9 区域管理 列表、编辑 2
合计 17

8.3 墨刀批注汇总

以下为墨刀原型中的批注信息,作为开发实现的补充说明

8.3.1 全局注意事项

批注序号 批注内容
1 系统可以创建3个角色管理员分公司用户学校用户
2 利用RuoYi的部门管理创建分公司并创建分公司的角色分配对应的功能权限也可创建学校用户角色
3 会员管理需要使用token来方便前端用户登录小程序或者H5

8.3.2 学校管理批注

批注序号 批注内容
1 学校下面新增年级,此处不做年级新增,只选择年级挂载在学校下面,功能类似编辑
2 删除时提示是否有子级,如有子级或者被学生信息使用时,给出提示,并且都是软删除
3 基于选择的区域根据学校名称和状态搜索
4 基于选择的区域新增学校信息
5 年级下面新增班级,此处不做班级新增,只选择班级挂载在年级下面,功能类似编辑
6 学校编码自动生成;所属地区从列表页选择的区域层级树带入,也可以手动调整;所属地区/学校编码/学校名称必填
7 学校下新增年级,选择对应的年级,支持多选,必填
8 年级下新增班级,选择对应的班级,支持多选

示例数据 - 区域树:

湖北
├── 武汉
│   ├── 武昌区
│   ├── 汉口区
│   ├── 汉阳区
│   ├── 江夏区
│   ├── 新洲区
│   └── 黄陂区
└── 黄冈
    ├── 黄州区
    ├── 红安县
    └── 麻城市
北京
香港
吉宁

示例数据 - 学校树:

武汉市第一中学
├── 七年级
│   ├── 1班
│   ├── 2班
│   └── 3班
├── 八年级
└── 九年级
武汉市第三中学
武汉市水果湖小学
├── 一年级
├── 二年级
├── 三年级
├── 四年级
├── 五年级
└── 六年级

8.3.3 会员管理批注

批注序号 批注内容
1 重置密码后,显示密码,提供复制功能
2 删除时需要popconfirm提醒并且如果会员明显绑定了学生信息不允许删除需要先移除绑定的学生信息
3 编辑跳转到会员编辑页面
4 使用RuoYi的鉴权登录处理用户区分后台用户和会员信息
5 当前用户支持手机号+验证码登录、手机号+密码登录和微信登录,登录时需要使用输入验证码
6 禁用用户后,无法登录
7 昵称未填写时,自动生成
8 会员编号自动生成
9 出生日期和性别选填
10 会员可添加多个教育身份(教师身份),每个教育身份需选择区域/学校/年级/班级/学科,绑定学生时校验学校一致性
11 无教育身份的会员可绑定任意学校的学生,首次绑定后默认设为"家长"身份

示例数据:

  • 会员编号JS123123123
  • 归属用户显示昵称手机号13207166213

表格列定义:

字段 说明
会员编号 系统自动生成
手机号 11位手机号
昵称 用户昵称
性别 男/女/未知
出生日期 日期格式
身份类型 家长/教师
注册时间 日期时间
注册来源 小程序/H5/后台新增
openId 微信用户标识
状态 启用/禁用
操作 编辑、重置密码、删除

8.3.4 学生管理批注

批注序号 批注内容
1 学号不允许重复,可空
2 出生日期和性别可空
3 学校信息必填

批量导入要求:

序号 要求内容
1 下载模板,模板包含姓名-必填,学号-必填,会员手机号-必填,区域-必填,学校-必填,年级-必填,班级-必填,性别-选填,出生日期-选填
2 导入数据时,检查必填信息,并检查区域/学校/年级/班级对应的信息一致
3 导入时同时需要检查用户手机号如果系统中存在用户手机号那么导入的学生就挂在当前用户下如果系统中不存在对应的用户自动创建当前手机号的用户身份为家长初始密码123456并把学生信息挂在当前用户下
4 教师身份校验:如果会员手机号对应的会员身份为"教师",需校验教师与学生的归属关系一致(区域、学校、年级、班级),不一致则导入失败并提示原因
5 教师未设置学校信息时,无法绑定学生,提示"教师未设置学校信息"
6 重新选择文件时自动覆盖之前的文件记录,无需手动删除

表格列定义:

字段 说明
姓名 学生姓名
学号 学生学号
性别 男/女/未知
出生日期 格式YYYY-MM-DD
地区 如:湖北省-武汉市-武昌区
学校 学校名称
年级 年级名称
班级 班级名称
用户身份 家长/教师
用户昵称 归属会员昵称
用户手机号 归属会员手机号
操作 编辑、删除

8.3.5 应用管理批注

批注序号 批注内容
1 重置密钥,弹出显示,并可以复制
2 删除popconfirm确认提示

示例数据:

  • 应用名称AI智慧平台
  • 应用编码YY000001
  • 授权接口:学校接口、年级接口、班级接口

接口授权表格:

接口名称 接口地址 允许访问
查询学生信息 /api/student/getList
查询学校信息 /api/school/getList
查询年级信息 /api/grade/getList
查询班级信息 /api/class/getList

8.3.6 区域管理批注

批注序号 批注内容
1 区域名称必填
2 如果是新增下级跳转过来时,默认所属父级为选择的;直接点新增,所选区域需要手动选择

表格列定义:

字段 说明
区域名称 如:湖北省、武汉市
区域编码 系统自动生成
创建时间 日期时间
创建人 操作人
操作 新增下级、编辑、删除

8.3.7 年级管理

表格列定义:

字段 说明
年级名称 如:一年级、七年级
年级编码 系统自动生成
状态 启用/禁用
创建时间 日期时间
创建人 操作人
操作 编辑、删除

新增/编辑表单:

  • 年级名称(必填)
  • 年级编码(自动生成)
  • 状态(开关)

9. 约束与假设

9.1 技术约束

约束编号 约束描述
CON-01 后端基于 RuoYi-Vue 框架开发Spring Boot + Vue
CON-02 数据库使用 MySQL 8.0
CON-03 缓存使用 Redis
CON-04 前端使用 Vue 3 + Element Plus
CON-05 需兼容 RuoYi 原有的用户认证体系

9.2 业务假设

假设编号 假设描述
ASM-01 一个会员可以绑定多个学生
ASM-02 一个学生只能归属一个会员
ASM-03 学校、年级、班级数据相对稳定,变更频率低
ASM-04 区域数据以湖北省为主,其他省份按需扩展
ASM-05 第三方应用数量有限(预计 ≤ 20个

10. 验收标准

10.1 功能验收标准

验收项 验收标准
学校管理 所有功能点可正常使用,业务规则符合需求
会员管理 支持三种登录方式,身份类型逻辑正确
学生管理 批量导入功能正常,数据校验完整
应用管理 接口授权可控制API访问权限
基础数据 年级、班级、学科、区域CRUD正常
权限控制 三种角色权限划分符合需求

10.2 性能验收标准

验收项 验收标准
页面加载 首屏加载 ≤ 3秒
API响应 95%请求 ≤ 500ms
批量导入 1000条数据 ≤ 30秒

10.3 安全验收标准

验收项 验收标准
密码存储 密码使用BCrypt加密
登录保护 错误5次锁定10分钟
接口认证 所有API需Token/AppSecret认证
日志审计 敏感操作有审计记录

审核签字

角色 姓名 日期 签字
产品负责人
技术负责人
测试负责人
项目经理

文档结束