# 作品货架统一 2026-04-25 ## 背景 创作中心目前已经把 RPG、大鱼吃小鱼、拼图三类作品展示在同一个网格里,但前端组件仍直接消费三类原始 works: 1. RPG 使用 `status`、`title`、`subtitle`、`canEnterWorld`。 2. 大鱼使用 `status`、`title`、资源完成度字段。 3. 拼图使用 `publicationStatus`、`levelName`、`authorDisplayName`、`themeTags`。 这导致筛选、计数、按钮文案、卡片标题、副标题、标签、删除忙碌态都在 UI 组件里做三套判断。后续再接新作品类型时,货架组件会继续膨胀。 ## 目标 1. 新增前端统一作品货架视图模型 `CreationWorkShelfItem`。 2. 由归一化函数把 RPG / Big Fish / Puzzle works 映射成统一字段。 3. `CustomWorldCreationHub` 只负责筛选、空态和动作分发。 4. `CustomWorldWorkCard` 只负责渲染统一字段,不再理解三类原始 schema。 ## 非目标 1. 本轮不新增后端统一 works 聚合接口。 2. 不改变三类现有 works API contract。 3. 不改变平台首页公开广场的 gallery 合并逻辑。 4. 不改变删除、体验、恢复草稿的业务规则。 ## 统一字段 `CreationWorkShelfItem` 至少包含: 1. `id`:稳定货架 id。 2. `kind`:`rpg | big-fish | puzzle`。 3. `status`:`draft | published`。 4. `title / subtitle / summary / updatedAt`。 5. `coverImageSrc / coverRenderMode / coverCharacterImageSrcs`。 6. `badges`:状态、类型、阶段、标签等展示徽标。 7. `metrics`:角色数、地点数、素材完成度、游玩数等底部指标。 8. `openActionLabel`:卡片无障碍文案与主动作语义。 9. `source`:保留原始 work,用于平台壳层执行动作。 ## 验收 1. 创作中心三类作品仍在同一个网格展示。 2. 草稿 / 已发布筛选计数统一从 `CreationWorkShelfItem.status` 读取。 3. 卡片渲染不再直接判断 `publicationStatus` 或不同 works schema 的标题字段。 4. 现有创作中心交互测试通过。