视频
视频内容的增删改查、互动操作、浏览记录、推荐等接口。
获取视频列表
POST
/api/trpc/video.list公开分页查询已发布的视频,支持标签筛选和搜索。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
limit | number | 是 | 每页数量(1-50,默认 20) |
page | number | 是 | 页码(从 1 开始) |
search | string | 否 | 搜索关键词 |
tagSlugs | string[] | 否 | 标签 slug 筛选 |
excludeTagSlugs | string[] | 否 | 排除的标签 slug |
sortBy | string | 否 | 排序:latest(默认)/ views / likes |
timeRange | string | 否 | 时间范围筛选 |
获取视频详情
POST
/api/trpc/video.getById公开| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | 是 | 视频 ID |
创建视频
POST
/api/trpc/video.create需登录content:write| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
title | string | 是 | 视频标题(1-100 字符) |
videoUrl | string | 是 | 视频文件 URL |
description | string | 否 | 描述(最长 5000 字符) |
coverUrl | string | 否 | 封面图 URL |
tagNames | string[] | 否 | 标签名称数组(自动匹配或创建) |
tagIds | string[] | 否 | 标签 ID 数组 |
duration | number | 否 | 视频时长(秒) |
extraInfo.author | string | 否 | 作者名称 |
extraInfo.downloads | object[] | 否 | 下载链接 [{name, url, password?}] |
extraInfo.keywords | string[] | 否 | 关键词数组 |
curl -X POST 'https://your-domain.com/api/trpc/video.create' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk-your-api-key' \
-d '{"json":{"title":"视频标题","videoUrl":"https://example.com/video.mp4","description":"描述","coverUrl":"https://example.com/cover.jpg","tagNames":["标签1","标签2"],"extraInfo":{"author":"作者","downloads":[{"name":"网盘","url":"https://pan.example.com/xxx","password":"1234"}]}}}'批量创建视频
POST
/api/trpc/video.batchCreate需登录content:write| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
videos | object[] | 是 | 视频数组,每项同单个创建的字段 |
seriesTitle | string | 否 | 合集名称(自动创建合集) |
seriesDescription | string | 否 | 合集描述 |
seriesCoverUrl | string | 否 | 合集封面 URL |
更新视频
POST
/api/trpc/video.update需登录content:write| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | 是 | 视频 ID |
title | string | 否 | 新标题 |
description | string | 否 | 新描述 |
coverUrl | string | 否 | 新封面 URL |
videoUrl | string | 否 | 新视频 URL |
tagNames | string[] | 否 | 新标签名称 |
extraInfo | object | 否 | 新附加信息 |
删除视频
POST
/api/trpc/video.delete需登录content:write| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | 是 | 视频 ID |
批量删除视频
POST
/api/trpc/video.batchDelete需登录content:write| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
ids | string[] | 是 | 视频 ID 数组 |
我的视频列表
POST
/api/trpc/video.getMyVideos需登录content:read| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
page | number | 是 | 页码 |
limit | number | 是 | 每页数量 |
status | string | 否 | 状态筛选:ALL / PUBLISHED / PENDING / REJECTED |
search | string | 否 | 搜索关键词 |
sortBy | string | 否 | 排序方式 |
互动操作
POST
/api/trpc/video.like需登录content:write| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
videoId | string | 是 | 视频 ID |
POST
/api/trpc/video.dislike需登录content:write| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
videoId | string | 是 | 视频 ID |
POST
/api/trpc/video.favorite需登录content:write| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
videoId | string | 是 | 视频 ID |
POST
/api/trpc/video.unfavorite需登录content:write| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
videoId | string | 是 | 视频 ID |
获取互动状态
POST
/api/trpc/video.getInteractionStatus需登录content:read| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
videoId | string | 是 | 视频 ID |
返回当前用户对该视频的点赞、点踩、收藏状态。
搜索与推荐
搜索建议
POST
/api/trpc/video.searchSuggestions公开| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
query | string | 是 | 搜索关键词 |
limit | number | 否 | 返回条数(默认 5) |
热门搜索
POST
/api/trpc/video.getHotSearches公开| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
limit | number | 否 | 返回条数(1-20,默认 10) |
推荐视频
POST
/api/trpc/video.getRecommendations公开| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
videoId | string | 是 | 视频 ID(基于该视频推荐相关内容) |
limit | number | 否 | 返回条数 |
浏览记录
POST
/api/trpc/video.recordHistory需登录content:write| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
videoId | string | 是 | 视频 ID |
progress | number | 是 | 播放进度(秒) |
POST
/api/trpc/video.getHistory需登录content:read| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
limit | number | 是 | 每页数量 |
page | number | 是 | 页码 |
收藏列表
POST
/api/trpc/video.getFavorites需登录content:read| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
limit | number | 是 | 每页数量 |
page | number | 是 | 页码 |