# 需求概述

## 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 形态，不做原生小程序
