Initial commit: web_hghl_server
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
package proto
|
||||
|
||||
import (
|
||||
"time"
|
||||
"videoweb/pub/common/response"
|
||||
"videoweb/pub/models/contenttagmod"
|
||||
"videoweb/pub/pubdef"
|
||||
)
|
||||
|
||||
// ContentTagListReq web端统一标签分页列表请求
|
||||
type ContentTagListReq struct {
|
||||
pubdef.Page
|
||||
Id *int64 `form:"id" json:"id"` // 标签ID
|
||||
Name string `form:"name" json:"name"` // 标签名称,支持模糊查询
|
||||
Type *contenttagmod.ContentTagType `form:"type" json:"type"` // 内容类型 1-视频 5-短剧
|
||||
Status *bool `form:"status" json:"status"` // 状态 true-启用 false-停用
|
||||
}
|
||||
|
||||
// ContentTagListResp web端统一标签列表项
|
||||
type ContentTagListResp struct {
|
||||
Id int64 `json:"id"` // ID
|
||||
Name string `json:"name"` // 标签名称
|
||||
Slug string `json:"slug"` // slug
|
||||
Types []contenttagmod.ContentTagType `json:"types"` // 支持类型 1-视频 5-短剧
|
||||
TypeNames []string `json:"typeNames"` // 支持类型名称
|
||||
Status bool `json:"status"` // 状态 true-启用 false-停用
|
||||
Rank int64 `json:"rank"` // 排序,越大越靠前
|
||||
VideoCount int64 `json:"videoCount"` // 绑定视频数量
|
||||
PlayletCount int64 `json:"playletCount"` // 绑定短剧数量
|
||||
SeoInfo pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||||
CreatedById int64 `json:"createdById"` // 创建人ID
|
||||
CreatedByName string `json:"createdByName"` // 创建人名称
|
||||
UpdatedByName string `json:"updatedByName"` // 修改人名称
|
||||
CreatedAt time.Time `json:"createdAt"` // 创建时间
|
||||
UpdatedAt time.Time `json:"updatedAt"` // 修改时间
|
||||
}
|
||||
|
||||
// ContentTagListPageResp web端统一标签分页列表响应
|
||||
type ContentTagListPageResp struct {
|
||||
response.BasePageResp
|
||||
}
|
||||
|
||||
// ContentTagOptionReq web端统一标签下拉列表请求
|
||||
type ContentTagOptionReq struct {
|
||||
Type *contenttagmod.ContentTagType `form:"type" json:"type"` // 内容类型 1-视频 5-短剧,不传返回全部启用标签
|
||||
}
|
||||
|
||||
// ContentTagOptionResp web端统一标签下拉列表响应
|
||||
type ContentTagOptionResp struct {
|
||||
List []*ContentTagOptionItem `json:"list"` // 标签下拉列表
|
||||
}
|
||||
|
||||
// ContentTagOptionItem web端统一标签下拉项
|
||||
type ContentTagOptionItem struct {
|
||||
Id int64 `json:"id"` // ID
|
||||
Name string `json:"name"` // 标签名称
|
||||
Types []contenttagmod.ContentTagType `json:"types"` // 支持类型 1-视频 5-短剧
|
||||
TypeNames []string `json:"typeNames"` // 支持类型名称
|
||||
Rank int64 `json:"rank"` // 排序,越大越靠前
|
||||
BindCount int64 `json:"bindCount"` // 当前查询类型的绑定数量,不传type时返回0
|
||||
}
|
||||
|
||||
// ContentTagAddReq web端新增统一标签请求
|
||||
type ContentTagAddReq struct {
|
||||
Name string `json:"name" binding:"required"` // 标签名称
|
||||
Slug string `json:"slug"` // slug,不传则按 SEO 关键词或名称自动生成
|
||||
Types []contenttagmod.ContentTagType `json:"types" binding:"required"` // 支持类型 1-视频 5-短剧
|
||||
Status *bool `json:"status" binding:"required"` // 状态 true-启用 false-停用
|
||||
Rank int64 `json:"rank"` // 排序,越大越靠前
|
||||
SeoInfo pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||||
}
|
||||
|
||||
// ContentTagAddResp web端新增统一标签响应
|
||||
type ContentTagAddResp struct {
|
||||
Id int64 `json:"id"` // ID
|
||||
}
|
||||
|
||||
// ContentTagUpdateReq web端更新统一标签请求
|
||||
type ContentTagUpdateReq struct {
|
||||
Id int64 `json:"id" binding:"required"` // ID
|
||||
Name *string `json:"name"` // 标签名称
|
||||
Slug *string `json:"slug"` // slug,历史数据为空时更新会自动生成
|
||||
Types *[]contenttagmod.ContentTagType `json:"types"` // 支持类型 1-视频 5-短剧
|
||||
Status *bool `json:"status"` // 状态 true-启用 false-停用
|
||||
Rank *int64 `json:"rank"` // 排序,越大越靠前
|
||||
SeoInfo *pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||||
}
|
||||
|
||||
// ContentTagDelReq web端删除统一标签请求
|
||||
type ContentTagDelReq struct {
|
||||
Id int64 `json:"id" binding:"required"` // ID
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package proto
|
||||
|
||||
import (
|
||||
"time"
|
||||
"videoweb/pub/common/response"
|
||||
)
|
||||
|
||||
// HomeBannerListReq web端首页 banner 分页列表请求
|
||||
type HomeBannerListReq struct {
|
||||
PageNum int64 `form:"pageNum" json:"pageNum"` // 页码,默认1
|
||||
PageSize int64 `form:"pageSize" json:"pageSize"` // 每页数量,默认10,最大100
|
||||
Id *int64 `form:"id" json:"id"` // 首页 banner ID
|
||||
Name string `form:"name" json:"name"` // 名称,支持模糊查询
|
||||
Status *bool `form:"status" json:"status"` // 状态 true-启用 false-停用
|
||||
}
|
||||
|
||||
// HomeBannerListResp web端首页 banner 列表项
|
||||
type HomeBannerListResp struct {
|
||||
Id int64 `json:"id"` // ID
|
||||
Name string `json:"name"` // 名称
|
||||
Image string `json:"image"` // 图片
|
||||
VerticalImage string `json:"verticalImage"` // 竖版图片
|
||||
Url string `json:"url"` // URL
|
||||
Rank int64 `json:"rank"` // 排序
|
||||
Status bool `json:"status"` // 状态 true-启用 false-停用
|
||||
CreatedById int64 `json:"createdById"` // 创建人ID
|
||||
CreatedByName string `json:"createdByName"` // 创建人名称
|
||||
UpdatedByName string `json:"updatedByName"` // 修改人名称
|
||||
CreatedAt time.Time `json:"createdAt"` // 创建时间
|
||||
UpdatedAt time.Time `json:"updatedAt"` // 修改时间
|
||||
}
|
||||
|
||||
// HomeBannerListPageResp web端首页 banner 分页列表响应
|
||||
type HomeBannerListPageResp struct {
|
||||
response.BasePageResp
|
||||
}
|
||||
|
||||
// HomeBannerAddReq web端新增首页 banner 请求
|
||||
type HomeBannerAddReq struct {
|
||||
Name string `json:"name" binding:"required"` // 名称
|
||||
Image string `json:"image" binding:"required"` // 图片
|
||||
VerticalImage string `json:"verticalImage"` // 竖版图片
|
||||
Url string `json:"url"` // URL
|
||||
Rank int64 `json:"rank"` // 排序
|
||||
Status *bool `json:"status" binding:"required"` // 状态 true-启用 false-停用
|
||||
}
|
||||
|
||||
// HomeBannerAddResp web端新增首页 banner 响应
|
||||
type HomeBannerAddResp struct {
|
||||
Id int64 `json:"id"` // ID
|
||||
}
|
||||
|
||||
// HomeBannerUpdateReq web端更新首页 banner 请求
|
||||
type HomeBannerUpdateReq struct {
|
||||
Id int64 `json:"id" binding:"required"` // ID
|
||||
Name *string `json:"name"` // 名称
|
||||
Image *string `json:"image"` // 图片
|
||||
VerticalImage *string `json:"verticalImage"` // 竖版图片
|
||||
Url *string `json:"url"` // URL
|
||||
Rank *int64 `json:"rank"` // 排序
|
||||
Status *bool `json:"status"` // 状态 true-启用 false-停用
|
||||
}
|
||||
|
||||
// HomeBannerDelReq web端删除首页 banner 请求
|
||||
type HomeBannerDelReq struct {
|
||||
Id int64 `json:"id" binding:"required"` // ID
|
||||
}
|
||||
@@ -0,0 +1,355 @@
|
||||
package proto
|
||||
|
||||
import (
|
||||
"time"
|
||||
"videoweb/pub/common/response"
|
||||
"videoweb/pub/models/playletchaptermod"
|
||||
"videoweb/pub/models/playletmod"
|
||||
"videoweb/pub/pubdef"
|
||||
)
|
||||
|
||||
// PlayletListReq web端短剧分页列表请求
|
||||
type PlayletListReq struct {
|
||||
pubdef.Page
|
||||
Id *int64 `form:"id" json:"id"` // 短剧ID
|
||||
CategoryId *int64 `form:"categoryId" json:"categoryId"` // 分类ID
|
||||
TagId *int64 `form:"tagId" json:"tagId"` // 标签ID
|
||||
ThemeId *int64 `form:"themeId" json:"themeId"` // 题材ID
|
||||
ContentType *playletmod.ContentType `form:"contentType" json:"contentType"` // 内容类型,0-短剧、1-普通短剧/影集、2-漫画短剧、3-动漫、4-漫画
|
||||
PayType *playletmod.PayType `form:"payType" json:"payType"` // 支付方式,0-免费、1-金币、2-VIP
|
||||
Status *playletmod.Status `form:"status" json:"status"` // 上架状态,0-下架、1-上架
|
||||
IsFeatured *bool `form:"isFeatured" json:"isFeatured"` // 是否爆剧,true-是、false-否
|
||||
IsOriginal *bool `form:"isOriginal" json:"isOriginal"` // 是否原创:true只查原创,false只查非原创,不传查全部
|
||||
ShowOriginal *bool `form:"showOriginal" json:"showOriginal"` // 页面是否展示原创标识 不传查全部
|
||||
IsRecommend *bool `form:"isRecommend" json:"isRecommend"` // 是否推荐,true-推荐、false-不推荐
|
||||
ShowOnBanner *bool `form:"showOnBanner" json:"showOnBanner"` // 是否显示在首页banner,true-显示、false-不显示
|
||||
Title string `form:"title" json:"title"` // 短剧标题,支持模糊查询
|
||||
OperatorName string `form:"operatorName" json:"operatorName"` // 最后操作人名称,支持模糊查询
|
||||
}
|
||||
|
||||
// PlayletListResp web端短剧列表项
|
||||
type PlayletListResp struct {
|
||||
Id int64 `json:"id"` // 短剧ID
|
||||
Status playletmod.Status `json:"status"` // 上架状态,0-下架、1-上架
|
||||
IsFeatured bool `json:"isFeatured"` // 是否爆剧,true-是、false-否
|
||||
IsOriginal bool `json:"isOriginal"` // 是否原创:后台新增为true,媒资导入为false
|
||||
ShowOriginal bool `json:"showOriginal"` // 页面是否展示原创标识
|
||||
MediaBusiness string `json:"mediaBusiness"` // 媒资业务来源,按媒资标题前缀记录,如 CGDJ;空表示未标记
|
||||
IsRecommend bool `json:"isRecommend"` // 是否推荐,true-推荐、false-不推荐
|
||||
ShowOnBanner bool `json:"showOnBanner"` // 是否显示在首页banner,true-显示、false-不显示
|
||||
Banner string `json:"banner"` // banner图
|
||||
ReviewAt time.Time `json:"reviewAt"` // 审核时间
|
||||
OnlineAt time.Time `json:"onlineAt"` // 上架时间
|
||||
Title string `json:"title"` // 标题
|
||||
Slug string `json:"slug"` // slug
|
||||
Desc string `json:"desc"` // 简介
|
||||
Anchor string `json:"anchor"` // 作者/演员
|
||||
Cover string `json:"cover"` // 封面原图
|
||||
CompressedCover string `json:"compressedCover"` // 压缩封面
|
||||
Preview string `json:"preview"` // 预告
|
||||
CategoryIds []int64 `json:"categoryIds"` // 分类ID集合
|
||||
CategoryBinds []PlayletCategoryBind `json:"categoryBinds"` // 各分类下的排序
|
||||
CategoryRank int64 `json:"categoryRank"` // 当前筛选分类下的排序
|
||||
CategoryNames []string `json:"categoryNames"` // 分类名称集合
|
||||
ThemeIds []int64 `json:"themeIds"` // 题材ID集合
|
||||
ThemeNames []string `json:"themeNames"` // 题材名称集合
|
||||
TagIds []int64 `json:"tagIds"` // 标签ID集合
|
||||
TagNames []string `json:"tagNames"` // 标签名称集合
|
||||
OldTags []string `json:"oldTags"` // 媒资库原标签名称
|
||||
ContentType playletmod.ContentType `json:"contentType"` // 内容类型,0-短剧、1-普通短剧/影集、2-漫画短剧、3-动漫、4-漫画
|
||||
PayType playletmod.PayType `json:"payType"` // 支付方式,0-免费、1-金币、2-VIP
|
||||
SingleCoins int64 `json:"singleCoins"` // 单集金币,支付方式为1-金币时生效
|
||||
TotalEpisode int64 `json:"totalEpisode"` // 总集数
|
||||
FreeEpisodeCount int64 `json:"freeEpisodeCount"` // 官网开放集数 1至1000表示开放第1集到第N集 -1表示开放全集 历史未配置按2集返回
|
||||
UpdateStatus int `json:"updateStatus"` // 连载状态,1-连载中、2-已完结
|
||||
TopRank int64 `json:"topRank"` // 置顶排序
|
||||
RecommendRank int64 `json:"recommendRank"` // 推荐排序
|
||||
CountComment int64 `json:"countComment"` // 评论数
|
||||
CountBuy int64 `json:"countBuy"` // 购买数
|
||||
CountBrowse int64 `json:"countBrowse"` // 浏览数
|
||||
VirtualCountBrowse int64 `json:"virtualCountBrowse"` // 后台虚拟观看数
|
||||
DisplayCountBrowse int64 `json:"displayCountBrowse"` // 展示观看数
|
||||
HeatValue int64 `json:"heatValue"` // 热度值
|
||||
VirtualHeatValue int64 `json:"virtualHeatValue"` // 后台虚拟热度值
|
||||
DisplayHeatValue int64 `json:"displayHeatValue"` // 展示热度值
|
||||
CountCollect int64 `json:"countCollect"` // 收藏数
|
||||
CountLike int64 `json:"countLike"` // 真实点赞数
|
||||
VirtualCountLike int64 `json:"virtualCountLike"` // 虚拟点赞数
|
||||
DisplayCountLike int64 `json:"displayCountLike"` // 展示点赞数=真实点赞数+虚拟点赞数
|
||||
CountDisLike int64 `json:"countDisLike"` // 不喜欢数
|
||||
SeoInfo pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||||
OperatorId int64 `json:"operatorId"` // 最后操作人ID
|
||||
OperatorName string `json:"operatorName"` // 最后操作人名称
|
||||
CreatedAt time.Time `json:"createdAt"` // 创建时间
|
||||
UpdatedAt time.Time `json:"updatedAt"` // 更新时间
|
||||
}
|
||||
|
||||
// PlayletListPageResp web端短剧分页列表响应
|
||||
type PlayletListPageResp struct {
|
||||
response.BasePageResp
|
||||
}
|
||||
|
||||
// PlayletCategoryBind 短剧在指定分类下的排序
|
||||
type PlayletCategoryBind struct {
|
||||
Id int64 `json:"id"` // 分类ID
|
||||
Rank int64 `json:"rank"` // 排序值,越大越靠前,不填为0
|
||||
}
|
||||
|
||||
// PlayletDelReq 删除短剧请求
|
||||
type PlayletDelReq struct {
|
||||
Ids []int64 `json:"ids" binding:"required"` // 短剧ID集合
|
||||
}
|
||||
|
||||
// PlayletAddReq web端新增短剧请求
|
||||
type PlayletAddReq struct {
|
||||
CategoryIds []int64 `json:"categoryIds"` // 分类ID集合
|
||||
CategoryBinds []PlayletCategoryBind `json:"categoryBinds"` // 各分类下的排序,优先于categoryIds
|
||||
ThemeIds []int64 `json:"themeIds"` // 题材ID集合
|
||||
Title string `json:"title" binding:"required"` // 标题
|
||||
Slug string `json:"slug"` // slug,不传则按 SEO 关键词或标题自动生成
|
||||
Desc string `json:"desc"` // 简介
|
||||
Anchor string `json:"anchor"` // 作者/演员
|
||||
Cover string `json:"cover"` // 封面原图
|
||||
Preview string `json:"preview"` // 预告
|
||||
TagIds []int64 `json:"tagIds"` // 标签ID集合
|
||||
ContentType playletmod.ContentType `json:"contentType"` // 内容类型,0-短剧、1-普通短剧/影集、2-漫画短剧、3-动漫、4-漫画
|
||||
PayType playletmod.PayType `json:"payType"` // 支付方式,0-免费、1-金币、2-VIP
|
||||
SingleCoins int64 `json:"singleCoins"` // 单集金币,支付方式为1-金币时生效
|
||||
TotalEpisode int64 `json:"totalEpisode"` // 总集数
|
||||
FreeEpisodeCount *int64 `json:"freeEpisodeCount"` // 官网开放集数 不传默认2集 1至1000表示开放第1集到第N集 -1表示开放全集 0无效
|
||||
TopRank int64 `json:"topRank"` // 置顶排序
|
||||
RecommendRank int64 `json:"recommendRank"` // 推荐排序
|
||||
Status playletmod.Status `json:"status"` // 上架状态,0-下架、1-上架
|
||||
IsFeatured bool `json:"isFeatured"` // 是否爆剧,true-是、false-否
|
||||
ShowOriginal bool `json:"showOriginal"` // 页面是否展示原创标识
|
||||
IsRecommend bool `json:"isRecommend"` // 是否推荐,true-推荐、false-不推荐
|
||||
ShowOnBanner bool `json:"showOnBanner"` // 是否显示在首页banner
|
||||
Banner string `json:"banner"` // banner图
|
||||
SeoInfo pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||||
}
|
||||
|
||||
// PlayletAddResp web端新增短剧响应
|
||||
type PlayletAddResp struct {
|
||||
Id int64 `json:"id"` // 短剧ID
|
||||
}
|
||||
|
||||
// PlayletUpdateReq web端更新短剧请求
|
||||
type PlayletUpdateReq struct {
|
||||
Id int64 `json:"id" binding:"required"` // 短剧ID
|
||||
Status *playletmod.Status `json:"status"` // 上架状态,0-下架、1-上架
|
||||
IsFeatured *bool `json:"isFeatured"` // 是否爆剧,true-是、false-否
|
||||
ShowOriginal *bool `json:"showOriginal"` // 页面是否展示原创标识 不传保持原值
|
||||
IsRecommend *bool `json:"isRecommend"` // 是否推荐,true-推荐、false-不推荐
|
||||
ShowOnBanner *bool `json:"showOnBanner"` // 是否显示在首页banner
|
||||
Banner *string `json:"banner"` // banner图
|
||||
CategoryIds *[]int64 `json:"categoryIds"` // 分类ID集合,传空数组表示清空分类
|
||||
CategoryBinds *[]PlayletCategoryBind `json:"categoryBinds"` // 各分类下的排序,优先于categoryIds
|
||||
ThemeIds *[]int64 `json:"themeIds"` // 题材ID集合
|
||||
Title *string `json:"title"` // 标题
|
||||
Slug *string `json:"slug"` // slug,历史数据为空时更新会自动生成
|
||||
Desc *string `json:"desc"` // 简介
|
||||
Anchor *string `json:"anchor"` // 作者/演员
|
||||
Cover *string `json:"cover"` // 封面原图
|
||||
Preview *string `json:"preview"` // 预告
|
||||
TagIds *[]int64 `json:"tagIds"` // 标签ID集合,传空数组表示清空标签
|
||||
ContentType *playletmod.ContentType `json:"contentType"` // 内容类型,0-短剧、1-普通短剧/影集、2-漫画短剧、3-动漫、4-漫画
|
||||
PayType *playletmod.PayType `json:"payType"` // 支付方式,0-免费、1-金币、2-VIP
|
||||
SingleCoins *int64 `json:"singleCoins"` // 单集金币,支付方式为1-金币时生效
|
||||
TotalEpisode *int64 `json:"totalEpisode"` // 总集数
|
||||
FreeEpisodeCount *int64 `json:"freeEpisodeCount"` // 官网可播放范围 不传则不修改 传1至1000时仅开放第1集至指定集数 传-1开放全部剧集 传0报参数错误
|
||||
TopRank *int64 `json:"topRank"` // 置顶排序
|
||||
RecommendRank *int64 `json:"recommendRank"` // 推荐排序
|
||||
SeoInfo *pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||||
}
|
||||
|
||||
// PlayletPayTypeSetReq web端单/批量设置短剧默认支付方式请求
|
||||
type PlayletPayTypeSetReq struct {
|
||||
Ids []int64 `json:"ids"` // 短剧ID集合,传1个表示单条设置,传多个表示批量设置
|
||||
PayType playletmod.PayType `json:"payType"` // 支付方式,0-免费、1-金币、2-VIP
|
||||
SingleCoins *int64 `json:"singleCoins"` // 单集金币,支付方式为1-金币时必填且需大于0
|
||||
}
|
||||
|
||||
// PlayletWatermarkResetReq web端按短剧ID批量重置剧集水印请求
|
||||
type PlayletWatermarkResetReq struct {
|
||||
Ids []int64 `json:"ids"` // 短剧ID集合,传1个表示单条,传多个表示批量
|
||||
}
|
||||
|
||||
// PlayletChapterListReq web端短剧剧集分页列表请求
|
||||
type PlayletChapterListReq struct {
|
||||
pubdef.Page
|
||||
PlayletId *int64 `form:"playletId" json:"playletId"` // 短剧ID
|
||||
Id *int64 `form:"id" json:"id"` // 剧集ID
|
||||
WatermarkStatus *playletchaptermod.WatermarkStatus `form:"watermarkStatus" json:"watermarkStatus"` // 水印状态 0-未处理 1-已登记 2-处理中 3-已完成 4-处理失败
|
||||
}
|
||||
|
||||
// PlayletChapterListResp web端短剧剧集列表项
|
||||
type PlayletChapterListResp struct {
|
||||
Id int64 `json:"id"` // 剧集ID
|
||||
PlayletId int64 `json:"playletId"` // 短剧ID
|
||||
MediaContentId uint `json:"mediaContentId"` // 媒资中心剧集ID
|
||||
CurrentEpisode int64 `json:"currentEpisode"` // 第几集
|
||||
Title string `json:"title"` // 剧集标题
|
||||
Md5 string `json:"md5"` // 媒体md5
|
||||
Hash string `json:"hash"` // 媒体hash
|
||||
Height int64 `json:"height"` // 视频高度
|
||||
Width int64 `json:"width"` // 视频宽度
|
||||
Ratio float64 `json:"ratio"` // 宽高比
|
||||
VideoUrl string `json:"videoUrl"` // 原片视频地址
|
||||
WatermarkVideoUrl string `json:"watermarkVideoUrl"` // 加水印后的视频地址
|
||||
MediaSize int64 `json:"mediaSize"` // 资源大小
|
||||
MediaTime int64 `json:"mediaTime"` // 影片长度,单位秒
|
||||
CountComment int64 `json:"countComment"` // 评论数
|
||||
CountBuy int64 `json:"countBuy"` // 购买数
|
||||
CountBrowse int64 `json:"countBrowse"` // 浏览数
|
||||
CountCollect int64 `json:"countCollect"` // 收藏数
|
||||
CountLike int64 `json:"countLike"` // 点赞数
|
||||
CountDisLike int64 `json:"countDisLike"` // 不喜欢数
|
||||
PayType playletchaptermod.PayType `json:"payType"` // 支付方式 0-免费 1-金币 2-VIP
|
||||
SingleCoins int64 `json:"singleCoins"` // 单集金币,支付方式为1-金币时生效
|
||||
WatermarkStatus playletchaptermod.WatermarkStatus `json:"watermarkStatus"` // 水印状态 0-未处理 1-已登记 2-处理中 3-已完成 4-处理失败
|
||||
MediaSourceId string `json:"mediaSourceId"` // media切片服原片ID
|
||||
MediaTaskId string `json:"mediaTaskId"` // media切片服水印任务ID
|
||||
CreatedAt time.Time `json:"createdAt"` // 创建时间
|
||||
UpdatedAt time.Time `json:"updatedAt"` // 更新时间
|
||||
}
|
||||
|
||||
// PlayletChapterListPageResp web端短剧剧集分页列表响应
|
||||
type PlayletChapterListPageResp struct {
|
||||
response.BasePageResp
|
||||
}
|
||||
|
||||
// PlayletChapterAddReq web端新增短剧剧集请求
|
||||
type PlayletChapterAddReq struct {
|
||||
PlayletId int64 `json:"playletId" binding:"required"` // 短剧ID
|
||||
CurrentEpisode int64 `json:"currentEpisode" binding:"required"` // 第几集
|
||||
Title string `json:"title"` // 剧集标题
|
||||
Md5 string `json:"md5"` // 媒体md5
|
||||
Hash string `json:"hash"` // 媒体hash
|
||||
Height int64 `json:"height"` // 视频高度
|
||||
Width int64 `json:"width"` // 视频宽度
|
||||
Ratio float64 `json:"ratio"` // 宽高比
|
||||
VideoUrl string `json:"videoUrl"` // 原片视频地址
|
||||
MediaSize int64 `json:"mediaSize"` // 资源大小
|
||||
MediaTime int64 `json:"mediaTime"` // 影片长度,单位秒
|
||||
PayType playletchaptermod.PayType `json:"payType"` // 支付方式 0-免费 1-金币 2-VIP
|
||||
SingleCoins int64 `json:"singleCoins"` // 单集金币,支付方式为1-金币时生效
|
||||
MediaSourceId string `json:"mediaSourceId"` // media切片服原片ID,上传正片已创建原片时直接沿用
|
||||
}
|
||||
|
||||
// PlayletChapterAddResp web端新增短剧剧集响应
|
||||
type PlayletChapterAddResp struct {
|
||||
Id int64 `json:"id"` // 剧集ID
|
||||
}
|
||||
|
||||
// PlayletChapterUpdateReq web端编辑短剧剧集请求
|
||||
type PlayletChapterUpdateReq struct {
|
||||
Id int64 `json:"id" binding:"required"` // 剧集ID
|
||||
CurrentEpisode *int64 `json:"currentEpisode"` // 第几集
|
||||
Title *string `json:"title"` // 剧集标题
|
||||
Md5 *string `json:"md5"` // 媒体md5
|
||||
Hash *string `json:"hash"` // 媒体hash
|
||||
Height *int64 `json:"height"` // 视频高度
|
||||
Width *int64 `json:"width"` // 视频宽度
|
||||
Ratio *float64 `json:"ratio"` // 宽高比
|
||||
VideoUrl *string `json:"videoUrl"` // 原片视频地址
|
||||
MediaSize *int64 `json:"mediaSize"` // 资源大小
|
||||
MediaTime *int64 `json:"mediaTime"` // 影片长度,单位秒
|
||||
PayType *playletchaptermod.PayType `json:"payType"` // 支付方式 0-免费 1-金币 2-VIP
|
||||
SingleCoins *int64 `json:"singleCoins"` // 单集金币,支付方式为1-金币时生效
|
||||
}
|
||||
|
||||
// PlayletChapterDelReq web端单/批量删除短剧剧集请求
|
||||
type PlayletChapterDelReq struct {
|
||||
Ids []int64 `json:"ids"` // 剧集ID集合,传1个表示单条删除,传多个表示批量删除
|
||||
}
|
||||
|
||||
// PlayletChapterSyncReq web端手动同步短剧剧集请求
|
||||
type PlayletChapterSyncReq struct {
|
||||
PlayletIds []int64 `json:"playletIds" binding:"required"` // 短剧ID集合,传1个表示单条同步,传多个表示批量同步
|
||||
}
|
||||
|
||||
// PlayletChapterSyncResult web端手动同步短剧剧集结果项
|
||||
type PlayletChapterSyncResult struct {
|
||||
PlayletId int64 `json:"playletId"` // 短剧ID
|
||||
NewChapterCount int `json:"newChapterCount"` // 本次新增剧集数量
|
||||
Success bool `json:"success"` // 是否同步成功
|
||||
Reason string `json:"reason"` // 失败原因
|
||||
}
|
||||
|
||||
// PlayletChapterSyncResp web端手动同步短剧剧集响应
|
||||
type PlayletChapterSyncResp struct {
|
||||
Total int `json:"total"` // 同步总数
|
||||
SuccessCount int `json:"successCount"` // 成功数量
|
||||
FailedCount int `json:"failedCount"` // 失败数量
|
||||
List []*PlayletChapterSyncResult `json:"list"` // 同步结果集合
|
||||
}
|
||||
|
||||
// PlayletChapterPayTypeSetReq web端单/批量设置短剧剧集支付方式请求
|
||||
type PlayletChapterPayTypeSetReq struct {
|
||||
Ids []int64 `json:"ids"` // 剧集ID集合,传1个表示单条设置,传多个表示批量设置
|
||||
PayType playletchaptermod.PayType `json:"payType"` // 支付方式 0-免费 1-金币 2-VIP
|
||||
SingleCoins *int64 `json:"singleCoins"` // 单集金币,支付方式为1-金币时必填且需大于0
|
||||
}
|
||||
|
||||
// PlayletStatusSetReq web端单/批量设置短剧上下架请求
|
||||
type PlayletStatusSetReq struct {
|
||||
Ids []int64 `json:"ids"` // 短剧ID集合,传1个表示单条设置,传多个表示批量设置
|
||||
Status playletmod.Status `json:"status"` // 上架状态,0-下架、1-上架
|
||||
}
|
||||
|
||||
// PlayletRecommendSetReq web端单/批量设置短剧推荐请求
|
||||
type PlayletRecommendSetReq struct {
|
||||
Ids []int64 `json:"ids"` // 短剧ID集合,传1个表示单条设置,传多个表示批量设置
|
||||
IsRecommend bool `json:"isRecommend"` // 是否推荐,true-推荐、false-不推荐
|
||||
}
|
||||
|
||||
// PlayletFeaturedSetReq web端单/批量设置短剧是否爆剧请求
|
||||
type PlayletFeaturedSetReq struct {
|
||||
Ids []int64 `json:"ids"` // 短剧ID集合,传1个表示单条设置,传多个表示批量设置
|
||||
IsFeatured bool `json:"isFeatured"` // 是否爆剧,true-是、false-否
|
||||
}
|
||||
|
||||
// PlayletBannerSetReq web端单/批量设置短剧是否显示在首页banner请求
|
||||
type PlayletBannerSetReq struct {
|
||||
Ids []int64 `json:"ids"` // 短剧ID集合,传1个表示单条设置,传多个表示批量设置
|
||||
ShowOnBanner bool `json:"showOnBanner"` // 是否显示在首页banner,true-显示、false-不显示
|
||||
}
|
||||
|
||||
// PlayletCategorySetReq web端单/批量设置短剧分类请求
|
||||
type PlayletCategorySetReq struct {
|
||||
Ids []int64 `json:"ids"` // 短剧ID集合,传1个表示单条设置,传多个表示批量设置
|
||||
CategoryIds *[]int64 `json:"categoryIds"` // 分类ID集合,可设置多个分类,传空数组表示清空分类,不传表示参数错误
|
||||
}
|
||||
|
||||
// PlayletTagSetReq web端单/批量设置短剧标签请求
|
||||
type PlayletTagSetReq struct {
|
||||
Ids []int64 `json:"ids"` // 短剧ID集合,传1个表示单条设置,传多个表示批量设置
|
||||
TagIds *[]int64 `json:"tagIds"` // 标签ID集合,可设置多个标签,传空数组表示清空标签,不传表示参数错误
|
||||
}
|
||||
|
||||
// PlayletThemeSetReq web端单/批量设置短剧题材请求
|
||||
type PlayletThemeSetReq struct {
|
||||
Ids []int64 `json:"ids"` // 短剧ID集合,传1个表示单条设置,传多个表示批量设置
|
||||
ThemeIds []int64 `json:"themeIds"` // 题材ID集合,可设置多个题材
|
||||
}
|
||||
|
||||
// PlayletVirtualLikeSetReq web端单/批量设置短剧虚拟点赞数请求
|
||||
type PlayletVirtualLikeSetReq struct {
|
||||
Ids []int64 `json:"ids"` // 短剧ID集合,传1个表示单条设置,传多个表示批量设置
|
||||
MinVirtualCountLike int64 `json:"minVirtualCountLike"` // 虚拟点赞数最小值,必须大于等于0
|
||||
MaxVirtualCountLike int64 `json:"maxVirtualCountLike"` // 虚拟点赞数最大值,必须大于等于最小值
|
||||
}
|
||||
|
||||
// PlayletVirtualBrowseSetReq web端单/批量设置短剧虚拟观看数请求
|
||||
type PlayletVirtualBrowseSetReq struct {
|
||||
Ids []int64 `json:"ids"` // 短剧ID集合
|
||||
MinVirtualCountBrowse int64 `json:"minVirtualCountBrowse"` // 虚拟观看数最小值
|
||||
MaxVirtualCountBrowse int64 `json:"maxVirtualCountBrowse"` // 虚拟观看数最大值
|
||||
}
|
||||
|
||||
// PlayletVirtualHeatSetReq web端单/批量设置短剧虚拟热度请求
|
||||
type PlayletVirtualHeatSetReq struct {
|
||||
Ids []int64 `json:"ids"` // 短剧ID集合
|
||||
MinVirtualHeatValue int64 `json:"minVirtualHeatValue"` // 虚拟热度最小值
|
||||
MaxVirtualHeatValue int64 `json:"maxVirtualHeatValue"` // 虚拟热度最大值
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package proto
|
||||
|
||||
import (
|
||||
"time"
|
||||
"videoweb/pub/common/response"
|
||||
"videoweb/pub/pubdef"
|
||||
)
|
||||
|
||||
// PlayletCategoryListReq web端分类分页列表请求
|
||||
type PlayletCategoryListReq struct {
|
||||
pubdef.Page
|
||||
Id *int64 `form:"id" json:"id"` // 分类ID
|
||||
Name string `form:"name" json:"name"` // 分类名称,支持模糊查询
|
||||
Status *bool `form:"status" json:"status"` // 启用状态
|
||||
}
|
||||
|
||||
// PlayletCategoryListResp web端分类列表项
|
||||
type PlayletCategoryListResp struct {
|
||||
Id int64 `json:"id"` // 分类ID
|
||||
Name string `json:"name"` // 分类名称
|
||||
Slug string `json:"slug"` // slug
|
||||
Icon string `json:"icon"` // 分类图标
|
||||
Status bool `json:"status"` // 启用状态
|
||||
Rank int64 `json:"rank"` // 排序,越大越靠前
|
||||
Remark string `json:"remark"` // 备注
|
||||
SeoInfo pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||||
CreatedAt time.Time `json:"createdAt"` // 创建时间
|
||||
UpdatedAt time.Time `json:"updatedAt"` // 更新时间
|
||||
}
|
||||
|
||||
// PlayletCategoryListPageResp web端分类分页列表响应
|
||||
type PlayletCategoryListPageResp struct {
|
||||
response.BasePageResp
|
||||
}
|
||||
|
||||
// PlayletCategoryAddReq web端新增分类请求
|
||||
type PlayletCategoryAddReq struct {
|
||||
Name string `json:"name" binding:"required"` // 分类名称
|
||||
Slug string `json:"slug"` // slug,不传则按 SEO 关键词或名称自动生成
|
||||
Icon string `json:"icon"` // 分类图标
|
||||
Status bool `json:"status"` // 启用状态
|
||||
Rank int64 `json:"rank"` // 排序,越大越靠前
|
||||
Remark string `json:"remark"` // 备注
|
||||
SeoInfo pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||||
}
|
||||
|
||||
// PlayletCategoryAddResp web端新增分类响应
|
||||
type PlayletCategoryAddResp struct {
|
||||
Id int64 `json:"id"` // 分类ID
|
||||
}
|
||||
|
||||
// PlayletCategoryUpdateReq web端更新分类请求
|
||||
type PlayletCategoryUpdateReq struct {
|
||||
Id int64 `json:"id" binding:"required"` // 分类ID
|
||||
Name *string `json:"name"` // 分类名称
|
||||
Slug *string `json:"slug"` // slug,历史数据为空时更新会自动生成
|
||||
Icon *string `json:"icon"` // 分类图标
|
||||
Status *bool `json:"status"` // 启用状态
|
||||
Rank *int64 `json:"rank"` // 排序,越大越靠前
|
||||
Remark *string `json:"remark"` // 备注
|
||||
SeoInfo *pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||||
}
|
||||
|
||||
// PlayletCategoryDelReq web端删除分类请求
|
||||
type PlayletCategoryDelReq struct {
|
||||
Id int64 `json:"id" binding:"required"` // 分类ID
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
package proto
|
||||
|
||||
import (
|
||||
"time"
|
||||
"videoweb/pub/common/response"
|
||||
"videoweb/pub/pubdef"
|
||||
)
|
||||
|
||||
// PlayletHomeConfigListReq web端首页配置分页列表请求
|
||||
type PlayletHomeConfigListReq struct {
|
||||
pubdef.Page
|
||||
Id *int64 `form:"id" json:"id"`
|
||||
Slug string `form:"slug" json:"slug"` // 页面路径标识
|
||||
Title string `form:"title" json:"title"`
|
||||
Desc string `form:"desc" json:"desc"`
|
||||
Label string `form:"label" json:"label"`
|
||||
Style string `form:"style" json:"style"`
|
||||
ModuleType *int64 `form:"moduleType" json:"moduleType"`
|
||||
DataType *int64 `form:"dataType" json:"dataType"` // 1全部上架短剧 2全部上架视频
|
||||
RecommendType *int64 `form:"recommendType" json:"recommendType"`
|
||||
CategoryId *int64 `form:"categoryId" json:"categoryId"`
|
||||
Enabled *bool `form:"enabled" json:"enabled"`
|
||||
}
|
||||
|
||||
// PlayletHomeConfigListResp web端首页配置列表项
|
||||
type PlayletHomeConfigListResp struct {
|
||||
Id int64 `json:"id"`
|
||||
Slug string `json:"slug"` // 页面路径标识
|
||||
Title string `json:"title"`
|
||||
Desc string `json:"desc"`
|
||||
Label string `json:"label"`
|
||||
Style string `json:"style"`
|
||||
CardBackgroundImage string `json:"cardBackgroundImage"`
|
||||
ModuleType int64 `json:"moduleType"`
|
||||
DataType int64 `json:"dataType"` // 1全部上架短剧 2全部上架视频
|
||||
RecommendType int64 `json:"recommendType"`
|
||||
CategoryId int64 `json:"categoryId"`
|
||||
TopicIds []int64 `json:"topicIds"` // 专题ID集合 短剧为题材ID 视频为分类ID
|
||||
Rank int64 `json:"rank"`
|
||||
Enabled bool `json:"enabled"`
|
||||
Limit int64 `json:"limit"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
}
|
||||
|
||||
type PlayletHomeConfigListPageResp struct {
|
||||
response.BasePageResp
|
||||
}
|
||||
|
||||
// PlayletHomeTopicOptionsReq 首页专题下拉选项分页请求
|
||||
type PlayletHomeTopicOptionsReq struct {
|
||||
pubdef.Page
|
||||
DataType int64 `form:"dataType" json:"dataType" binding:"required"` // 1短剧题材 2视频分类
|
||||
ConfigId int64 `form:"configId" json:"configId"` // 编辑时传当前首页配置ID,用于回显已选项
|
||||
}
|
||||
|
||||
// PlayletHomeTopicOption 首页专题下拉选项
|
||||
type PlayletHomeTopicOption struct {
|
||||
Id int64 `json:"id"` // 题材或视频分类ID
|
||||
Name string `json:"name"` // 题材或视频分类名称
|
||||
Status bool `json:"status"` // 上架状态,已选项下架时仍可回显
|
||||
}
|
||||
|
||||
// PlayletHomeTopicOptionsResp 首页专题下拉选项分页响应
|
||||
type PlayletHomeTopicOptionsResp struct {
|
||||
List []*PlayletHomeTopicOption `json:"list"` // 当前页可选项
|
||||
SelectedList []*PlayletHomeTopicOption `json:"selectedList"` // 当前配置已选项,独立于分页
|
||||
TotalCount int64 `json:"totalCount"` // 可选项总数
|
||||
PageNum int64 `json:"pageNum"` // 当前页码
|
||||
PageSize int64 `json:"pageSize"` // 每页数量
|
||||
}
|
||||
|
||||
type PlayletHomeConfigAddReq struct {
|
||||
Title string `json:"title" binding:"required"`
|
||||
Slug string `json:"slug"` // 页面路径标识 不传则按标题自动生成
|
||||
Desc string `json:"desc"`
|
||||
Label string `json:"label"`
|
||||
Style string `json:"style" binding:"required"`
|
||||
CardBackgroundImage string `json:"cardBackgroundImage"`
|
||||
ModuleType int64 `json:"moduleType"`
|
||||
DataType int64 `json:"dataType"` // 1全部上架短剧 2全部上架视频
|
||||
RecommendType int64 `json:"recommendType" binding:"required"`
|
||||
CategoryId int64 `json:"categoryId"`
|
||||
TopicIds []int64 `json:"topicIds"` // 专题ID集合 短剧为题材ID 视频为分类ID
|
||||
Rank int64 `json:"rank"`
|
||||
Enabled bool `json:"enabled"`
|
||||
Limit int64 `json:"limit"`
|
||||
}
|
||||
|
||||
type PlayletHomeConfigAddResp struct {
|
||||
Id int64 `json:"id"`
|
||||
}
|
||||
|
||||
type PlayletHomeConfigUpdateReq struct {
|
||||
Id int64 `json:"id" binding:"required"`
|
||||
Slug *string `json:"slug"` // 不传保持原值 历史空值自动生成
|
||||
Title *string `json:"title"`
|
||||
Desc *string `json:"desc"`
|
||||
Label *string `json:"label"`
|
||||
Style *string `json:"style"`
|
||||
CardBackgroundImage *string `json:"cardBackgroundImage"`
|
||||
ModuleType *int64 `json:"moduleType"`
|
||||
DataType *int64 `json:"dataType"` // 1全部上架短剧 2全部上架视频
|
||||
RecommendType *int64 `json:"recommendType"`
|
||||
CategoryId *int64 `json:"categoryId"`
|
||||
TopicIds *[]int64 `json:"topicIds"` // 不传保持原值 传空数组清空专题
|
||||
Rank *int64 `json:"rank"`
|
||||
Enabled *bool `json:"enabled"`
|
||||
Limit *int64 `json:"limit"`
|
||||
}
|
||||
|
||||
type PlayletHomeConfigDelReq struct {
|
||||
Ids []int64 `json:"ids" binding:"required"`
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
package proto
|
||||
|
||||
// PlayletResourceListReq web端短剧媒资列表请求
|
||||
type PlayletResourceListReq struct {
|
||||
Title *string `form:"title" json:"title"` // 标题
|
||||
Tag *string `form:"tag" json:"tag"` // 标签
|
||||
MediaType *int `form:"media_type" json:"media_type"` // 媒体类型 1-动漫 2-漫画 4-漫画短剧 5-短剧 6-普通短剧
|
||||
SyncType *int `form:"sync_type" json:"sync_type"` // 同步类型 1-全量同步 2-增量同步
|
||||
PageNumber int `form:"pageNumber" json:"pageNumber"` // 页码
|
||||
PageSize int `form:"pageSize" json:"pageSize"` // 个数
|
||||
}
|
||||
|
||||
// PlayletResourceListItem web端短剧媒资列表项
|
||||
type PlayletResourceListItem struct {
|
||||
ID uint `json:"id"`
|
||||
VloggerId uint `json:"vlogger_id"`
|
||||
Title string `json:"title"` // 标题
|
||||
SaleCoin uint `json:"sale_coin"` // 整部售价
|
||||
HorizontalCover string `json:"horizontal_cover"` // 横版封面
|
||||
VerticalCover string `json:"vertical_cover"` // 竖版封面
|
||||
Summary string `json:"summary"` // 简介
|
||||
TotalEpisode uint `json:"total_episode"` // 总集数
|
||||
UpdateStatus int `json:"update_status"` // 更新状态 1-连载中 2-已完结
|
||||
MediaType int `json:"media_type"` // 媒体类型
|
||||
Anchor string `json:"anchor"` // 作者
|
||||
TagsText string `json:"tags_text"` // 标签文字
|
||||
DataVersion int8 `json:"data_version"` // 数据版本
|
||||
TerminalCdo string `json:"terminal_cdo"` // 上传者
|
||||
CreateTime int64 `json:"create_time"` // 创建时间
|
||||
UpdateTime int64 `json:"update_time"` // 修改时间
|
||||
IsAdd bool `json:"isAdd"` // 是否已加入后台数据
|
||||
}
|
||||
|
||||
// PlayletResourceListResp web端短剧媒资列表响应
|
||||
type PlayletResourceListResp struct {
|
||||
List []*PlayletResourceListItem `json:"list"`
|
||||
Total uint `json:"total"`
|
||||
}
|
||||
|
||||
// PlayletResourceUseReq web端短剧媒资入库请求
|
||||
type PlayletResourceUseReq struct {
|
||||
Ids []uint `json:"ids"` // 媒资中心资源ID集合
|
||||
}
|
||||
|
||||
// PlayletResourceChapterListReq web端短剧媒资剧集列表请求
|
||||
type PlayletResourceChapterListReq struct {
|
||||
Id uint `form:"id" json:"id" binding:"required"` // 媒资中心资源ID
|
||||
}
|
||||
|
||||
// PlayletResourceChapterItem web端短剧媒资剧集项
|
||||
type PlayletResourceChapterItem struct {
|
||||
Id uint `json:"id"` // 媒资内容ID
|
||||
EpisodeNumber int `json:"episodeNumber"` // 第几集
|
||||
Title string `json:"title"` // 章节名
|
||||
Cover string `json:"cover"` // 封面
|
||||
VideoUrl string `json:"videoUrl"` // 播放地址
|
||||
Height uint `json:"height"` // 高
|
||||
Width uint `json:"width"` // 宽
|
||||
MediaSize uint `json:"mediaSize"` // 资源大小
|
||||
PlayTime uint `json:"playTime"` // 播放时长(秒)
|
||||
SaleCoin uint `json:"saleCoin"` // 单集售价
|
||||
HashId string `json:"hashId"` // 资源hash
|
||||
CreateTime int64 `json:"createTime"` // 创建时间
|
||||
UpdateTime int64 `json:"updateTime"` // 更新时间
|
||||
}
|
||||
|
||||
// PlayletResourceChapterListResp web端短剧媒资剧集列表响应
|
||||
type PlayletResourceChapterListResp struct {
|
||||
MediaId uint `json:"mediaId"` // 媒资中心资源ID
|
||||
Title string `json:"title"` // 短剧标题
|
||||
List []*PlayletResourceChapterItem `json:"list"` // 剧集列表
|
||||
Total int `json:"total"` // 剧集数量
|
||||
}
|
||||
|
||||
// PlayletResourceUseSuccess web端短剧媒资入库成功项
|
||||
type PlayletResourceUseSuccess struct {
|
||||
MediaId uint `json:"mediaId"`
|
||||
PlayletId int64 `json:"playletId"`
|
||||
}
|
||||
|
||||
// PlayletResourceUseFailed web端短剧媒资入库失败项
|
||||
type PlayletResourceUseFailed struct {
|
||||
MediaId uint `json:"mediaId"`
|
||||
Reason string `json:"reason"`
|
||||
}
|
||||
|
||||
// PlayletResourceUseResp web端短剧媒资入库响应
|
||||
type PlayletResourceUseResp struct {
|
||||
Success []*PlayletResourceUseSuccess `json:"success"`
|
||||
Failed []*PlayletResourceUseFailed `json:"failed"`
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package proto
|
||||
|
||||
import (
|
||||
"time"
|
||||
"videoweb/pub/common/response"
|
||||
"videoweb/pub/pubdef"
|
||||
)
|
||||
|
||||
// PlayletTagListReq web端标签分页列表请求
|
||||
type PlayletTagListReq struct {
|
||||
pubdef.Page
|
||||
Id *int64 `form:"id" json:"id"`
|
||||
Name string `form:"name" json:"name"`
|
||||
Status *bool `form:"status" json:"status"`
|
||||
}
|
||||
|
||||
// PlayletTagListResp web端标签列表项
|
||||
type PlayletTagListResp struct {
|
||||
Id int64 `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Status bool `json:"status"`
|
||||
Rank int64 `json:"rank"`
|
||||
SeoInfo pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
}
|
||||
|
||||
// PlayletTagListPageResp web端标签分页列表响应
|
||||
type PlayletTagListPageResp struct {
|
||||
response.BasePageResp
|
||||
}
|
||||
|
||||
// PlayletTagAddReq web端新增标签请求
|
||||
type PlayletTagAddReq struct {
|
||||
Name string `json:"name" binding:"required"`
|
||||
Status bool `json:"status"`
|
||||
Rank int64 `json:"rank"`
|
||||
SeoInfo pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||||
}
|
||||
|
||||
// PlayletTagAddResp web端新增标签响应
|
||||
type PlayletTagAddResp struct {
|
||||
Id int64 `json:"id"`
|
||||
}
|
||||
|
||||
// PlayletTagUpdateReq web端更新标签请求
|
||||
type PlayletTagUpdateReq struct {
|
||||
Id int64 `json:"id" binding:"required"`
|
||||
Name *string `json:"name"`
|
||||
Status *bool `json:"status"`
|
||||
Rank *int64 `json:"rank"`
|
||||
SeoInfo *pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||||
}
|
||||
|
||||
// PlayletTagDelReq web端删除标签请求
|
||||
type PlayletTagDelReq struct {
|
||||
Id int64 `json:"id" binding:"required"`
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package proto
|
||||
|
||||
import (
|
||||
"time"
|
||||
"videoweb/pub/common/response"
|
||||
"videoweb/pub/pubdef"
|
||||
)
|
||||
|
||||
// PlayletThemeListReq web端题材分页列表请求
|
||||
type PlayletThemeListReq struct {
|
||||
pubdef.Page
|
||||
Id *int64 `form:"id" json:"id"` // 题材ID
|
||||
Name string `form:"name" json:"name"` // 题材名称,支持模糊查询
|
||||
Status *bool `form:"status" json:"status"` // 上架状态
|
||||
}
|
||||
|
||||
// PlayletThemeListResp web端题材列表项
|
||||
type PlayletThemeListResp struct {
|
||||
Id int64 `json:"id"` // 题材ID
|
||||
Name string `json:"name"` // 题材名称
|
||||
Slug string `json:"slug"` // slug
|
||||
Icon string `json:"icon"` // 题材图标
|
||||
Status bool `json:"status"` // 上架状态
|
||||
Rank int64 `json:"rank"` // 排序,越大越靠前
|
||||
SeoInfo pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||||
CreatedAt time.Time `json:"createdAt"` // 创建时间
|
||||
UpdatedAt time.Time `json:"updatedAt"` // 更新时间
|
||||
}
|
||||
|
||||
// PlayletThemeListPageResp web端题材分页列表响应
|
||||
type PlayletThemeListPageResp struct {
|
||||
response.BasePageResp
|
||||
}
|
||||
|
||||
// PlayletThemeAddReq web端新增题材请求
|
||||
type PlayletThemeAddReq struct {
|
||||
Name string `json:"name" binding:"required"` // 题材名称
|
||||
Slug string `json:"slug"` // slug,不传则按 SEO 关键词或名称自动生成
|
||||
Icon string `json:"icon"` // 题材图标
|
||||
Status bool `json:"status"` // 上架状态
|
||||
Rank int64 `json:"rank"` // 排序,越大越靠前
|
||||
SeoInfo pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||||
}
|
||||
|
||||
// PlayletThemeAddResp web端新增题材响应
|
||||
type PlayletThemeAddResp struct {
|
||||
Id int64 `json:"id"` // 题材ID
|
||||
}
|
||||
|
||||
// PlayletThemeUpdateReq web端更新题材请求
|
||||
type PlayletThemeUpdateReq struct {
|
||||
Id int64 `json:"id" binding:"required"` // 题材ID
|
||||
Name *string `json:"name"` // 题材名称
|
||||
Slug *string `json:"slug"` // slug,历史数据为空时更新会自动生成
|
||||
Icon *string `json:"icon"` // 题材图标
|
||||
Status *bool `json:"status"` // 上架状态
|
||||
Rank *int64 `json:"rank"` // 排序,越大越靠前
|
||||
SeoInfo *pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||||
}
|
||||
|
||||
// PlayletThemeDelReq web端删除题材请求
|
||||
type PlayletThemeDelReq struct {
|
||||
Id int64 `json:"id" binding:"required"` // 题材ID
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package proto
|
||||
|
||||
// SlugSyncReq 后台补齐历史空 slug 请求
|
||||
type SlugSyncReq struct {
|
||||
MaxSize int64 `json:"maxSize"` // 本次最多处理的空 slug 记录数,默认500,最大2000
|
||||
Type string `json:"type"` // 可选,指定类型;空则按顺序处理全部
|
||||
}
|
||||
|
||||
// SlugSyncResp 后台补齐历史空 slug 响应
|
||||
type SlugSyncResp struct {
|
||||
VideoUpdated int64 `json:"videoUpdated"` // 本次补齐的视频数
|
||||
VideoCategoryUpdated int64 `json:"videoCategoryUpdated"` // 本次补齐的视频分类数
|
||||
ActressUpdated int64 `json:"actressUpdated"` // 本次补齐的女优数
|
||||
VideoCreaterUpdated int64 `json:"videoCreaterUpdated"` // 本次补齐的作者数
|
||||
PlayletUpdated int64 `json:"playletUpdated"` // 本次补齐的短剧数
|
||||
PlayletCategoryUpdated int64 `json:"playletCategoryUpdated"` // 本次补齐的短剧分类数
|
||||
PlayletThemeUpdated int64 `json:"playletThemeUpdated"` // 本次补齐的短剧主题数
|
||||
ContentTagUpdated int64 `json:"contentTagUpdated"` // 本次补齐的统一标签数
|
||||
TotalUpdated int64 `json:"totalUpdated"` // 本次合计补齐数
|
||||
HasMore bool `json:"hasMore"` // 是否还有未处理的历史数据
|
||||
}
|
||||
Reference in New Issue
Block a user