129 lines
4.9 KiB
Markdown
129 lines
4.9 KiB
Markdown
|
|
# 需求概述
|
|||
|
|
|
|||
|
|
## 1. 项目背景
|
|||
|
|
|
|||
|
|
广东省立中山图书馆(以下简称"广东省图")计划举办一场面向全国的少儿绘本创作活动。乐绘世界创想活动乐园作为活动管理平台,需要支撑从活动发布、用户注册、报名参与、作品提交、评审打分到成果发布的完整流程。
|
|||
|
|
|
|||
|
|
### 1.1 业务场景
|
|||
|
|
|
|||
|
|
- **活动主办方**:广东省图作为机构租户,负责活动的创建、发布和管理
|
|||
|
|
- **活动受众**:全国范围内的少儿(3-16岁),涵盖有手机号可独立注册的青少年和需要家长代为注册的幼儿
|
|||
|
|
- **活动形式**:线上报名 + 线上/线下提交绘本作品 + 线上评审 + 成果发布
|
|||
|
|
- **未来扩展**:可能涉及多机构联合举办活动
|
|||
|
|
|
|||
|
|
### 1.2 现有系统状态
|
|||
|
|
|
|||
|
|
系统原为"比赛管理系统",已完成以下改造:
|
|||
|
|
- 所有"比赛/赛事"文案改为"活动"
|
|||
|
|
- "个人赛/团队赛"改为"个人参与/团队参与"
|
|||
|
|
- "赛果发布"改为"成果发布"
|
|||
|
|
- UI 全面升级为少儿绘本创作主题风格(Nunito 字体、Creative Indigo #6366F1 主色调)
|
|||
|
|
|
|||
|
|
### 1.3 核心痛点
|
|||
|
|
|
|||
|
|
| 痛点 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| 无公众注册入口 | 现有系统用户只能由管理员创建,无法面向公众开放注册 |
|
|||
|
|
| 缺少家长-子女关系 | 少儿场景下,家长是操作主体,孩子是参与主体,现有系统没有这层关系 |
|
|||
|
|
| 无公众端 | 现有系统只有管理后台,缺少面向公众的 H5 页面 |
|
|||
|
|
| 活动可见范围受限 | 活动只能对指定租户发布,无法面向全体公众开放 |
|
|||
|
|
| 租户类型单一 | 租户不区分类型(图书馆、学校、幼儿园等) |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 2. 用户角色定义
|
|||
|
|
|
|||
|
|
### 2.1 平台管理员(超管)
|
|||
|
|
|
|||
|
|
乐绘世界运营团队成员。
|
|||
|
|
|
|||
|
|
**职责**:
|
|||
|
|
- 管理所有机构租户(创建、编辑、禁用)
|
|||
|
|
- 管理系统配置(字典、菜单、权限)
|
|||
|
|
- 查看全局数据和日志
|
|||
|
|
|
|||
|
|
### 2.2 机构管理员
|
|||
|
|
|
|||
|
|
入驻平台的机构(图书馆、幼儿园、学校等)的管理人员。
|
|||
|
|
|
|||
|
|
**职责**:
|
|||
|
|
- 创建和发布活动
|
|||
|
|
- 管理活动报名(审核、导出)
|
|||
|
|
- 管理评委(邀请、分配作品)
|
|||
|
|
- 发布活动成果
|
|||
|
|
|
|||
|
|
### 2.3 评委
|
|||
|
|
|
|||
|
|
受机构邀请参与某个活动评审的专业人员。
|
|||
|
|
|
|||
|
|
**职责**:
|
|||
|
|
- 评审分配给自己的作品
|
|||
|
|
- 使用评分规则打分
|
|||
|
|
- 使用预设评语
|
|||
|
|
|
|||
|
|
### 2.4 公众用户(家长/独立参与者)
|
|||
|
|
|
|||
|
|
通过公众端自主注册的用户。
|
|||
|
|
|
|||
|
|
**职责**:
|
|||
|
|
- 浏览公开活动
|
|||
|
|
- 以自己的身份报名活动(有手机号的青少年)
|
|||
|
|
- 管理子女信息,代子女报名活动(家长)
|
|||
|
|
- 提交作品
|
|||
|
|
- 查看活动成果和评审结果
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 3. 用户故事
|
|||
|
|
|
|||
|
|
### 3.1 公众用户注册与参与
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
US-001:作为一位家长,我希望用手机号注册一个账号,以便参与平台上的活动
|
|||
|
|
US-002:作为一位家长,我希望在账号下添加我的子女信息,以便为他们报名活动
|
|||
|
|
US-003:作为一位家长,我希望为我的孩子报名广东省图的绘本创作活动
|
|||
|
|
US-004:作为一位家长,我希望在活动提交阶段为我的孩子上传绘本作品
|
|||
|
|
US-005:作为一位家长,我希望查看我孩子参与的所有活动和作品状态
|
|||
|
|
US-006:作为一个有手机号的中学生,我希望自己注册账号并独立报名活动
|
|||
|
|
US-007:作为公众用户,我希望通过微信扫码快速登录,不需要记密码
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3.2 活动发布与管理
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
US-101:作为广东省图管理员,我希望创建一个绘本创作活动并设置为全国公开可见
|
|||
|
|
US-102:作为广东省图管理员,我希望审核来自全国各地的报名申请
|
|||
|
|
US-103:作为广东省图管理员,我希望邀请专业评委参与作品评审
|
|||
|
|
US-104:作为广东省图管理员,我希望查看报名数据并区分"自己报名"和"家长代报名"
|
|||
|
|
US-105:作为广东省图管理员,我希望发布活动成果,让所有参与者看到评审结果
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3.3 多机构联合举办(二期)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
US-201:作为主办方,我希望邀请其他机构作为协办方参与活动管理
|
|||
|
|
US-202:作为协办方,我希望查看活动的报名数据和推荐评委
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 4. 非功能需求
|
|||
|
|
|
|||
|
|
| 项目 | 要求 |
|
|||
|
|
|------|------|
|
|||
|
|
| 端支持 | Web 浏览器 + H5 移动端(响应式设计,一套代码适配) |
|
|||
|
|
| 登录方式 | 一期:账号密码;二期:手机号验证码 + 微信扫码 |
|
|||
|
|
| 并发 | 支撑全国范围报名,预计峰值 500 QPS |
|
|||
|
|
| 数据安全 | 少儿个人信息需加密存储,符合《个人信息保护法》对未成年人的保护要求 |
|
|||
|
|
| 浏览器兼容 | Chrome、Safari、微信内置浏览器 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 5. 约束与前提
|
|||
|
|
|
|||
|
|
1. 基于现有 NestJS + Vue3 + Ant Design Vue 技术栈改造,不更换框架
|
|||
|
|
2. 现有机构管理功能(学校管理、租户管理等)保留不变
|
|||
|
|
3. 登录体系采用渐进式改造:一期先用账号密码,二期补充手机号和微信登录
|
|||
|
|
4. 微信扫码登录和短信验证码功能由其他同事负责开发补充
|
|||
|
|
5. 公众端先做 H5 形态,不做原生小程序
|