diff --git a/docs/api-phase1.md b/docs/api-phase1.md index 295977c..39291b7 100644 --- a/docs/api-phase1.md +++ b/docs/api-phase1.md @@ -461,7 +461,23 @@ POST /app/auth/register 取不到的一律 `null` 并在 `notes` 说明缺什么、怎么补,**不用 0 冒充**(与运营大盘同口径)。 -**进度**:批 5(前端页面)未开始。 +**创作者中心前端页面(批 5 已实现)** + +`ReelShortWeb` 里新增四个页面(菜单 id 26–30,`sql/data-phase1.sql` 幂等落库),沿用 `AppUsersView` 的 +「api 封装 + composable + 视图 + 样式」写法与 `console.css`: + +| 页面 | 路由 | 菜单组件路径 | 依赖权限点 | 覆盖接口 | +| --- | --- | --- | --- | --- | +| 我的作品 | `/creator-center/workspace` | `views/creator-center/WorkspaceView` | `creator-center:view` `creator-center:drama:edit` | 主体信息、作品列表(含审核进度)、通知、新建草稿、提交 / 撤回 | +| 作品编辑 | `/creator-center/dramas/:id` | `views/creator-center/DramaEditView` | `creator-center:drama:edit` `creator-center:upload` | 作品信息、分集增删改与排序、分片上传(含断点续传)、产物挂载、提交记录 | +| 收费配置 | `/creator-center/prices` | `views/creator-center/PriceConfigView` | `creator-center:price:update` | 免费集数、解锁金币、试看秒数 | +| 数据看板 | `/creator-center/dashboard` | `views/creator-center/DashboardView` | `creator-center:stat:view` | 看板概览(只读,缺口显示「暂无数据源」) | + +**创作者角色只挂这五条菜单**(含一条 `visible=0` 的隐藏路由):登录后侧边栏只有「创作者中心」, +看不到运营后台的任何菜单 —— 实测创作者菜单 JSON 里只有 `/creator-center` 及其子项,超管才拿得到全部。 +「作品编辑」是详情页,用 `visible=0` 下发(后端把它翻译成 `meta.hidden`),路由照常注册、侧边栏不显示。 + +**本阶段进度**:07 全部 5 批完成,第一阶段 05 / 06 / 07 / 08 四块闭环。 ## 3. 契约与实现状态对照 @@ -473,7 +489,7 @@ POST /app/auth/register | 04 播放器与播放控制 | 已建 | 已冻结 | 票据 + 签名 + 进度 已实现;多码率依赖转码 worker | | 05 记录、收藏与下载 | 已建 | 已冻结 | **已实现**:进度、观看流水、收藏、离线下载授权与任务 | | 06 评论、点赞与分享 | 已建 | 已冻结 | **已实现**:评论(游标翻页/审核/删除)、点赞、举报、敏感词;分享埋点在下一批 | -| 07 创作者中心 | 已建 | 已冻结 | 下一批(转码任务与产物记账已实现) | +| 07 创作者中心 | 已建 | 已冻结 | **已实现**:创作者工作台(我的作品 / 审核进度 / 通知)、内容编辑与分集管理、分片上传与断点续传、提交审核与上下架、分集收费与试看、数据看板;Web 端页面见 2.10,不含提现 / 结算 | | 08 平台运营后台 | 已建 | 已冻结 | **已实现**:后台接口(用户管理、内容治理、订单与权益、创作者与内容审核、数据看板)与后台页面(内容治理 / 订单与权益 / 创作者审核 / 数据看板,见 2.9)全部落地 | | 09 分集收费与支付 | 已建 | 已冻结 | 下一批(权益判定端口已预留,接上即生效) | | 10 质量、数据与上线 | 已建 | 已冻结 | 压测与埋点 下一批 | diff --git a/fruitshorts-module-creator/src/main/java/com/fruitshorts/creator/service/CreatorCenterService.java b/fruitshorts-module-creator/src/main/java/com/fruitshorts/creator/service/CreatorCenterService.java index 25ef472..a8495b3 100644 --- a/fruitshorts-module-creator/src/main/java/com/fruitshorts/creator/service/CreatorCenterService.java +++ b/fruitshorts-module-creator/src/main/java/com/fruitshorts/creator/service/CreatorCenterService.java @@ -177,7 +177,12 @@ public class CreatorCenterService { vo.setId(drama.getId()); vo.setCode(drama.getCode()); vo.setTitle(drama.getTitle()); + vo.setSubtitle(drama.getSubtitle()); + vo.setGenre(drama.getGenre()); + vo.setDescription(drama.getSynopsis()); vo.setCover(drama.getCoverUrl()); + vo.setTrailerUrl(drama.getTrailerUrl()); + vo.setLanguage(drama.getLanguage()); vo.setStatus(drama.getStatus()); vo.setStatusText(ContentStatus.textOf(drama.getStatus())); vo.setEpisodes(drama.getTotalEpisodes()); diff --git a/fruitshorts-module-creator/src/main/java/com/fruitshorts/creator/vo/CreatorCenterDramaVO.java b/fruitshorts-module-creator/src/main/java/com/fruitshorts/creator/vo/CreatorCenterDramaVO.java index f2bf54f..452c780 100644 --- a/fruitshorts-module-creator/src/main/java/com/fruitshorts/creator/vo/CreatorCenterDramaVO.java +++ b/fruitshorts-module-creator/src/main/java/com/fruitshorts/creator/vo/CreatorCenterDramaVO.java @@ -13,7 +13,14 @@ public class CreatorCenterDramaVO { private Long id; private String code; private String title; + private String subtitle; + private String genre; + /** 简介(实体字段是 synopsis) */ + private String description; private String cover; + /** 整剧预告片 */ + private String trailerUrl; + private String language; private String status; private String statusText; private Integer episodes; diff --git a/fruitshorts-module-system/src/main/java/com/fruitshorts/system/service/MenuService.java b/fruitshorts-module-system/src/main/java/com/fruitshorts/system/service/MenuService.java index b822e0f..b329636 100644 --- a/fruitshorts-module-system/src/main/java/com/fruitshorts/system/service/MenuService.java +++ b/fruitshorts-module-system/src/main/java/com/fruitshorts/system/service/MenuService.java @@ -74,9 +74,10 @@ public class MenuService { } private List