进入资源中台

输入部署时配置的管理员密钥。密钥只保存在当前浏览器会话。

资源中台概览

资源收集与业务系统调用驾驶舱
接入业务系统
--
有效租户
收集资源总数
--
累计统一资源
业务调用量
--
资源 API + 媒体
平均响应时间
--
所选周期全部业务请求

调用趋势

资源 API图片调用视频调用

资源构成

业务系统调用排行 按调用量排序
业务系统调用次数成功率平均响应
暂无调用数据

资源同步中心

统一管理 Plexadel 黑料库、黑料短剧、无界资源与老司机资源库
黑料库 · Plexadel
黑料短剧
无界资源
老司机资源库

来源配置

启用自动同步

新建同步

从上游抓取最新一批资源,自动写入中台资源库。

同步批次
批次来源 / 方式进度状态更新时间操作
暂无同步批次

资源管理

检查中台已拉取的标题、缩略图、媒体组成及源数据
黑料库 · Plexadel
黑料短剧
无界资源
老司机资源库
暂无资源

接入运维

采集与后台、独立签发、主备媒体网关分别观测
中台持续维护来源;业务方手动选取、复审与采用。这里只验证中台合同与媒体准备,不代表真实业务站已迁移。容量仅本机基线,真实峰值及独立故障域未证明。

告警汇总

运行健康与材料ACK

健康、版本及连接指标来自独立实时探测;ACK是材料安装证据。带宽由同进程连续两次刷新累计字节计算,不是链路峰值验收。

服务 / 节点实际探测运行版本连接 / 传输安全材料ACK

来源与历史刷新覆盖

来源实例成功核对 / 库存最旧核对滞后当前批次支持类型与限制

逐版本与分集准备

纯正文须本站材料与中央正文租约。清理只检查资格,不执行物理删除。

安全策略与复审代次

恢复只解除中台拒绝,不代替业务复审。媒体恢复必须重新核实真实包和上游就绪状态;已撤销Key永久失效。
主体策略复审代次操作

最近管理审计

时间操作目标版本 / 结果

租户与 API Key

为每个业务方创建独立访问密钥和来源权限

接入权限管理

新接口实例、能力和用途各自显式授权;旧 /v1 权限保留独立范围。修改使用当前policy_revision,过期页面会被拒绝。

租户 / 版本角色 / 状态实例范围能力 / 用途管理

兼容入口:仅创建新的旧 /v1 租户

API Key 仅显示一次

请立即复制并安全交给业务后端,关闭或刷新页面后无法再次查看。

接口文档

业务后端通过统一 API 拉取黑料库、黑料短剧、无界与老司机资源

新接入合同

新站点使用 /api/v1/catalog、引用、独立中央租约与媒体网关。中台持续同步,业务方手动采用;旧 /v1 仅兼容既有租户,未自动切换真实业务站。

接口冻结合同、来源能力、引用、中央租约与网关运行限制见交付接入包。运维控制台展示的媒体准备不能代替本站复审与租约准备。

旧接口接入流程(兼容)

  1. 管理员在“租户与 API Key”创建业务方密钥,并勾选允许访问的来源。
  2. 业务后端使用 Authorization: Bearer <API_KEY> 调用资源中台。
  3. 首次调用增量接口时不传 cursor,之后原样保存并回传 next_cursor。
  4. 业务后端保存统一资源,前端只使用审核上架后的数据和块内 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 视频和音频;业务方不要自行拼接媒体地址。

统一资源契约

id
black/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 便于排查。