You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
3.5 KiB
111 lines
3.5 KiB
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 |
|
}
|
|
|