18 KiB
18 KiB
用户端 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 作品表。
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 能力 | 同事已有现成方案(模型/图片生成/语音合成),直接接入 |