资源中台概览
资源收集与业务系统调用驾驶舱
接入业务系统
--
有效租户
收集资源总数
--
累计统一资源
业务调用量
--
资源 API + 媒体
平均响应时间
--
所选周期全部业务请求
调用趋势
资源 API图片调用视频调用
资源构成
业务系统调用排行 按调用量排序
| 业务系统 | 调用次数 | 成功率 | 平均响应 |
|---|
暂无调用数据
资源同步中心
统一管理 Plexadel 黑料库、黑料短剧、无界资源与老司机资源库
黑料库 · Plexadel
黑料短剧
无界资源
老司机资源库
来源配置
启用自动同步
新建同步
从上游抓取最新一批资源,自动写入中台资源库。
同步批次
| 批次 | 来源 / 方式 | 进度 | 状态 | 更新时间 | 操作 |
|---|
暂无同步批次
资源管理
检查中台已拉取的标题、缩略图、媒体组成及源数据
黑料库 · Plexadel
黑料短剧
无界资源
老司机资源库
暂无资源
接入运维
采集与后台、独立签发、主备媒体网关分别观测
告警汇总
运行健康与材料ACK
健康、版本及连接指标来自独立实时探测;ACK是材料安装证据。带宽由同进程连续两次刷新累计字节计算,不是链路峰值验收。
| 服务 / 节点 | 实际探测 | 运行版本 | 连接 / 传输 | 安全材料ACK |
|---|
来源与历史刷新覆盖
| 来源实例 | 成功核对 / 库存 | 最旧核对滞后 | 当前批次 | 支持类型与限制 |
|---|
逐版本与分集准备
纯正文须本站材料与中央正文租约。清理只检查资格,不执行物理删除。
安全策略与复审代次
恢复只解除中台拒绝,不代替业务复审。媒体恢复必须重新核实真实包和上游就绪状态;已撤销Key永久失效。
| 主体 | 策略 | 复审代次 | 操作 |
|---|
最近管理审计
| 时间 | 操作 | 目标 | 版本 / 结果 |
|---|
租户与 API Key
为每个业务方创建独立访问密钥和来源权限
接入权限管理
新接口实例、能力和用途各自显式授权;旧 /v1 权限保留独立范围。修改使用当前policy_revision,过期页面会被拒绝。
| 租户 / 版本 | 角色 / 状态 | 实例范围 | 能力 / 用途 | 管理 |
|---|
租户配置与凭据
新接口能力
用途
旧 /v1 来源范围(不会自动升级新接口权限)
访问凭据
兼容入口:仅创建新的旧 /v1 租户
API Key 仅显示一次
请立即复制并安全交给业务后端,关闭或刷新页面后无法再次查看。
接口文档
业务后端通过统一 API 拉取黑料库、黑料短剧、无界与老司机资源
旧接口接入流程(兼容)
- 管理员在“租户与 API Key”创建业务方密钥,并勾选允许访问的来源。
- 业务后端使用
Authorization: Bearer <API_KEY>调用资源中台。 - 首次调用增量接口时不传
cursor,之后原样保存并回传next_cursor。 - 业务后端保存统一资源,前端只使用审核上架后的数据和块内
media_url。
API Key 只放业务后端,禁止写入网页、App 或小程序前端代码。
公共接口
GET /v1/sources查询当前租户被授权的来源:black、black-drama、wujie、lsj。黑料短剧须单独授权。
GET /v1/resources?source=black-drama&limit=50按黑料短剧来源读取已同步剧目。
GET /v1/resources?source=lsj&limit=50浏览最近资源。source 支持逗号分隔;limit 默认 50、最大 200。
GET /v1/resources/{id}?include=source_payload按统一 ID 获取详情;仅排查上游数据时增加 include=source_payload。
GET /v1/changes?source=black,wujie,lsj&limit=100&cursor=...首次全量及后续增量同步。limit 默认 100、最大 500;cursor 必须原样传回。
GET /v1/media/{token}读取块内 media_url 或 cover_url 指向的图片、HLS 视频和音频;业务方不要自行拼接媒体地址。
统一资源契约
idblack/wujie:source:<source_id>;黑料短剧:black-drama:<postId>;老司机:lsj:<content_type>:<source_id>。
source / source_id / content_type黑料短剧 content_type 固定为 movie;老司机取值:movie / post / novel / audio / comics。
title / summary / tags / status / version清洗后的标题、摘要、标签、状态及内容版本。
source_updated_at / fetched_at上游更新时间与中台拉取时间,均为 Unix 秒。
blocks[]按上游顺序返回;type=text / image / video / audio。
blocks[].text / asset_id / media_url / cover_asset_id / cover_url文本块读取 text;媒体块直接使用 media_url,视频或音频封面使用 cover_url。
blocks[].episode_number / ready黑料短剧每集均为 video:asset_id 为源集标识,episode_number 为上游 ord + 1,保留集号空洞;text 为源标题或第 N 集。ready=false 时保留分集但不返回 media_url。上游不提供封面字段,中台不自动生成封面。
老司机增量同步示例
curl 'https://endoroot.com/v1/changes?source=lsj&limit=100' \ -H 'Authorization: Bearer <API_KEY>' # 下一页:保存上次响应 data.next_cursor,并原样传回 curl 'https://endoroot.com/v1/changes?source=lsj&limit=100&cursor=<NEXT_CURSOR>' \ -H 'Authorization: Bearer <API_KEY>'
统一响应
{
"success": true,
"data": {
"items": [{
"id": "lsj:movie:资源ID",
"source": "lsj",
"source_id": "资源ID",
"content_type": "movie",
"title": "资源标题",
"blocks": [
{"type": "text", "text": "正文"},
{"type": "image", "media_url": "https://endoroot.com/v1/media/..."},
{"type": "video", "media_url": "https://endoroot.com/v1/media/...", "cover_url": "https://endoroot.com/v1/media/..."},
{"type": "audio", "media_url": "https://endoroot.com/v1/media/...", "cover_url": "https://endoroot.com/v1/media/..."}
]
}],
"next_cursor": "不透明游标",
"has_more": true
},
"request_id": "req-..."
}错误响应统一返回 success=false、code、message、request_id;业务方应记录 request_id 便于排查。