Files
2026-10-26 16:28:14 +08:00

65 lines
2.6 KiB
Go

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
}