docs(api): 移除 /app/creator/works 与 /app/creator/stats 的 C 端定义
创作者中心(工作台 / 作品管理 / 数据看板)由 Web 端承载,创作者登录后台管理使用 (见 api-phase1.md §2.10),App 客户端不提供创作者中心。因此契约 §1.9 去掉这两条, 只保留「创作者入驻申请 + 启动配置 + 系统公告」;§1.9 标题与说明同步修正, apply 幂等表里"已通过"一行改为指向 Web 端。 为什么要改:原定义要求 App 侧再实现一份「创作者数据看板」,虽与后台 07 看板同口径, 但代码完全独立,两份长期必然漂移(后台数字与创作者看到的数字对不上是信任问题)。 按产品口径创作者中心不上 App,这份重复实现没有存在意义,移除即从根上消除漂移风险, 也避免前端照旧契约开发后返工。
This commit is contained in:
1 parent
14b5e4137f
commit
bb219203bc
1 file changed
+9
-36
+9
-36
@@ -260,16 +260,19 @@ B1-2 的退款/拒付复验依赖它。服务端凭据(`packageName` + service
|
||||
服务端按 `(platform, storeTransactionId)` 识别"权益已发过",**返回既有订单、不重复发币**;
|
||||
若商店侧有购买而本地没有订单(例如换机前没同步),会**按校验结果补单落库**再发放,不需要人工介入。
|
||||
|
||||
### 1.9 创作者(C 端,已实现)
|
||||
### 1.9 创作者入驻、启动配置与公告(C 端,已实现)
|
||||
|
||||
> 说明:本节原来把 `/app/orders`、`/app/wallet`、`/app/episodes/{id}/unlock` 也列在这里,
|
||||
> 那三条**属「金币与订单」,已在 §1.8 实现并冻结**,因此已从本节移出(本节只讲创作者 + 启动配置 + 公告)。
|
||||
> 说明 1:本节原来把 `/app/orders`、`/app/wallet`、`/app/episodes/{id}/unlock` 也列在这里,
|
||||
> 那三条**属「金币与订单」,已在 §1.8 实现并冻结**,因此已从本节移出。
|
||||
>
|
||||
> 说明 2(**口径变更 2026-10-16**):**创作者中心(工作台 / 作品管理 / 数据看板)由 Web 端承载** ——
|
||||
> 创作者登录后台管理使用,见 §2.10;**App 客户端不提供创作者中心**。
|
||||
> 因此本节**已移除** `GET /app/creator/works`、`GET /app/creator/stats` 两条原定义。
|
||||
> C 端只保留「入驻申请」+「启动配置」+「系统公告」,下面三条即全部。
|
||||
|
||||
| 方法 | 路径 | 鉴权 | 说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| POST | `/app/creator/apply` | 登录 | 创作者入驻申请(**幂等**:重复提交返回当前状态,不重复建档) |
|
||||
| GET | `/app/creator/works` | 登录 | 我的作品与审核状态(**非生效创作者直接报错**,不返回空列表) |
|
||||
| GET | `/app/creator/stats` | 登录 | 创作者数据看板(与后台 07 看板同口径,只读、仅本人作品) |
|
||||
| GET | `/app/config` | **匿名** | 启动配置(协议版本、最低版本、开关;**只下发白名单键**) |
|
||||
| GET | `/app/notices` | **匿名** | 系统公告(无数据返回空列表,不是 404) |
|
||||
|
||||
@@ -355,40 +358,10 @@ GET /app/notices?pageIndex=1&pageSize=20
|
||||
| --- | --- |
|
||||
| 首次申请 | 建档,`status=pending`,返回 `{id, code, status, statusText, auditNote, appliedAt}` |
|
||||
| 已申请(pending) | **返回当前状态**,不重复建档、不改动已有记录 |
|
||||
| 已通过(approved) | 返回 `status=approved`(客户端据此直接进创作者中心) |
|
||||
| 已通过(approved) | 返回 `status=approved`(**创作者工作台在 Web 端**,见 §2.10;App 端只提示"已通过,请到创作者后台使用") |
|
||||
| 被驳回 / 冻结 | 返回当前状态与 `auditNote`(是否允许重新申请由运营在后台处理,本期不做二次申请) |
|
||||
| 并发重复提交 | 唯一索引兜底:捕获冲突后**读回已有记录返回**,不报 500 |
|
||||
|
||||
#### 1.9.4 `GET /app/creator/works`(登录)
|
||||
|
||||
```
|
||||
GET /app/creator/works?pageIndex=1&pageSize=10&keyword=&status=
|
||||
```
|
||||
|
||||
分页与筛选口径**与管理端 `/admin/creator-center/dramas/page` 完全一致**(同一套查询与 VO 形状:
|
||||
`id/code/title/subtitle/genre/description/cover/trailerUrl/language/status/statusText/episodes/views/updatedAt`)。
|
||||
|
||||
**归属与鉴权**:`creator.user_id = 当前登录的 C 端账号`,**接口不接收 creatorId**;
|
||||
所有查询都收敛到"我的作品",因此天然不会返回他人作品。
|
||||
|
||||
**非生效创作者必须报错(不返回空数组)**:
|
||||
|
||||
| 状态 | `code` | 提示 |
|
||||
| --- | --- | --- |
|
||||
| 未申请 | `200007` | 尚未提交创作者入驻申请 |
|
||||
| `pending` | `200007` | 入驻申请审核中,请耐心等待 |
|
||||
| `rejected` | `200007` | 入驻申请未通过:{auditNote} |
|
||||
| `frozen` | `200007` | 创作者账号已冻结,请联系运营 |
|
||||
|
||||
> `200007 CREATOR_NOT_ACTIVE`:C 端专用「当前账号不是生效中的创作者」。
|
||||
> 与后台的 `200004 CREATOR_NOT_BOUND`(当前账号未绑定创作者主体)区分开,客户端据此决定"引导申请"还是"提示等待"。
|
||||
|
||||
#### 1.9.5 `GET /app/creator/stats`(登录)
|
||||
|
||||
**指标口径与后台 07 创作者中心数据看板完全一致**(实现上共用同一份计算:`CreatorDashboardQueryService`),
|
||||
字段与语义见 §2.7 创作者数据看板说明;**只读、且只统计本人作品**。
|
||||
非生效创作者同样返回 `200007`。
|
||||
|
||||
## 2. 后台管理接口(/admin/**)
|
||||
|
||||
### 2.1 认证与系统(已实现)
|
||||
|
||||
Reference in new issue
Block a user