Skip to content

Latest commit

 

History

History
310 lines (238 loc) · 6.73 KB

File metadata and controls

310 lines (238 loc) · 6.73 KB

T4服务接口对接文档

概述

本文档描述了基于 /api/:module 路径的接口服务。该服务根据不同的参数组合调用不同的功能模块,包括播放、分类、详情、动作、搜索、刷新和默认首页数据。所有接口均支持GET和POST请求方式。

通用说明

  • 请求方式:GET 或 POST
  • 基础路径/api/:module,其中 :module 为模块名称(如 vod1
  • 参数传递
    • GET请求:参数通过URL的query string传递
    • POST请求:参数可通过application/x-www-form-urlencodedapplication/json格式传递
  • 安全验证:所有接口请求都会经过validatePwd中间件验证(具体验证逻辑由实现方决定)
  • 错误响应
    {
      "error": "错误信息"
    }
  • 通用传参: 若这个接口需要extend传参,确保每个地方调用都在各自的请求参数基础上加上原本的extend传参

接口列表

1. 播放接口

功能说明:根据播放ID和源标识获取视频播放地址及信息。

请求参数

参数名 必填 类型 说明
play string 播放ID
flag string 源标识,详情接口返回播放信息里有,播放时建议加上

请求示例

GET /api/vod1?play=123&flag=youku

POST /api/vod1
Content-Type: application/x-www-form-urlencoded
play=123&flag=youku

响应示例

{
  "url": "https://example.com/video.mp4",
  "type": "hls",
  "headers": {
    "Referer": "https://example.com"
  }
}

2. 分类接口

功能说明:获取指定分类下的视频列表,支持分页和筛选条件。

请求参数

参数名 必填 类型 说明
ac string 固定值为 list(实际参数中需存在act
t string 分类ID
pg integer 页码,默认1
ext string 筛选条件(base64编码的JSON字符串)

请求示例

GET /api/vod1?ac=cate&t=1&pg=2&ext=eyJuYW1lIjoi5paw5qW8In0=

响应示例

{
  "page": 2,
  "pagecount": 10,
  "list": [
    {
      "vod_id": "101",
      "vod_name": "电影名称",
      "vod_pic": "https://example.com/pic.jpg"
    }
  ]
}

3. 详情接口

功能说明:获取一个或多个视频的详细信息。

请求参数

参数名 必填 类型 说明
ac string 固定值为 detail(实际参数中需存在acids
ids string 视频ID,多个用逗号分隔

请求示例

GET /api/vod1?ac=detail&ids=101,102

POST /api/vod1
Content-Type: application/json
{
  "ac": "detail",
  "ids": "101,102"
}

响应示例

[
  {
    "vod_id": "101",
    "vod_name": "电影名称",
    "vod_actor": "主演",
    "vod_content": "剧情简介",
    "vod_play_url": "播放地址"
  }
]

4. 动作接口

功能说明:执行特定动作(如收藏、点赞等)。

请求参数

参数名 必填 类型 说明
ac string 固定值为 action(实际参数中需存在acaction
action string 动作类型(如 like, collect
value string 动作值(如 1 表示执行)

请求示例

GET /api/vod1?ac=action&action=like&value=1

响应示例

{
  "code": 200,
  "msg": "操作成功"
}

交互UI说明参考此处

5. 搜索接口

功能说明:根据关键词搜索视频,支持快速搜索和分页。

请求参数

参数名 必填 类型 说明
wd string 搜索关键词
quick integer 快速搜索模式(0或1,默认0)
pg integer 页码,默认1

请求示例

GET /api/vod1?wd=电影&quick=1&pg=1

响应示例

{
  "list": [
    {
      "vod_id": "201",
      "vod_name": "搜索到的电影",
      "vod_remarks": "6.5分"
    }
  ],
  "total": 50
}

6. 刷新接口

功能说明:强制刷新模块的初始化数据。

请求参数

参数名 必填 类型 说明
refresh string 任意值(存在即可)

请求示例

GET /api/vod1?refresh=1

响应示例

{
  "code": 200,
  "msg": "刷新成功",
  "data": {
    "lastUpdate": "2023-08-01 12:00:00"
  }
}

7. 默认首页接口

功能说明:获取模块的首页数据(包括home和homeVod数据)。当没有匹配到上述任何功能时,调用此接口。

请求参数

参数名 必填 类型 说明
filter integer 过滤条件(1表示启用,默认启用)

请求示例

GET /api/vod1

GET /api/vod1?filter=1

响应示例

{
  "class": [
    {
      "type_id": "choice",
      "type_name": "精选"
    },
    {
      "type_id": "movie",
      "type_name": "电影"
    },
    {
      "type_id": "tv",
      "type_name": "电视剧"
    },
    {
      "type_id": "variety",
      "type_name": "综艺"
    },
    {
      "type_id": "cartoon",
      "type_name": "动漫"
    },
    {
      "type_id": "child",
      "type_name": "少儿"
    },
    {
      "type_id": "doco",
      "type_name": "纪录片"
    }
  ],
  "filters": {
  },
  "list": [
    {
      "vod_id": "301",
      "vod_name": "首页推荐电影",
      "vod_pic": "https://example.com/recommend.jpg"
    }
  ]
}

错误状态码

状态码 含义 说明
404 Not Found 模块不存在
500 Internal Error 服务器内部处理错误

注意事项

  1. 参数ext(在分类接口中)是base64编码的JSON字符串,用于传递筛选条件。
  2. 分页参数pg从1开始。
  3. 参数extend(接口数据扩展)从sites的ext直接取字符串,若有就每个接口都加上。 开发人员可参考此文档进行对接。
  4. action外的接口,尽量都用get协议,action由于传值可能较大推荐使用post