Files
web_hgdjb_server/app/api/proto/playlet_theme.go
T
2026-11-07 10:47:32 +08:00

103 lines
4.9 KiB
Go

package proto
import "videoweb/pub/pubdef"
// PlayletTopicPageListReq 专题剧单分页请求
type PlayletTopicPageListReq struct {
pubdef.Page // 专题分页参数
}
// PlayletTopicGroupPageItem 专题区块分页数据
type PlayletTopicGroupPageItem struct {
Id int64 `json:"id"` // 专题区块ID
Name string `json:"name"` // 专题区块名称
Desc string `json:"desc"` // 专题区块描述
Rank int64 `json:"rank"` // 区块排序,越大越靠前
TotalCount int64 `json:"totalCount"` // 区块下专题总数
List []*PlayletTopicPageItem `json:"list"` // 当前页专题
}
// PlayletTopicPageListResp 专题剧单分页响应
type PlayletTopicPageListResp struct {
PageSize int `json:"pageSize"` // 每页数
PageNum int `json:"pageNum"` // 页数
List []*PlayletTopicGroupPageItem `json:"list"` // 专题区块集合
SeoInfo *SeoInfo `json:"seoInfo,omitempty"` // 页面SEO信息
}
// PlayletTopicPageItem 专题剧单分页项
type PlayletTopicPageItem struct {
Id int64 `json:"id"` // 专题ID
Name string `json:"name"` // 专题名称
Slug string `json:"slug"` // slug
Desc string `json:"desc"` // 描述
Icon string `json:"icon"` // 图标
Rank int64 `json:"rank"` // 排序,越大越靠前
PlayletCount int64 `json:"playletCount"` // 专题列表为已上架总数,更多专题为预览数量
Covers []string `json:"covers,omitempty"` // 专题列表为一张短剧封面
List []*CommonData `json:"list,omitempty"` // 专题列表为一部短剧
SeoInfo *SeoInfo `json:"seoInfo"` // 专题SEO
}
// PlayletTopicDetailReq 专题详情请求
type PlayletTopicDetailReq struct {
pubdef.Page
Id int64 `form:"id" json:"id"` // 专题ID
TopicSlug string `form:"topicSlug" json:"topicSlug"`
DataType int64 `form:"dataType" json:"dataType"` // 仅支持 1 短剧
SortType int64 `form:"sortType" json:"sortType"` // 排序 1-编辑排序 2-最新 3-最热
}
// PlayletTopicDetailResp 专题详情响应
type PlayletTopicDetailResp struct {
Id int64 `json:"id"` // 专题ID
DataType int64 `json:"dataType"`
Name string `json:"name"` // 专题名称
Slug string `json:"slug"` // slug
Desc string `json:"desc"` // 描述
Icon string `json:"icon"` // 图标
Rank int64 `json:"rank"` // 排序,越大越靠前
PlayletCount int64 `json:"playletCount"` // 当前页 list 中的短剧数量
Covers []string `json:"covers"` // 顶部封面集合
TotalCount int64 `json:"totalCount"` // 短剧总数
PageSize int `json:"pageSize"` // 每页数
PageNum int `json:"pageNum"` // 页数
List []CommonData `json:"list"` // 专题短剧列表
MoreTopics []*PlayletTopicPageItem `json:"moreTopics"` // 更多专题
SeoInfo *SeoInfo `json:"seoInfo"` // 专题SEO
Advitise AdvitiseData `json:"advitise"`
}
// PlayletThemeListResponse app端题材列表响应
type PlayletThemeListResponse struct {
List []*PlayletThemeItem `json:"list"` // 题材列表
}
// PlayletThemeItem app端题材列表项
type PlayletThemeItem struct {
Id int64 `json:"id"` // 题材ID
Name string `json:"name"` // 题材名称
Slug string `json:"slug"` // slug
Icon string `json:"icon"` // 题材图标,已拼接图片域名
Rank int64 `json:"rank"` // 排序,越大越靠前
Status bool `json:"status"` // 上架状态
IsRecommend bool `json:"isRecommend"` // 是否推荐
PlayletCount int64 `json:"playletCount"` // 该题材绑定的上架短剧数量
SeoInfo *SeoInfo `json:"seoInfo"` // 题材对应页面 SEO 信息
}
// PlayletTagListResponse app端短剧标签列表响应
type PlayletTagListResponse struct {
List []*PlayletTagItem `json:"list"` // 标签列表
}
// PlayletTagItem app端短剧标签列表项
type PlayletTagItem struct {
Id int64 `json:"id"` // 标签ID
Name string `json:"name"` // 标签名称
Slug string `json:"slug"` // slug
Rank int64 `json:"rank"` // 排序,越大越靠前
Status bool `json:"status"` // 上架状态
SeoInfo *SeoInfo `json:"seoInfo"` // 标签对应页面 SEO 信息
}