视频列表接口
接口说明
获取视频列表。支持分页查询和分类筛选,会过滤私密视频,并对加密视频进行特殊处理。
- 接口URL:
/api/videos/index
- 请求方法:
POST
- 权限要求: 支持未登录访问,但登录后可查看更多信息
请求参数
参数名 | 类型 | 必填 | 说明 | 示例值 |
---|---|---|---|---|
page_numer | number | 否 | 页码,不传则返回全部数据 | 1 |
page_size | number | 否 | 每页条数,不传则返回全部数据 | 10 |
vi_coll_path | string | 否 | 视频分类路径 | "games" |
响应结构
typescript
interface Response {
code: number; // 状态码
message: string; // 响应消息
data?: {
list: Array<{
video_id: number; // 视频ID
video_title: string; // 视频标题
video_text: string; // 视频描述(超过60字符会被截断)
video_date: string; // 发布日期
video_private: number; // 是否私密(0:否, 1:是)
video_password?: string; // 访问密码(加密视频才有)
vi_coll_id: number; // 分类ID
vi_coll_name: string; // 分类名称
vi_coll_path: string; // 分类路径
}>;
total: number; // 总条数
};
}
响应示例
json
{
"code": 0,
"message": "success",
"data": {
"list": [
{
"video_id": 1,
"video_title": "示例视频",
"video_text": "这是一个示例视频的描述...",
"video_date": "2024-01-01",
"video_private": 0,
"vi_coll_id": 1,
"vi_coll_name": "游戏视频",
"vi_coll_path": "games"
}
],
"total": 1
}
}
特殊说明
分页机制
- 当
page_numer
和page_size
都不传时,返回全部数据 - 分页从第1页开始,每页大小由
page_size
决定 - 返回数据按发布日期降序排列
内容处理
- 视频描述超过60字符会被截断,末尾添加"..."
- 私密视频会被过滤,不会出现在返回列表中
- 加密视频的具体内容会被隐藏,需要通过详情接口获取
错误码说明
错误码 | 说明 | 处理建议 |
---|---|---|
0 | 成功 | - |
500 | 服务器错误 | 请联系管理员 |
调用示例
基础查询
typescript
const response = await fetch('/api/videos/index', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
page_numer: 1,
page_size: 10
})
});
分类筛选
typescript
const response = await fetch('/api/videos/index', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
page_numer: 1,
page_size: 10,
vi_coll_path: 'games'
})
});