diff --git a/docs/api-phase1.md b/docs/api-phase1.md index 51d5bad..2e67a49 100644 --- a/docs/api-phase1.md +++ b/docs/api-phase1.md @@ -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 认证与系统(已实现)