Initial commit
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,528 @@
|
||||
package proto
|
||||
|
||||
import (
|
||||
"time"
|
||||
"videoweb/pub/pubdef"
|
||||
)
|
||||
|
||||
// HomePlayletResponse 首页响应
|
||||
type HomePlayletResponse struct {
|
||||
HomeBannerData []*HomeBannerData `json:"homeBannerData"` // 首页banner信息列表
|
||||
HomeTodayUpdateData []*CommonData `json:"homeTodayUpdateData"` // 最近更新集合,最多16条
|
||||
HomeCategoryData []*HomeCategoryData `json:"homeCategoryData"` // 启用分类短剧集合,按分类排序,每个分类最多16条
|
||||
HomeRecommendThemes []*HomeRecommendTheme `json:"homeRecommendThemes"` // 推荐主题,最多4条
|
||||
Announcements []*AnnouncementItem `json:"announcements"` // 启用中的公告,来自独立缓存
|
||||
SeoInfo *SeoInfo `json:"seoInfo,omitempty"` // 页面SEO信息(短剧列表页SEO)
|
||||
}
|
||||
|
||||
// HomeRecommendTheme 首页推荐主题
|
||||
type HomeRecommendTheme struct {
|
||||
Id int64 `json:"id"` // 题材ID
|
||||
Name string `json:"name"` // 题材名称
|
||||
Slug string `json:"slug"` // slug
|
||||
Icon string `json:"icon"` // 题材图标,已拼接图片域名
|
||||
Rank int64 `json:"rank"` // 排序,越大越靠前
|
||||
PlayletCount int64 `json:"playletCount"` // 该题材绑定的上架短剧数量
|
||||
}
|
||||
|
||||
// AnnouncementItem 首页公告
|
||||
type AnnouncementItem struct {
|
||||
Id int64 `json:"id"` // 公告ID
|
||||
Title string `json:"title"` // 标题
|
||||
Content string `json:"content"` // 内容
|
||||
}
|
||||
|
||||
// HomeCategoryData 首页分类短剧集合数据
|
||||
type HomeCategoryData 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"` // 分类排序,越大越靠前
|
||||
List []*CommonData `json:"list"` // 分类下短剧集合,最多16条
|
||||
}
|
||||
|
||||
// PlayletRecommendListReq 分类短剧分页请求
|
||||
type PlayletRecommendListReq struct {
|
||||
// 普通分页参数,pageNum默认1,pageSize默认10、最大100
|
||||
pubdef.Page
|
||||
CategoryId int64 `form:"categoryId" json:"categoryId"` // 分类ID
|
||||
CategorySlug string `form:"categorySlug" json:"categorySlug"` // 分类slug,非空时优先按slug解析分类ID
|
||||
}
|
||||
|
||||
// PlayletRecommendListResp 分类短剧分页响应
|
||||
type PlayletRecommendListResp struct {
|
||||
CategoryId int64 `json:"categoryId"` // 分类ID
|
||||
CategoryName string `json:"categoryName"` // 分类名称
|
||||
CategorySlug string `json:"categorySlug"` // 分类slug
|
||||
CategoryDesc string `json:"categoryDesc"` // 分类描述
|
||||
TotalCount int64 `json:"totalCount"` // 总共数量
|
||||
PageSize int `json:"pageSize"` // 每页数
|
||||
PageNum int `json:"pageNum"` // 页数
|
||||
List []CommonData `json:"list"` // 短剧集合
|
||||
SeoInfo *SeoInfo `json:"seoInfo,omitempty"` // 页面SEO信息(分类SEO)
|
||||
}
|
||||
|
||||
// HomeBannerData 首页banner信息
|
||||
type HomeBannerData 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-停用
|
||||
}
|
||||
|
||||
// CommonData 首页通用数据
|
||||
type CommonData struct {
|
||||
Id int64 `json:"id"` // 短剧id
|
||||
Status int32 `json:"status"` // 状态: 0下架 1上架
|
||||
IsFeatured bool `json:"isFeatured"` // 是否爆剧(true-是,false-否)
|
||||
IsRecommend bool `json:"isRecommend"` // 是否推荐 true-推荐,false-不推荐
|
||||
IsNew bool `json:"isNew"` // 是否上新,本周内上架为true
|
||||
OperateType int32 `json:"operateType"` // 运营类型 1-短剧 2-漫剧
|
||||
ShowOnBanner bool `json:"showOnBanner"` // 是否显示在首页banner
|
||||
Banner string `json:"banner"` // banner图,已拼接图片域名
|
||||
OnlineAt time.Time `json:"onlineAt"` // 上架时间
|
||||
MediaCreatedAt time.Time `json:"mediaCreatedAt"` // 媒资中心创建时间
|
||||
MediaUpdatedAt time.Time `json:"mediaUpdatedAt"` // 媒资中心更新时间
|
||||
ThemeIds []int64 `json:"themeIds"` // 题材ID集合
|
||||
ThemeNames []string `json:"themeNames"` // 题材名称集合
|
||||
ThemeSlugs []string `json:"themeSlugs"` // 题材slug集合
|
||||
Title string `json:"title"` // 标题
|
||||
PlayName string `json:"playName"` // 剧名
|
||||
Description string `json:"description"` // SEO Description
|
||||
Slug string `json:"slug"` // slug
|
||||
Desc string `json:"desc"` // 简介
|
||||
Anchor string `json:"anchor"` // 作者/演员
|
||||
Cover string `json:"cover"` // 封面,已拼接图片域名
|
||||
TagIds []int64 `json:"tagIds"` // 标签ID集合
|
||||
TagNames []string `json:"tagNames"` // 标签名称集合
|
||||
TagSlugs []string `json:"tagSlugs"` // 标签slug集合
|
||||
TotalEpisode int64 `json:"totalEpisode"` // 总集数
|
||||
UpdateStatus int `json:"updateStatus"` // 更新状态 1-连载中 2-已完结
|
||||
CountBrowse int64 `json:"countBrowse"` // 观看量
|
||||
HeatValue int64 `json:"heatValue"` // 热度值
|
||||
CountCollect int64 `json:"countCollect"` // 收藏数
|
||||
CountLike int64 `json:"countLike"` // 点赞数,包含真实点赞数和后台虚拟点赞数
|
||||
CreatedAt time.Time `json:"createdAt"` // 创建时间
|
||||
UpdatedAt time.Time `json:"updatedAt"` // 修改时间
|
||||
SeoInfo pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||||
}
|
||||
|
||||
// PlayletVideoReq 短剧请求
|
||||
type PlayletVideoReq struct {
|
||||
// 普通分页参数,pageNum默认1,pageSize默认10、最大100
|
||||
pubdef.Page
|
||||
ThemeId int64 `form:"themeId" json:"themeId"` // 题材ID
|
||||
ThemeSlug string `form:"themeSlug" json:"themeSlug"` // 题材slug,非空时优先按slug解析题材ID
|
||||
SortOrder int64 `form:"sortOrder" json:"sortOrder"` // 排序 1-热度优先,按收藏量倒序 2-今日更新,按上架时间倒序
|
||||
}
|
||||
|
||||
// PlayletVideoResp 短剧响应
|
||||
type PlayletVideoResp struct {
|
||||
// 总共数量
|
||||
TotalCount int64 `json:"totalCount"`
|
||||
// 每页数
|
||||
PageSize int `json:"pageSize"`
|
||||
// 页数
|
||||
PageNum int `json:"pageNum"`
|
||||
// 短剧集合
|
||||
List []CommonData `json:"list"`
|
||||
// 页面SEO信息:有 themeId 时返回题材 SEO,否则返回短剧列表页 SEO
|
||||
SeoInfo *SeoInfo `json:"seoInfo,omitempty"`
|
||||
}
|
||||
|
||||
// PlayletRankReq 短剧排行榜请求
|
||||
type PlayletRankReq struct {
|
||||
// 普通分页参数,pageNum默认1,pageSize默认10、最大100
|
||||
pubdef.Page
|
||||
SortOrder int64 `form:"sortOrder" json:"sortOrder"` // 排序 1-热播榜,按热度值倒序 2-新剧榜,按上架时间倒序 3-追剧榜,按收藏数倒序
|
||||
}
|
||||
|
||||
// PlayletRankResp 短剧排行榜响应
|
||||
type PlayletRankResp struct {
|
||||
TotalCount int64 `json:"totalCount"` // 总共数量
|
||||
PageSize int `json:"pageSize"` // 每页数
|
||||
PageNum int `json:"pageNum"` // 页数
|
||||
List []CommonData `json:"list"` // 短剧集合
|
||||
SeoInfo *SeoInfo `json:"seoInfo,omitempty"` // 页面SEO信息(短剧列表页SEO)
|
||||
}
|
||||
|
||||
// PlayletOperateListReq 按运营类型分页查询短剧请求
|
||||
type PlayletOperateListReq struct {
|
||||
pubdef.Page
|
||||
OperateType int32 `form:"operateType" json:"operateType"` // 运营类型 1-短剧 2-漫剧
|
||||
FilterType int64 `form:"filterType" json:"filterType"` // 筛选类型 1-最近更新 2-当前热播 3-独家原创
|
||||
}
|
||||
|
||||
// PlayletOperateListResp 按运营类型分页查询短剧响应
|
||||
type PlayletOperateListResp struct {
|
||||
TotalCount int64 `json:"totalCount"` // 总共数量
|
||||
PageSize int `json:"pageSize"` // 每页数
|
||||
PageNum int `json:"pageNum"` // 页数
|
||||
OperateType int32 `json:"operateType"` // 运营类型 1-短剧 2-漫剧
|
||||
FilterType int64 `json:"filterType"` // 筛选类型 1-最近更新 2-当前热播 3-独家原创
|
||||
List []CommonData `json:"list"` // 短剧集合
|
||||
}
|
||||
|
||||
// PlayletTodayUpdateReq 今日更新短剧请求
|
||||
type PlayletTodayUpdateReq struct {
|
||||
// 普通分页参数,pageNum默认1,pageSize默认10、最大100
|
||||
pubdef.Page
|
||||
}
|
||||
|
||||
// PlayletTodayUpdateResp 今日更新短剧响应
|
||||
type PlayletTodayUpdateResp struct {
|
||||
TotalCount int64 `json:"totalCount"` // 总共数量
|
||||
PageSize int `json:"pageSize"` // 每页数
|
||||
PageNum int `json:"pageNum"` // 页数
|
||||
List []CommonData `json:"list"` // 短剧集合
|
||||
SeoInfo *SeoInfo `json:"seoInfo,omitempty"` // 页面SEO信息(短剧列表页SEO)
|
||||
}
|
||||
|
||||
// PlayletTagVideoReq 根据标签ID分页查询短剧请求
|
||||
type PlayletTagVideoReq struct {
|
||||
// 普通分页参数,pageNum默认1,pageSize默认10、最大100
|
||||
pubdef.Page
|
||||
TagId int64 `form:"tagId" json:"tagId"` // 标签ID
|
||||
TagSlug string `form:"tagSlug" json:"tagSlug"` // 标签slug,非空时优先按slug解析标签ID
|
||||
}
|
||||
|
||||
// PlayletTagVideoResp 根据标签ID分页查询短剧响应
|
||||
type PlayletTagVideoResp struct {
|
||||
TotalCount int64 `json:"totalCount"` // 总共数量
|
||||
PageSize int `json:"pageSize"` // 每页数
|
||||
PageNum int `json:"pageNum"` // 页数
|
||||
List []CommonData `json:"list"` // 短剧集合
|
||||
SeoInfo *SeoInfo `json:"seoInfo,omitempty"` // 页面SEO信息(标签SEO)
|
||||
}
|
||||
|
||||
// PlayletSearchReq 短剧ES分页搜索请求
|
||||
type PlayletSearchReq struct {
|
||||
// 普通分页参数,pageNum默认1,pageSize默认10、最大100
|
||||
pubdef.Page
|
||||
Keyword string `form:"keyword" json:"keyword"` // 搜索关键词,支持剧名、题材名、简介和标签名
|
||||
}
|
||||
|
||||
// PlayletSearchResp 短剧ES分页搜索响应
|
||||
type PlayletSearchResp struct {
|
||||
TotalCount int64 `json:"totalCount"` // 总共数量
|
||||
PageSize int `json:"pageSize"` // 每页数
|
||||
PageNum int `json:"pageNum"` // 页数
|
||||
List []CommonData `json:"list"` // 短剧集合
|
||||
}
|
||||
|
||||
// PlayletHotSearchItem 热搜词
|
||||
type PlayletHotSearchItem struct {
|
||||
Keyword string `json:"keyword"` // 搜索词
|
||||
Count int64 `json:"count"` // 搜索次数
|
||||
}
|
||||
|
||||
// PlayletHotLikeResp 热搜词和猜你喜欢
|
||||
type PlayletHotLikeResp struct {
|
||||
HotSearch []PlayletHotSearchItem `json:"hotSearch"` // 前10个热搜词
|
||||
GuessLike []*CommonData `json:"guessLike"` // 按收藏量最多的15部上架短剧
|
||||
}
|
||||
|
||||
// PlayletLikeSetReq 短剧点赞设置请求
|
||||
type PlayletLikeSetReq struct {
|
||||
Id int64 `json:"id" binding:"required"` // 短剧ID
|
||||
IsLike *bool `json:"isLike" binding:"required"` // 是否点赞,true-点赞,false-取消点赞
|
||||
}
|
||||
|
||||
// PlayletLikeSetResp 短剧点赞设置响应
|
||||
type PlayletLikeSetResp struct {
|
||||
Id int64 `json:"id"` // 短剧ID
|
||||
IsLike int64 `json:"isLike"` // 点赞状态 1-已点赞 2-未点赞
|
||||
CountLike int64 `json:"countLike"` // 短剧点赞数
|
||||
}
|
||||
|
||||
// PlayletCollectSetReq 短剧收藏设置请求
|
||||
type PlayletCollectSetReq struct {
|
||||
Id int64 `json:"id" binding:"required"` // 短剧ID
|
||||
IsCollect *bool `json:"isCollect" binding:"required"` // 是否收藏,true-收藏,false-取消收藏
|
||||
}
|
||||
|
||||
// PlayletCollectSetResp 短剧收藏设置响应
|
||||
type PlayletCollectSetResp struct {
|
||||
Id int64 `json:"id"` // 短剧ID
|
||||
IsCollect int64 `json:"isCollect"` // 收藏状态 1-已收藏 2-未收藏
|
||||
CountCollect int64 `json:"countCollect"` // 短剧收藏数
|
||||
}
|
||||
|
||||
// PlayletForwardHeatReq 短剧转发加热度请求
|
||||
type PlayletForwardHeatReq struct {
|
||||
Id int64 `json:"id" binding:"required"` // 短剧ID
|
||||
}
|
||||
|
||||
// PlayletForwardHeatResp 短剧转发加热度响应
|
||||
type PlayletForwardHeatResp struct {
|
||||
Id int64 `json:"id"` // 短剧ID
|
||||
HeatValue int64 `json:"heatValue"` // 加热后的热度值
|
||||
}
|
||||
|
||||
// PlayletCollectListReq 我的收藏列表请求
|
||||
type PlayletCollectListReq struct {
|
||||
// 普通分页参数,pageNum默认1,pageSize默认10、最大100
|
||||
pubdef.Page
|
||||
}
|
||||
|
||||
// PlayletCollectData 我的收藏列表项
|
||||
type PlayletCollectData struct {
|
||||
Id int64 `json:"id"` // 短剧ID
|
||||
Title string `json:"title"` // 标题
|
||||
PlayName string `json:"playName"` // 剧名
|
||||
Slug string `json:"slug"` // slug
|
||||
Cover string `json:"cover"` // 封面,已拼接图片域名
|
||||
ThemeIds []int64 `json:"themeIds"` // 题材ID集合
|
||||
ThemeNames []string `json:"themeNames"` // 题材名称集合
|
||||
ThemeSlugs []string `json:"themeSlugs"` // 题材slug集合
|
||||
TagIds []int64 `json:"tagIds"` // 标签ID集合
|
||||
TagNames []string `json:"tagNames"` // 标签名称集合
|
||||
TagSlugs []string `json:"tagSlugs"` // 标签slug集合
|
||||
TotalEpisode int64 `json:"totalEpisode"` // 总集数
|
||||
UpdateStatus int `json:"updateStatus"` // 更新状态 1-连载中 2-已完结
|
||||
CountBrowse int64 `json:"countBrowse"` // 观看量
|
||||
HeatValue int64 `json:"heatValue"` // 热度值
|
||||
CountCollect int64 `json:"countCollect"` // 收藏数
|
||||
IsCollect int64 `json:"isCollect"` // 收藏状态,收藏列表固定返回1-已收藏
|
||||
CollectedAt time.Time `json:"collectedAt"` // 收藏时间
|
||||
WatchedCount int64 `json:"watchedCount"` // 当前用户已看集数
|
||||
UnwatchedCount int64 `json:"unwatchedCount"` // 当前用户未看集数,按totalEpisode-watchedCount计算
|
||||
LastChapterId int64 `json:"lastChapterId"` // 最近观看剧集ID,无观看进度时为0
|
||||
LastEpisode int64 `json:"lastEpisode"` // 最近观看集数,无观看进度时为0
|
||||
SeoInfo pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||||
}
|
||||
|
||||
// PlayletCollectListResp 我的收藏列表响应
|
||||
type PlayletCollectListResp struct {
|
||||
TotalCount int64 `json:"totalCount"` // 总收藏数量
|
||||
PageSize int `json:"pageSize"` // 每页数
|
||||
PageNum int `json:"pageNum"` // 页数
|
||||
List []PlayletCollectData `json:"list"` // 收藏短剧集合
|
||||
}
|
||||
|
||||
// PlayletHistoryListReq 观看历史列表请求
|
||||
type PlayletHistoryListReq struct {
|
||||
// 普通分页参数,pageNum默认1,pageSize默认20、最大100
|
||||
pubdef.Page
|
||||
}
|
||||
|
||||
// PlayletHistoryData 观看历史列表项
|
||||
type PlayletHistoryData struct {
|
||||
CommonData
|
||||
LastChapterId int64 `json:"lastChapterId"` // 最近观看剧集ID
|
||||
LastEpisode int64 `json:"lastEpisode"` // 最近观看集数
|
||||
WatchedCount int64 `json:"watchedCount"` // 当前用户已看集数
|
||||
UnwatchedCount int64 `json:"unwatchedCount"` // 当前用户未看集数
|
||||
IsFinished bool `json:"isFinished"` // 是否已看完
|
||||
HistoryAt time.Time `json:"historyAt"` // 最近观看时间
|
||||
}
|
||||
|
||||
// PlayletHistoryListResp 观看历史列表响应
|
||||
type PlayletHistoryListResp struct {
|
||||
TotalCount int64 `json:"totalCount"` // 总历史数量
|
||||
PageSize int `json:"pageSize"` // 每页数
|
||||
PageNum int `json:"pageNum"` // 页数
|
||||
List []PlayletHistoryData `json:"list"` // 观看历史集合
|
||||
}
|
||||
|
||||
// PlayletHistoryClearResp 清空观看历史响应
|
||||
type PlayletHistoryClearResp struct {
|
||||
DeletedCount int64 `json:"deletedCount"` // 删除记录数量
|
||||
}
|
||||
|
||||
// PlayletChapterLikeSetReq 短剧剧集点赞设置请求
|
||||
type PlayletChapterLikeSetReq struct {
|
||||
ChapterId int64 `json:"chapterId" binding:"required"` // 短剧剧集ID
|
||||
IsLike *bool `json:"isLike" binding:"required"` // 是否点赞,true-点赞,false-取消点赞
|
||||
}
|
||||
|
||||
// PlayletChapterLikeSetResp 短剧剧集点赞设置响应
|
||||
type PlayletChapterLikeSetResp struct {
|
||||
ChapterId int64 `json:"chapterId"` // 短剧剧集ID
|
||||
IsLike int64 `json:"isLike"` // 点赞状态 1-已点赞 2-未点赞
|
||||
CountLike int64 `json:"countLike"` // 短剧剧集点赞数
|
||||
}
|
||||
|
||||
// PlayletChapterCollectSetReq 短剧剧集收藏设置请求
|
||||
type PlayletChapterCollectSetReq struct {
|
||||
ChapterId int64 `json:"chapterId" binding:"required"` // 短剧剧集ID
|
||||
IsCollect *bool `json:"isCollect" binding:"required"` // 是否收藏,true-收藏,false-取消收藏
|
||||
}
|
||||
|
||||
// PlayletChapterCollectSetResp 短剧剧集收藏设置响应
|
||||
type PlayletChapterCollectSetResp struct {
|
||||
ChapterId int64 `json:"chapterId"` // 短剧剧集ID
|
||||
IsCollect int64 `json:"isCollect"` // 收藏状态 1-已收藏 2-未收藏
|
||||
CountCollect int64 `json:"countCollect"` // 短剧剧集收藏数
|
||||
}
|
||||
|
||||
// PlayletChapterCollectListReq 我的剧集收藏列表请求
|
||||
type PlayletChapterCollectListReq struct {
|
||||
// 普通分页参数,pageNum默认1,pageSize默认10、最大100
|
||||
pubdef.Page
|
||||
}
|
||||
|
||||
// PlayletChapterCollectData 我的剧集收藏列表项
|
||||
type PlayletChapterCollectData struct {
|
||||
PlayletId int64 `json:"playletId"` // 短剧ID
|
||||
PlayletTitle string `json:"playletTitle"` // 短剧标题
|
||||
PlayletCover string `json:"playletCover"` // 短剧封面,已拼接图片域名
|
||||
TotalEpisode int64 `json:"totalEpisode"` // 短剧总集数
|
||||
UpdateStatus int `json:"updateStatus"` // 更新状态 1-连载中 2-已完结
|
||||
ChapterId int64 `json:"chapterId"` // 短剧剧集ID
|
||||
CurrentEpisode int64 `json:"currentEpisode"` // 第几集
|
||||
ChapterTitle string `json:"chapterTitle"` // 剧集标题
|
||||
VideoUrl string `json:"videoUrl"` // 播放地址
|
||||
MediaTime int64 `json:"mediaTime"` // 影片长度(秒)
|
||||
PayType int32 `json:"payType"` // 支付方式 0-免费 1-金币 2-VIP
|
||||
SingleCoins int64 `json:"singleCoins"` // 单集金币
|
||||
CountBrowse int64 `json:"countBrowse"` // 剧集观看数
|
||||
CountCollect int64 `json:"countCollect"` // 剧集收藏数
|
||||
IsCollect int64 `json:"isCollect"` // 收藏状态,收藏列表固定返回1-已收藏
|
||||
CollectedAt time.Time `json:"collectedAt"` // 收藏时间
|
||||
}
|
||||
|
||||
// PlayletChapterCollectListResp 我的剧集收藏列表响应
|
||||
type PlayletChapterCollectListResp struct {
|
||||
TotalCount int64 `json:"totalCount"` // 总收藏数量
|
||||
PageSize int `json:"pageSize"` // 每页数
|
||||
PageNum int `json:"pageNum"` // 页数
|
||||
List []PlayletChapterCollectData `json:"list"` // 收藏剧集集合
|
||||
}
|
||||
|
||||
// PlayletChapterWatchReportReq 短剧剧集观看上报请求
|
||||
type PlayletChapterWatchReportReq struct {
|
||||
PlayletId int64 `json:"playletId"` // 短剧ID,传入时用于校验剧集归属
|
||||
ChapterId int64 `json:"chapterId" binding:"required"` // 短剧剧集ID
|
||||
}
|
||||
|
||||
// PlayletChapterWatchReportResp 短剧剧集观看上报响应
|
||||
type PlayletChapterWatchReportResp struct {
|
||||
PlayletId int64 `json:"playletId"` // 短剧ID
|
||||
ChapterId int64 `json:"chapterId"` // 短剧剧集ID
|
||||
CurrentEpisode int64 `json:"currentEpisode"` // 当前集数
|
||||
WatchedCount int64 `json:"watchedCount"` // 当前用户已看集数
|
||||
UnwatchedCount int64 `json:"unwatchedCount"` // 当前用户未看集数
|
||||
LastChapterId int64 `json:"lastChapterId"` // 最近观看剧集ID
|
||||
LastEpisode int64 `json:"lastEpisode"` // 最近观看集数
|
||||
}
|
||||
|
||||
// PlayletInfoReq 详情请求
|
||||
type PlayletInfoReq struct {
|
||||
Id int64 `form:"id" json:"id"` // 短剧id
|
||||
Slug string `form:"slug" json:"slug"` // 短剧slug,非空时优先按slug解析短剧ID
|
||||
}
|
||||
|
||||
// PlayletChapterInfoReq 短剧剧集详情请求
|
||||
type PlayletChapterInfoReq struct {
|
||||
PlayletId int64 `form:"playletId" json:"playletId"` // 短剧ID,传入时用于校验剧集归属
|
||||
PlayletSlug string `form:"playletSlug" json:"playletSlug"` // 短剧slug,非空时优先按slug解析短剧ID
|
||||
ChapterId int64 `form:"chapterId" json:"chapterId" binding:"required"` // 短剧剧集ID
|
||||
}
|
||||
|
||||
// PlayletChapterListReq 短剧剧集列表请求
|
||||
type PlayletChapterListReq struct {
|
||||
PlayletId int64 `form:"playletId" json:"playletId"` // 短剧ID
|
||||
PlayletSlug string `form:"playletSlug" json:"playletSlug"` // 短剧slug,非空时优先按slug解析短剧ID
|
||||
}
|
||||
|
||||
// PlayletChapterListResp 短剧剧集列表响应
|
||||
type PlayletChapterListResp struct {
|
||||
PlayletId int64 `json:"playletId"` // 短剧ID
|
||||
List []PlayletChapterData `json:"list"` // 短剧剧集集合
|
||||
}
|
||||
|
||||
// PlayletChapterInfoResp 短剧剧集详情响应
|
||||
type PlayletChapterInfoResp struct {
|
||||
Id int64 `json:"id"` // 短剧剧集ID
|
||||
PlayletId int64 `json:"playletId"` // 短剧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"` // 影片长度(秒)
|
||||
CountComment int64 `json:"countComment"` // 短剧剧集评论数
|
||||
CountBrowse int64 `json:"countBrowse"` // 短剧剧集观看数
|
||||
CountCollect int64 `json:"countCollect"` // 短剧剧集收藏数
|
||||
CountLike int64 `json:"countLike"` // 短剧剧集点赞数
|
||||
IsLike int64 `json:"isLike"` // 点赞状态 1-已点赞 2-未点赞
|
||||
IsCollect int64 `json:"isCollect"` // 收藏状态 1-已收藏 2-未收藏
|
||||
PayType int32 `json:"payType"` // 支付方式 0-免费 1-金币 2-VIP
|
||||
SingleCoins int64 `json:"singleCoins"` // 单集金币(支付方式为1-金币时候生效)
|
||||
CanWatch bool `json:"canWatch"` // 是否可观看
|
||||
NeedUnlock bool `json:"needUnlock"` // 是否需要金币解锁
|
||||
NeedVip bool `json:"needVip"` // 是否需要开通VIP
|
||||
CostCoins int64 `json:"costCoins"` // 本次解锁消耗金币
|
||||
Balance int64 `json:"balance"` // 当前金币余额
|
||||
VipValid bool `json:"vipValid"` // 当前用户VIP是否有效
|
||||
IsUnlocked bool `json:"isUnlocked"` // 当前用户是否已解锁本集
|
||||
// 页面SEO信息
|
||||
SeoInfo *SeoInfo `json:"seoInfo,omitempty"`
|
||||
}
|
||||
|
||||
// PlayletChapterUnlockReq 短剧剧集金币解锁请求
|
||||
type PlayletChapterUnlockReq struct {
|
||||
PlayletId int64 `json:"playletId" binding:"required"` // 短剧ID
|
||||
ChapterId int64 `json:"chapterId" binding:"required"` // 短剧剧集ID
|
||||
}
|
||||
|
||||
// PlayletChapterUnlockResp 短剧剧集金币解锁响应
|
||||
type PlayletChapterUnlockResp struct {
|
||||
PlayletId int64 `json:"playletId"` // 短剧ID
|
||||
ChapterId int64 `json:"chapterId"` // 短剧剧集ID
|
||||
Unlocked bool `json:"unlocked"` // 是否已解锁
|
||||
CanWatch bool `json:"canWatch"` // 是否可观看
|
||||
Balance int64 `json:"balance"` // 当前金币余额
|
||||
CostCoins int64 `json:"costCoins"` // 本次解锁消耗金币
|
||||
ChangeCoin int64 `json:"changeCoin"` // 本次实际扣减金币,幂等命中时为0
|
||||
}
|
||||
|
||||
// PlayletInfoResp 详情响应
|
||||
type PlayletInfoResp struct {
|
||||
CommonData
|
||||
// 是否点赞(1-已点赞,2-未点赞)
|
||||
IsLike int64 `json:"isLike"`
|
||||
// 是否收藏(1-已收藏,2-未收藏)
|
||||
IsCollect int64 `json:"isCollect"`
|
||||
// 相关推荐集合
|
||||
RelatedRecommendData []*CommonData `json:"relatedRecommendData"`
|
||||
// 短剧章节集合
|
||||
PlayletChapterInfo []PlayletChapterData `json:"playletChapterInfo"`
|
||||
// 页面SEO信息
|
||||
SeoInfo *SeoInfo `json:"seoInfo,omitempty"`
|
||||
}
|
||||
|
||||
// PlayletChapterData 短剧章节信息
|
||||
type PlayletChapterData struct {
|
||||
Id int64 `json:"id"` // 短剧剧集ID
|
||||
PlayletId int64 `json:"playletId"` // 短剧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 int32 `json:"payType"` // 支付方式 0-免费 1-金币 2-VIP
|
||||
SingleCoins int64 `json:"singleCoins"` // 单集金币(支付方式为1-金币时候生效)
|
||||
CanWatch bool `json:"canWatch"` // 是否可观看
|
||||
NeedUnlock bool `json:"needUnlock"` // 是否需要金币解锁
|
||||
NeedVip bool `json:"needVip"` // 是否需要开通VIP
|
||||
CostCoins int64 `json:"costCoins"` // 本次解锁消耗金币
|
||||
Balance int64 `json:"balance"` // 当前金币余额
|
||||
VipValid bool `json:"vipValid"` // 当前用户VIP是否有效
|
||||
IsUnlocked bool `json:"isUnlocked"` // 当前用户是否已解锁本集
|
||||
}
|
||||
Reference in New Issue
Block a user