视频列表接口

接口说明

获取视频列表。支持分页查询和分类筛选,会过滤私密视频,并对加密视频进行特殊处理。

  • 接口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_numerpage_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'
  })
});