feat: 07 创作者中心批 2(内容编辑 / 分集 / 提交审核)
为什么:批 1 只给了创作者"看"的能力(工作台、审核进度、通知),内容还是得后台代建。 批 2 补上"改":创作者自己建草稿、编分集、提交审核,后台只管审。落地过程中发现三个必须一起修的问题: 1. 【会卡死创作者】后台驳回提交时不动短剧状态,剧会永远停在 reviewing, 而批 2 里 reviewing 是只读 —— 创作者既改不了也提不了。现在驳回与撤回都会把剧退回 draft。 2. 【上线了却放不出来】C 端只播 status=published 的分集,但没有任何地方在剧上线时把分集带上线。 审核通过 PUBLISH 时,仍处于草稿的分集一并上线。 3. 【编辑会误删字段】底层 apply() 对 null 会写空串/默认值:只想改封面的一次调用会把标题、时长、 排序一起清掉(自测时两集排序都变成 1 才发现)。creator 侧改成"未传字段沿用现值"。 - 新增 CreatorContentService + /admin/creator-center 的 10 个写接口与 2 个读接口, 一律不接收 creatorId,归属走 requireMyDrama,改别人的作品/分集统一 403 - 状态闸:只有 draft / offline 可直接编辑;reviewing / approved / published 只读并给出下一步动作 - 提交矩阵:draft→CREATE(首次)/UPDATE/PUBLISH,offline→UPDATE/PUBLISH,reviewing/approved→PUBLISH,published→OFFLINE; 同剧同时只允许一条在审提交;撤回后作品退回草稿,支持撤回重提 - 权限点 creator-center:drama:edit(创作者角色 + 超管),docs/api-phase1.md 2.10 补批 2 接口与规则表 - 分集收费与试看秒数本批不碰(批 3 的收费配置页负责),新增分集默认免费,避免误定价
This commit is contained in:
1 parent
ea875c3e2b
commit
255bcbf02b
11 files changed
+616
-5
No files matched your search
+34
-2
@@ -354,7 +354,7 @@ POST /app/auth/register
|
||||
菜单、权限点与超管授权由 `sql/data-phase1.sql` 幂等落库(内容治理 / 订单与权益 / 数据看板挂菜单 id 20–25,创作者两条为 17–19)。
|
||||
页面只读态与可操作态按权限点区分:没有 `*:update` / `*:audit` 的角色进入页面时按钮隐藏或显示「只读」。
|
||||
|
||||
### 2.10 创作者中心(批 1 已实现:工作台)
|
||||
### 2.10 创作者中心(批 1 + 批 2 已实现:工作台 / 内容编辑与提交)
|
||||
|
||||
创作者 Web 端做在后台管理里(`ReelShortWeb`),身份复用 `sys_admin_user`:
|
||||
`creator.admin_user_id` 绑定后台账号(部分唯一索引,0 = 未绑定),角色 `creator` 只拿 `creator-center:*` 权限点。
|
||||
@@ -373,7 +373,39 @@ POST /app/auth/register
|
||||
通知不新建表:第一阶段由 `creator`(入驻审核)与 `content_submission`(内容提交审核)派生;
|
||||
系统公告 `ops_notice` 目前没有产出方,等有公告功能再接。
|
||||
|
||||
**进度**:批 2(内容编辑与分集、提交审核)、批 3(分片上传、分集收费)、批 4(创作者数据看板)、批 5(前端页面)未开始。
|
||||
**内容编辑与提交(批 2)**
|
||||
|
||||
| 方法 | 路径 | 权限点 | 说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| POST | `/admin/creator-center/dramas` | `creator-center:drama:edit` | 新建草稿(归属写自己,状态固定 `draft`) |
|
||||
| PUT | `/admin/creator-center/dramas/{id}` | `creator-center:drama:edit` | 编辑作品信息(**未传的字段沿用现值**) |
|
||||
| GET | `/admin/creator-center/dramas/{id}/episodes` | `creator-center:view` | 分集列表 |
|
||||
| POST | `/admin/creator-center/dramas/{id}/episodes` | `creator-center:drama:edit` | 新增分集(不传集号则排到最大集号之后,默认免费) |
|
||||
| PUT | `/admin/creator-center/dramas/{id}/episodes/{episodeId}` | `creator-center:drama:edit` | 编辑分集(时长 / 封面 / 片源 / 排序;未传字段沿用现值) |
|
||||
| DELETE | `/admin/creator-center/dramas/{id}/episodes/{episodeId}` | `creator-center:drama:edit` | 删除分集 |
|
||||
| PUT | `/admin/creator-center/dramas/{id}/episodes/sort` | `creator-center:drama:edit` | 批量排序(列表里出现不属于该剧的分集直接 403) |
|
||||
| POST | `/admin/creator-center/dramas/{id}/submit` | `creator-center:drama:edit` | 提交审核,`type` = `CREATE` / `UPDATE` / `PUBLISH` / `OFFLINE` |
|
||||
| POST | `/admin/creator-center/submissions/{id}/withdraw` | `creator-center:drama:edit` | 撤回自己的提交(撤回后作品退回草稿) |
|
||||
| GET | `/admin/creator-center/dramas/{id}/submissions` | `creator-center:view` | 我的提交历史(审核进度) |
|
||||
|
||||
**可编辑状态闸**:只有 `draft`(草稿)与 `offline`(已下线)能直接改内容;`reviewing` 提示"提交正在审核中,请先撤回再改",
|
||||
`approved` 不可编辑,`published` 提示"已上线的作品只读,请先提交「申请下线」"(错误码统一 `200003`)。
|
||||
|
||||
**提交矩阵**(状态 → 允许的提交类型):
|
||||
|
||||
| 作品状态 | 允许提交 | 提交后 |
|
||||
| --- | --- | --- |
|
||||
| `draft` | `CREATE`(仅首次)/ `UPDATE` / `PUBLISH` | 作品转 `reviewing` |
|
||||
| `offline` | `UPDATE` / `PUBLISH` | 作品转 `reviewing` |
|
||||
| `reviewing` | `PUBLISH`(内容审核通过后再申请上线) | 保持 `reviewing`,等后台上线审核 |
|
||||
| `approved` | `PUBLISH` | 保持 `approved`,等后台上线审核 |
|
||||
| `published` | `OFFLINE` | 保持 `published`,等后台下线审核 |
|
||||
|
||||
同一部剧**同时只能有一条在审提交**;提交后按其类型落到短剧状态机(审核动作仍在后台,创作者侧不新造状态)。
|
||||
后台审核 `PUBLISH` 通过时,该剧仍处于 `draft` 的分集**一并上线**(否则会出现"剧上线了却一集都播不了");
|
||||
后台**驳回**或创作者**撤回**时,处于 `reviewing` 的剧退回 `draft`,避免创作者卡在只读状态。
|
||||
|
||||
**进度**:批 3(分片上传、分集收费配置)、批 4(创作者数据看板)、批 5(前端页面)未开始。
|
||||
|
||||
## 3. 契约与实现状态对照
|
||||
|
||||
|
||||
Reference in new issue
Block a user