122 lines
6.9 KiB
Go
122 lines
6.9 KiB
Go
package proto
|
|
|
|
import (
|
|
"time"
|
|
"videoweb/pub/common/response"
|
|
"videoweb/pub/pubdef"
|
|
)
|
|
|
|
// HomeConfigListReq web端首页配置分页列表请求
|
|
type HomeConfigListReq struct {
|
|
PageNum int64 `form:"pageNum" json:"pageNum"` // 页码,默认1
|
|
PageSize int64 `form:"pageSize" json:"pageSize"` // 每页数量,默认10,最大100
|
|
Id *int64 `form:"id" json:"id"` // 首页配置ID
|
|
Name string `form:"name" json:"name"` // 名称,支持模糊查询
|
|
Slug string `form:"slug" json:"slug"` // slug,精确匹配
|
|
Type *int32 `form:"type" json:"type"` // 类型 1-短剧 3-题材
|
|
SortType *int32 `form:"sortType" json:"sortType"` // 短剧模块排序 1-推荐 2-热播 3-最近更新 4-上架时间 5-分类,题材模块预览按专题详情默认排序
|
|
Status *bool `form:"status" json:"status"` // 上下架状态 true-上架 false-下架
|
|
}
|
|
|
|
// HomeConfigListResp web端首页配置列表项
|
|
type HomeConfigListResp struct {
|
|
Id int64 `json:"id"` // ID
|
|
Name string `json:"name"` // 名称
|
|
Slug string `json:"slug"` // slug
|
|
Desc string `json:"desc"` // 描述
|
|
Keyword []string `json:"keyword"` // 页面关键字
|
|
Label string `json:"label"`
|
|
Style string `json:"style"`
|
|
CardBackgroundImage string `json:"cardBackgroundImage"`
|
|
TopicIds []int64 `json:"topicIds"`
|
|
CategoryId int64 `json:"categoryId"`
|
|
RecommendType int64 `json:"recommendType"`
|
|
Type int32 `json:"type"` // 类型 1-短剧 3-题材
|
|
Rank int64 `json:"rank"` // 排序,越大越靠前
|
|
Limit int64 `json:"limit"` // 首页展示数量,0 时短剧默认12条、题材默认8个
|
|
SortType int32 `json:"sortType"` // 短剧模块排序 1-推荐 2-热播 3-最近更新 4-上架时间 5-分类,题材模块预览按专题详情默认排序
|
|
Status bool `json:"status"` // 上下架状态 true-上架 false-下架
|
|
SeoInfo pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
|
CreatedAt time.Time `json:"createdAt"` // 创建时间
|
|
UpdatedAt time.Time `json:"updatedAt"` // 修改时间
|
|
}
|
|
|
|
// HomeConfigListPageResp web端首页配置分页列表响应
|
|
type HomeConfigListPageResp struct {
|
|
response.BasePageResp
|
|
}
|
|
|
|
// HomeConfigAddReq web端新增首页配置请求
|
|
type HomeConfigAddReq struct {
|
|
Name string `json:"name" binding:"required"` // 名称
|
|
Slug string `json:"slug"` // slug,不传则按 SEO 关键词或名称自动生成
|
|
Desc string `json:"desc"` // 描述
|
|
Keyword []string `json:"keyword"` // 页面关键字,可不传
|
|
Label string `json:"label"`
|
|
Style string `json:"style"`
|
|
CardBackgroundImage string `json:"cardBackgroundImage"`
|
|
TopicIds []int64 `json:"topicIds"`
|
|
CategoryId int64 `json:"categoryId"`
|
|
RecommendType int64 `json:"recommendType"`
|
|
Type int32 `json:"type" binding:"required"` // 类型 1-短剧 3-题材
|
|
Rank int64 `json:"rank"` // 排序,越大越靠前
|
|
Limit int64 `json:"limit"` // 首页展示数量,0 时短剧默认12条、题材默认8个
|
|
SortType int32 `json:"sortType" binding:"required"` // 短剧模块排序 1-推荐 2-热播 3-最近更新 4-上架时间 5-分类,题材模块预览按专题详情默认排序
|
|
Status *bool `json:"status" binding:"required"` // 上下架状态 true-上架 false-下架
|
|
SeoInfo pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
|
}
|
|
|
|
// HomeConfigAddResp web端新增首页配置响应
|
|
type HomeConfigAddResp struct {
|
|
Id int64 `json:"id"` // ID
|
|
}
|
|
|
|
// HomeConfigUpdateReq web端更新首页配置请求
|
|
type HomeConfigUpdateReq struct {
|
|
Id int64 `json:"id" binding:"required"` // ID
|
|
Name *string `json:"name"` // 名称
|
|
Slug *string `json:"slug"` // slug,历史数据为空时更新会自动生成
|
|
Desc *string `json:"desc"` // 描述
|
|
Keyword *[]string `json:"keyword"` // 不传保持原值,传空数组清空
|
|
Label *string `json:"label"`
|
|
Style *string `json:"style"`
|
|
CardBackgroundImage *string `json:"cardBackgroundImage"`
|
|
TopicIds *[]int64 `json:"topicIds"`
|
|
CategoryId *int64 `json:"categoryId"`
|
|
RecommendType *int64 `json:"recommendType"`
|
|
Type *int32 `json:"type"` // 类型 1-短剧 3-题材
|
|
Rank *int64 `json:"rank"` // 排序,越大越靠前
|
|
Limit *int64 `json:"limit"` // 首页展示数量,0 时短剧默认12条、题材默认8个
|
|
SortType *int32 `json:"sortType"` // 短剧模块排序 1-推荐 2-热播 3-最近更新 4-上架时间 5-分类,题材模块预览按专题详情默认排序
|
|
Status *bool `json:"status"` // 上下架状态 true-上架 false-下架
|
|
SeoInfo *pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
|
}
|
|
|
|
// HomeConfigDelReq web端删除首页配置请求
|
|
type HomeConfigDelReq struct {
|
|
Id int64 `json:"id" binding:"required"` // ID
|
|
}
|
|
|
|
// HomeTopicOptionsReq 首页短剧题材选项分页请求
|
|
type HomeTopicOptionsReq struct {
|
|
PageNum int64 `form:"pageNum"` // 页码,默认 1
|
|
PageSize int64 `form:"pageSize"` // 每页数量,默认 10,最大 100
|
|
ConfigId int64 `form:"configId"` // 编辑时传当前首页配置 ID;不传则只查询可选题材
|
|
}
|
|
|
|
// HomeTopicOption 首页短剧题材选项
|
|
type HomeTopicOption struct {
|
|
Id int64 `json:"id"` // 题材 ID
|
|
Name string `json:"name"` // 题材名称
|
|
Status bool `json:"status"` // 是否上架;已选题材下架后仍可回显
|
|
}
|
|
|
|
// HomeTopicOptionsResp 首页短剧题材选项分页响应
|
|
type HomeTopicOptionsResp struct {
|
|
List []*HomeTopicOption `json:"list"` // 当前页可选题材,排除其他启用模块占用的题材
|
|
SelectedList []*HomeTopicOption `json:"selectedList"` // 当前配置已选题材,不受分页限制
|
|
TotalCount int64 `json:"totalCount"` // 可选题材总数
|
|
PageNum int64 `json:"pageNum"` // 当前页码
|
|
PageSize int64 `json:"pageSize"` // 每页数量
|
|
}
|