本文档描述了基于 /api/:module 路径的接口服务。该服务根据不同的参数组合调用不同的功能模块,包括播放、分类、详情、动作、搜索、刷新和默认首页数据。所有接口均支持GET和POST请求方式。
- 请求方式:GET 或 POST
- 基础路径:
/api/:module,其中:module为模块名称(如vod1) - 参数传递:
- GET请求:参数通过URL的query string传递
- POST请求:参数可通过
application/x-www-form-urlencoded或application/json格式传递
- 安全验证:所有接口请求都会经过
validatePwd中间件验证(具体验证逻辑由实现方决定) - 错误响应:
{ "error": "错误信息" } - 通用传参: 若这个接口需要extend传参,确保每个地方调用都在各自的请求参数基础上加上原本的extend传参
功能说明:根据播放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"
}
}功能说明:获取指定分类下的视频列表,支持分页和筛选条件。
| 参数名 | 必填 | 类型 | 说明 |
|---|---|---|---|
| ac | 是 | string | 固定值为 list(实际参数中需存在ac和t) |
| 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"
}
]
}功能说明:获取一个或多个视频的详细信息。
| 参数名 | 必填 | 类型 | 说明 |
|---|---|---|---|
| ac | 是 | string | 固定值为 detail(实际参数中需存在ac和ids) |
| 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": "播放地址"
}
]功能说明:执行特定动作(如收藏、点赞等)。
| 参数名 | 必填 | 类型 | 说明 |
|---|---|---|---|
| ac | 是 | string | 固定值为 action(实际参数中需存在ac和action) |
| action | 是 | string | 动作类型(如 like, collect) |
| value | 是 | string | 动作值(如 1 表示执行) |
GET /api/vod1?ac=action&action=like&value=1{
"code": 200,
"msg": "操作成功"
}功能说明:根据关键词搜索视频,支持快速搜索和分页。
| 参数名 | 必填 | 类型 | 说明 |
|---|---|---|---|
| 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
}功能说明:强制刷新模块的初始化数据。
| 参数名 | 必填 | 类型 | 说明 |
|---|---|---|---|
| refresh | 是 | string | 任意值(存在即可) |
GET /api/vod1?refresh=1{
"code": 200,
"msg": "刷新成功",
"data": {
"lastUpdate": "2023-08-01 12:00:00"
}
}功能说明:获取模块的首页数据(包括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 | 服务器内部处理错误 |
- 参数
ext(在分类接口中)是base64编码的JSON字符串,用于传递筛选条件。 - 分页参数
pg从1开始。 - 参数
extend(接口数据扩展)从sites的ext直接取字符串,若有就每个接口都加上。 开发人员可参考此文档进行对接。 - 除
action外的接口,尽量都用get协议,action由于传值可能较大推荐使用post