From ce6e3ef70ae1aec293ef1d58bb16a2cf5268c675 Mon Sep 17 00:00:00 2001 From: Zhou Weidong <502333560@qq.com> Date: Fri, 23 Oct 2026 12:34:13 +0800 Subject: [PATCH] =?UTF-8?q?docs(api):=20=E5=90=8C=E6=AD=A5=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E5=8D=8F=E8=AE=AE=E6=92=AD=E6=94=BE=E4=B8=8E=E6=94=B6?= =?UTF-8?q?=E8=97=8F=E5=A5=91=E7=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/api-phase1.md | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/docs/api-phase1.md b/docs/api-phase1.md index 11d1a52..735e6e6 100644 --- a/docs/api-phase1.md +++ b/docs/api-phase1.md @@ -170,7 +170,7 @@ app.register.max-per-device-per-day | GET | `/app/feed?types=ANIME,LIVE&categoryId=7&cursor=&size=20` | 推荐流;支持内容类型与分类叠加过滤,游标翻页 | | GET | `/app/categories` | 分类列表 | | GET | `/app/dramas/{id}` | 详情(含剧集列表,免费集带**已签名**播放地址) | -| GET | `/app/search?keyword=&pageIndex=&pageSize=` | 搜索已上线短剧:按标题/简介模糊匹配,分页返回卡片列表 | +| GET | `/app/search?keyword=&pageIndex=&pageSize=` | **匿名**。搜索已上线短剧:按标题/简介模糊匹配,分页返回卡片列表 | > 卡片(`AppDramaCardVO`)统一新增 `language` 字段(取值如 `zh-CN` / `id`), > 首页、发现页、分类、收藏、搜索等所有下发卡片的场景都带该字段,客户端可据此做语言筛选。 @@ -264,7 +264,11 @@ app.register.max-per-device-per-day "accessible": true, "accessType": "FREE", "playUrl": "/files/episode/202610/xxx.mp4?e=1760000000&s=9f2c...", - "qualities": ["AUTO"], + "qualities": ["AUTO", "720p", "1080p"], + "tracks": [ + {"quality": "AUTO", "playUrl": "/files/transcoded/88/master.m3u8?e=1760000000&s=9f2c..."}, + {"quality": "720p", "playUrl": "/files/transcoded/88/720p/index.m3u8?e=1760000000&s=a1b2..."} + ], "thumbnailsUrl": "/files/transcoded/88/thumbnails/thumbnails.vtt?e=1760000000&s=8a1d...", "unlockCoin": 0, "previewSeconds": 0, @@ -296,6 +300,7 @@ app.register.max-per-device-per-day | POST | `/app/favorites/toggle` | 收藏/取消收藏,返回切换后状态 | | GET | `/app/favorites` | 收藏分页;`pageIndex` 默认 1,`pageSize` 默认 20、上限 100 | | DELETE | `/app/favorites/{dramaId}` | 取消收藏 | +| POST | `/app/favorites/remove` | 批量取消收藏,请求体 `{ "dramaIds": ["12", "15"] }` | 进度合并规则:同一集内只前进不后退;换集直接采纳新集;`finished` 只在接近片尾或客户端显式上报时置位。 这样用户换设备不会看到进度倒退。 @@ -354,6 +359,7 @@ app.register.max-per-device-per-day "dramaCover": "/files/drama_cover/12.jpg", "episodeNumber": 6, "totalEpisodes": 68, + "viewCount": "1800", "positionMs": "80000", "durationMs": "120000", "finished": false, @@ -375,6 +381,7 @@ app.register.max-per-device-per-day | `dramaCover` | string / null | 短剧封面 | | `episodeNumber` | int / null | 当前续看集号 `ep_no` | | `totalEpisodes` | int / null | 短剧总集数 | +| `viewCount` | Long(JSON 字符串)/ null | 短剧热度,取 `drama.view_count`。`playCount` 是用户自己的播放次数 | ### 1.6 离线下载(已实现) @@ -543,6 +550,17 @@ GET /app/notices?pageIndex=1&pageSize=20 `expire_at` 为空或未过期的公告;按 `publish_at desc, id desc` 排序。 **表里没有数据时返回 `total=0, list=[]`(HTTP 与 code 都是成功),不是 404。** +#### 1.9.2a 协议公开页(匿名 HTML) + +客户端按当前界面语言打开,不走 `{code,message,data}` 包装。正文在后台「协议设置」用 Markdown 维护,页面不另加标题。 + +| 方法 | 路径 | 说明 | +| --- | --- | --- | +| GET | `/privacy/{lang}` | 隐私协议。`lang` 为 `zh` / `en` / `id` | +| GET | `/terms/{lang}` | 服务条款。语言同上 | + +响应 `Content-Type: text/html;charset=UTF-8`。语言或路径不在上表时 HTTP 404。库里还没有该语言时返回内置缺省文案,不返回空页。 + #### 1.9.3 `POST /app/creator/apply`(登录) ```json @@ -604,6 +622,8 @@ GET /app/notices?pageIndex=1&pageSize=20 | 角色分类 | PUT · DELETE | `/admin/role-categories/{id}` | `system:role-category` | | 系统配置 | GET | `/admin/configs` | `system:role` / `system:menu` | | 系统配置 | PUT | `/admin/configs` | `system:role` | +| 协议 | GET | `/admin/legal-documents` | `system:role` / `system:menu` | +| 协议 | PUT | `/admin/legal-documents` | `system:role` | | 操作日志 | GET | `/admin/operation-logs/page` · `/{id}` | `log:list` | | 字典 | GET | `/admin/dicts/drama-category` · `/content-status` | `drama:list` |