library-picturebook-activity/docs/design/public/ugc-platform-upgrade.md
2026-04-09 16:44:44 +08:00

425 lines
18 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 用户端 UGC 社区升级 — 产品设计方案
> 所属端:用户端(公众端)+ 超管端
> 状态:需求已确认,待拆分开发计划
> 创建日期2026-03-27
> 最后更新2026-04-09
---
## 1. 背景与目标
### 1.1 现状
用户端(公众端 `/p/`)当前定位为**活动信息门户**,核心流程是:浏览活动 → 报名 → 上传作品文件 → 提交。用户只在有活动时才有使用动机,缺乏日常粘性。
### 1.2 升级目标
将用户端升级为**少儿绘本创作社区 + 活动参与平台**,形成"创作 → 发布 → 社区互动 → 活动参与"的完整闭环。
```
升级前:活动信息门户(低频、被动)
升级后:绘本创作社区 + 活动平台(高频、主动)
┌──────────────────────────────────────────────────┐
│ 乐绘世界 用户端 │
│ │
│ 创作工具 → 作品库 → 发布广场 → 社区互动 │
│ ↓ │
│ 活动中心 → 报名 → 从作品库选择作品提交 │
└──────────────────────────────────────────────────┘
```
### 1.3 对标产品
| 对标产品 | 参考维度 |
|---------|---------|
| 即梦 | AI 创作工具 + 作品发布 |
| 小红书 | UGC 内容发布 + 社区互动(点赞/收藏/评论)|
| 画世界Pro | 绘画工具 + 作品社区 |
| Canva Kids | 创作模板 + 作品分享 |
---
## 2. 用户端功能模块设计
### 2.1 整体信息架构
```
底部 Tab 导航H5
├── 🏠 首页(发现/推荐)
│ ├── 推荐作品瀑布流(个性化推荐)
│ ├── 精选专题/Banner
│ ├── 热门标签/分类
│ └── 搜索(按标签/作者/作品名)
├── ✏️ 创作(核心工具 — 移植自绘本创作机方案)
│ ├── 绘本创作
│ │ ├── Step 1: 上传画作(拍照/相册选择)
│ │ ├── Step 2: 语音/文字描述创作构思(角色、剧情等)
│ │ ├── Step 3: AI 生成完整绘本(原画封面 + AI 内页 + 文字 + 配音)
│ │ └── Step 4: 生成完毕 → 自动保存到作品库(私密状态)
│ ├── 我的草稿(生成中/未完成的创作)
│ └── 创作历史
├── 🏆 活动
│ ├── 活动大厅(现有功能)
│ ├── 活动详情 + 报名
│ └── 提交作品(从"我的作品库"选择)← 核心联动
├── 💬 消息
│ ├── 互动通知(谁赞了/收藏了/评论了我的作品)
│ ├── 系统通知(审核结果/活动通知)
│ └── 活动消息
└── 👤 我的
├── 个人主页(公开展示)
│ ├── 头像/昵称/简介/粉丝数/获赞数
│ └── 已发布作品网格
├── 我的作品库(私人)
│ ├── 已发布(公开的作品)
│ ├── 仅自己可见(私密保存)
│ └── 草稿箱
├── 我的收藏
├── 我的活动(报名记录/获奖记录)
├── 子女管理(家长场景)
└── 设置
```
### 2.2 作品数据模型(新增核心实体)
**用户作品UserWork**——区别于现有的活动参赛作品ContestWork是用户在平台上创作并保存的绘本作品
```
UserWork用户作品
├── id
├── userId — 创作者
├── childId? — 子女ID家长代管场景
├── title — 作品名称
├── coverUrl — 封面图
├── content — 绘本内容JSON分页结构
├── pages[] — 绘本页面数据
│ ├── pageNo
│ ├── imageUrl
│ ├── text配文
│ └── audioUrl?(配音)
├── tags[] — 标签(如:童话、科幻、自然、动物)
├── category — 分类
├── visibility — 可见性public / private / friends
├── status — 状态draft / pending_review / published / rejected / taken_down
├── reviewNote? — 审核备注
├── stats — 统计
│ ├── viewCount — 浏览量
│ ├── likeCount — 点赞数
│ ├── favoriteCount — 收藏数
│ ├── commentCount — 评论数
│ └── shareCount — 分享数
├── createTime / updateTime / publishTime
└── isDeleted
```
**实现说明(与库表对齐)**:当前后端表 `t_ugc_work.status`**整型**(如 `0` 草稿、`1` 待审、`3` 生成完成、`4` 已编目、`5` 已配音、`-1` 已拒绝、`-2` 已下架)。产品文档中的 **`published`(已发布/可对外展示)** 在查询与 API 筛选语义上对应 **`status ∈ {3, 4, 5}`**,且需配合 `visibility=public`、未删除;公众端广场与推荐接口按此过滤。勿与竞赛/作业等业务里使用的字符串型 `PublishStatus` 混用于 UGC 作品表。
**广场标签筛选**`GET /public/gallery` 支持查询参数 **`tagId`**,后端通过表 **`t_ugc_work_tag`**(作品—标签关联)过滤,仅返回绑定了该标签 ID 的公开已上架作品;与超管「标签管理」中的标签主键一致。
### 2.3 社区互动模型(新增)
```
UserWorkLike点赞
├── userId + workId唯一约束
UserWorkFavorite收藏
├── userId + workId唯一约束
UserWorkComment评论
├── id / workId / userId / content / parentId支持回复嵌套
├── status: pending / approved / rejected
├── createTime
UserFollow关注
├── followerId + followingId唯一约束
UserWorkShare分享记录
├── userId / workId / platform / createTime
```
### 2.4 活动提交联动
核心场景变化:
```
现在:活动报名 → 上传作品文件 → 提交
升级后:活动报名 → 从我的作品库选择作品 → 提交
```
ContestWork活动参赛作品新增关联
```
ContestWork
├── ...现有字段
├── userWorkIdNEW— 关联用户作品库中的作品
└── 提交时复制一份快照,活动参赛作品与用户作品解耦
```
设计要点:
- 用户平时创作积累作品,活动来了直接选,降低参与门槛
- 同一个作品可以投多个活动(如果规则允许)
- 作品有独立生命周期,不依赖活动
- 提交到活动时复制快照,避免用户后续修改影响参赛版本
### 2.5 子女账号独立化(重大架构变更)
现有 Child 表从数据附属升级为独立 User
```
升级前:
家长(User) → children表 → Child仅数据无账号
家长代子女报名、代子女提交作品
升级后:
家长(User) → 管理关系 → 子女(User独立账号)
子女有自己的:账号密码、作品库、个人主页、活动报名能力
家长保留:账号管理(创建/禁用子女账号)、内容管控(全局开关)
```
新增数据模型:
```
UserParentChild家长-子女管理关系)
├── parentUserId — 家长 User.id
├── childUserId — 子女 User.id
├── relationship — 关系father/mother/guardian
├── controlMode — 管控模式open(子女自主) / restricted(需家长确认)
└── createTime
```
登录方式:
- 家长登录后可切换到子女身份(类似 Netflix 多档案)
- 子女也可独立登录(有自己的用户名密码)
- 14 岁以下建议家长切换模式14 岁以上支持独立登录
社区展示:
- 只显示子女昵称和头像,家长信息后台可见
- 子女个人主页是独立的
### 2.6 少儿安全设计
参考 COPPA 2025 更新规则和行业最佳实践:
| 安全措施 | 说明 |
|---------|------|
| **家长管控** | 14岁以下用户的公开发布需家长确认家长可设置子女账号为"仅自己可见"模式 |
| **内容预审** | 所有用户发布的作品必须经过审核后才能在公开广场展示(先审后发) |
| **评论管控** | 评论默认经过审核后可见;家长可关闭子女作品的评论功能 |
| **隐私保护** | 不展示真实姓名,使用昵称;不展示精确位置;头像使用系统预设或创作 |
| **举报机制** | 任何人可举报不当内容/评论,进入审核队列 |
| **敏感词过滤** | 评论和作品描述经过关键词过滤 |
---
## 3. 超管端新增模块设计
用户端变成 UGC 社区后,超管端需要新增**内容运营和安全治理**能力。
### 3.1 新增菜单结构
```
现有菜单保持不变
├── 活动监管
├── 机构管理
├── 用户中心
└── 系统设置
新增:
├── 内容管理
│ ├── 作品审核 — 待审核/已通过/已拒绝的作品队列
│ ├── 评论审核 — 待审核/已通过/已拒绝的评论队列
│ ├── 举报处理 — 用户举报的内容/评论处理
│ ├── 作品管理 — 全平台已发布作品的查看/下架
│ └── 标签管理 — 作品标签/分类的维护
└── 数据运营P2后续规划
├── 内容数据 — 发布量/互动量/增长趋势
├── 用户数据 — 活跃用户/创作者分层
└── 推荐配置 — 精选推荐/Banner/专题管理
```
### 3.2 作品审核模块(核心)
**审核流程**
```
用户点击"发布" → 状态变为 pending_review
→ 机器预审(敏感词/图像识别)→ 标记预审结果
→ 进入人工审核队列
→ 审核员操作通过published/ 拒绝rejected + 拒绝原因)
→ 通知用户审核结果
```
**页面设计**
```
┌─ 作品审核页面 ─────────────────────────────────────────┐
│ │
│ 统计卡片:[待审核 28] [今日已审 56] [已拒绝 3] │
│ │
│ 筛选:审核状态 / 提交时间 / 作者 │
│ │
│ 审核队列(列表) │
│ ┌─────────────────────────────────────────────────┐ │
│ │ [封面缩略图] 作品名称 作者: xxx │ │
│ │ 3页绘本 / 标签 提交: 2026-03-27 │ │
│ │ [通过] [拒绝] [查看详情] │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ 审核详情(右侧 Drawer
│ ├── 作品预览(翻页浏览绘本每一页) │
│ ├── 作者信息 │
│ ├── 机器预审结果(安全/疑似违规/标记原因) │
│ └── 审核操作:通过 / 拒绝(选择拒绝原因) │
└─────────────────────────────────────────────────────────┘
```
**拒绝原因预设**
- 含不适宜未成年人的内容
- 含个人隐私信息(真实姓名/地址/电话)
- 涉嫌抄袭/侵权
- 内容质量不符合发布标准
- 其他(自定义填写)
### 3.3 评论审核模块
```
评论审核页面
├── 统计卡片:待审核 / 今日已审 / 已拒绝
├── 审核队列
│ ├── 评论内容 / 评论者 / 所属作品
│ ├── 机器预审结果
│ └── 操作:通过 / 拒绝 / 删除
└── 批量操作:批量通过 / 批量拒绝
```
### 3.4 举报处理模块
```
举报处理页面
├── 统计卡片:待处理 / 已处理 / 已忽略
├── 举报队列
│ ├── 举报类型(作品/评论/用户)
│ ├── 举报原因
│ ├── 被举报内容预览
│ ├── 举报人信息 / 被举报人信息
│ └── 操作:下架内容 / 警告用户 / 封禁用户 / 忽略
└── 处理记录(可追溯)
```
### 3.5 作品管理模块(已发布作品)
```
作品管理页面(全平台已发布作品)
├── 统计卡片:总作品数 / 今日新增 / 累计浏览
├── 筛选:作者/标签/分类/发布时间/排序(最新/最热)
├── 作品列表
│ ├── 封面 + 标题 + 作者 + 标签
│ ├── 数据:浏览/点赞/收藏/评论/分享
│ └── 操作:查看详情 / 下架 / 置顶推荐
└── 作品详情 Drawer
```
### 3.6 标签管理模块
```
标签管理页面
├── 标签分类树(一级分类 → 二级标签)
├── 新增/编辑/删除标签
├── 标签排序(影响用户端展示顺序)
└── 标签使用统计(多少作品使用了该标签)
```
---
## 4. 数据库新增表汇总
| 表 | 说明 | 优先级 |
|----|------|--------|
| `user_works` | 用户作品主表 | P0 |
| `user_work_pages` | 绘本分页内容 | P0 |
| `user_work_likes` | 点赞记录 | P1 |
| `user_work_favorites` | 收藏记录 | P1 |
| `user_work_comments` | 评论(支持回复嵌套) | P1 |
| `user_work_shares` | 分享记录 | P1 |
| `user_work_reports` | 举报记录 | P1 |
| `user_follows` | 用户关注关系 | P2 |
| `work_tags` | 标签表 | P0 |
| `work_tag_relations` | 作品-标签关联 | P0 |
| `content_review_logs` | 审核操作日志 | P0 |
---
## 5. 实施优先级
### P0 — 最小闭环(创作→发布→审核→展示→活动联动)
| 模块 | 端 | 说明 |
|------|-----|------|
| 用户作品库 | 用户端 | 创作/上传绘本、保存到个人作品库 |
| 作品发布 | 用户端 | 设置标签/可见性后发布,进入审核队列 |
| 作品广场(首页) | 用户端 | 推荐流展示已审核通过的公开作品 |
| 活动提交联动 | 用户端 | 从作品库选择作品提交到活动 |
| 作品审核 | 超管端 | 审核队列 + 通过/拒绝 + 审核详情 |
| 作品管理 | 超管端 | 已发布作品查看/下架 |
| 标签管理 | 超管端 | 维护标签体系 |
### P1 — 社区互动 + 安全保障
| 模块 | 端 | 说明 |
|------|-----|------|
| 点赞/收藏 | 用户端 | 对作品点赞、收藏到"我的收藏" |
| 评论 | 用户端 | 预设评语 + 简短文字评论 |
| 消息通知 | 用户端 | 互动通知 + 审核结果通知 |
| 评论审核 | 超管端 | 评论审核队列 |
| 举报处理 | 超管端 | 举报队列 + 处理操作 |
### P2 — 进阶能力
| 模块 | 端 | 说明 |
|------|-----|------|
| AI 辅助创作 | 用户端 | 文生图/风格迁移/智能上色 |
| 用户关注/粉丝 | 用户端 | 关注关系 + 粉丝列表 |
| 分享 | 用户端 | 生成分享海报/链接 |
| 数据运营 | 超管端 | 内容数据/用户数据/推荐配置 |
---
## 6. 关键设计决策(已确认)
| 决策点 | 结论 | 备注 |
|--------|------|------|
| **创作流程** | 用户画画 + 语音描述构思(角色/剧情)→ AI 生成完整绘本 | 同事已有绘本创作机方案,移植到 H5 |
| **AI 输出** | 原画作封面 + AI 提取角色/画风生成内页 + 每页文字 + 每页配音 | 文字+插图+配音完整多媒体绘本 |
| **用户参与度** | P0 一次生成不可调整,后续迭代到可逐页微调 | |
| **生成后归属** | 自动存入用户作品库(私密状态),用户主动选择发布 | 发布时选标签/可见性 |
| **子女账号** | 从 Child 数据附属升级为独立 User有自己的作品库和个人主页 | 重大架构决策 |
| **子女登录** | 家长端切换 + 子女独立登录 都支持 | 幼儿由家长切换,青少年自己登录 |
| **社区展示** | 只显示子女昵称和头像,家长信息后台可见 | 隐私保护 |
| **活动报名** | 子女自主报名、自主从作品库选作品提交 | 家长角色回归账号管理和内容管控 |
| **审核模式** | 先审后发 | 少儿平台安全优先 |
| **作品与活动** | 快照复制 | 提交到活动时复制快照,避免修改影响参赛版本 |
| **评论体系** | 预设评语 + 简短文字 | 降低审核压力 |
| **家长管控** | P0 全局开关P1 细粒度 | |
| **技术形态** | H5 先行,后续可能小程序或 APP | 效率优先 |
| **AI 能力** | 同事已有现成方案(模型/图片生成/语音合成),直接接入 | |
---
## 7. 参考资料
- [事关下一代的儿童绘本需不需要AI创作- 36氪](https://36kr.com/p/3540030369853321)
- [COPPA Compliance in 2025: A Practical Guide](https://blog.promise.legal/startup-central/coppa-compliance-in-2025-a-practical-guide-for-tech-edtech-and-kids-apps/)
- [PMs Guide to Content Moderation Solutions](https://safer.io/resources/the-product-managers-guide-to-choosing-content-moderation-solutions/)
- [Internet Safety for Kids: Content Moderation](https://www.webpurify.com/blog/internet-safety-for-kids/)
- [How Do I Design Apps That Kids Can Use Safely?](https://thisisglance.com/learning-centre/how-do-i-design-apps-that-kids-can-use-safely)
- [从0到1构建UGC内容生态 - 人人都是产品经理](https://www.woshipm.com/operate/5757835.html)
- [UGC内容质量提升策略设计 - 人人都是产品经理](https://www.woshipm.com/pd/5880165.html)
- [AI原生应用在UGC内容审核中的实战经验](https://blog.csdn.net/2502_92021348/article/details/151071060)