112 lines
3.5 KiB
Go
112 lines
3.5 KiB
Go
package v1
|
||
|
||
import (
|
||
"go-common/app/interface/bbq/app-bbq/model"
|
||
user "go-common/app/service/bbq/user/api"
|
||
bm "go-common/library/net/http/blademaster"
|
||
)
|
||
|
||
// SvListReq 列表参数
|
||
type SvListReq struct {
|
||
MID int64
|
||
Base *Base
|
||
RemoteIP string
|
||
PageSize int64 `form:"pagesize" validate:"gt=0,max=20,required"`
|
||
}
|
||
|
||
// SvDetailReq 视频详情参数
|
||
type SvDetailReq struct {
|
||
SVID int64 `form:"svid" validate:"gt=0,required"`
|
||
}
|
||
|
||
// SvDetailResponse 视频详情返回
|
||
type SvDetailResponse struct {
|
||
IsLike bool `json:"is_like"`
|
||
}
|
||
|
||
//PlayListReq 批量获取playurl接口
|
||
type PlayListReq struct {
|
||
CIDs string `form:"cids" validate:"required"`
|
||
MID int64
|
||
Device *bm.Device
|
||
RemoteIP string
|
||
}
|
||
|
||
// VideoResponse 返回视频结构
|
||
type VideoResponse struct {
|
||
model.SvInfo
|
||
model.SvStInfo
|
||
SVID int64 `json:"svid"`
|
||
Tag string `json:"tag"` // 首选标签
|
||
Tags []VideoTag `json:"tags,omitempty"` // 所有标签
|
||
UserInfo user.UserBase `json:"user_info,omitempty"` // 用户信息
|
||
Play VideoPlay `json:"play,omitempty"` // 播放信息
|
||
IsLike bool `json:"is_like"` // 是否点赞
|
||
QueryID string `json:"query_id"` // 推荐播放埋点字段,勿删!
|
||
Extension string `json:"extension"` // 扩展字段,如title_extra等
|
||
}
|
||
|
||
//VideoTag 视屏标签
|
||
type VideoTag struct {
|
||
ID int64 `json:"id"`
|
||
Name string `json:"name"`
|
||
Type int16 `json:"type"`
|
||
}
|
||
|
||
// VideoPlay playinfo
|
||
type VideoPlay struct {
|
||
SVID int64 `json:"svid"`
|
||
ExpireTime int64 `json:"expire_time"` //过期时间
|
||
FileInfo []*FileInfo `json:"file_info"` //分片信息
|
||
Quality int64 `json:"quality"` //清晰度
|
||
SupportQuality []int64 `json:"support_quality"` //支持清晰度
|
||
URL string `json:"url"` //基础url
|
||
CurrentTime int64 `json:"current_time"` //当前时间戳
|
||
}
|
||
|
||
// CVideo bvc playurl结构
|
||
type CVideo struct {
|
||
CID int64 `json:"cid"`
|
||
ExpireTime int64 `json:"expire_time"`
|
||
FileInfo map[string][]*FileInfo `json:"file_info,omitempty"`
|
||
Fnval int64 `json:"fnval"`
|
||
Fnver int64 `json:"fnver"`
|
||
Quality int64 `json:"quality"`
|
||
SupportDescription []string `json:"support_description,omitempty"`
|
||
SupportFormats []string `json:"support_formats,omitempty"`
|
||
SupportQuality []int64 `json:"support_quality,omitempty"`
|
||
URL string `json:"url"`
|
||
VideoCodeCID int64 `json:"video_codecid"`
|
||
VideoProject bool `json:"video_project"`
|
||
}
|
||
|
||
// FileInfo bvc fileinfo
|
||
type FileInfo struct {
|
||
Ahead string `json:"ahead"`
|
||
FileSize int64 `json:"filesize"`
|
||
TimeLength int64 `json:"timelength"`
|
||
Vhead string `json:"vhead"`
|
||
Path string `json:"path"`
|
||
URL string `json:"url"`
|
||
URLBc string `json:"url_bc"`
|
||
}
|
||
|
||
// SvStatRes 视频统计数据返回
|
||
type SvStatRes struct {
|
||
model.SvStInfo
|
||
IsLike bool `json:"is_like"`
|
||
FollowState int8 `json:"follow_state"`
|
||
}
|
||
|
||
//SvRelReq 相关推荐请求
|
||
type SvRelReq struct {
|
||
SVID int64 `form:"svid"`
|
||
QueryID string `form:"query_id"`
|
||
MID int64
|
||
APP string
|
||
APPVersion string
|
||
Limit int32
|
||
Offset int32
|
||
BUVID string
|
||
}
|