- 前后端所有"乐绘世界"统一更名为"智创未来" - 生产环境乐读派API地址更新为公网地址 - 公众端登录页调整用户名/密码字段显示逻辑 - 同步更新文档、测试用例、主题样式中的品牌名称 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
425 lines
18 KiB
Markdown
425 lines
18 KiB
Markdown
# 用户端 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
|
||
├── ...现有字段
|
||
├── userWorkId(NEW)— 关联用户作品库中的作品
|
||
└── 提交时复制一份快照,活动参赛作品与用户作品解耦
|
||
```
|
||
|
||
设计要点:
|
||
- 用户平时创作积累作品,活动来了直接选,降低参与门槛
|
||
- 同一个作品可以投多个活动(如果规则允许)
|
||
- 作品有独立生命周期,不依赖活动
|
||
- 提交到活动时复制快照,避免用户后续修改影响参赛版本
|
||
|
||
### 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)
|