Files
huangguo_server/models/v/mediamod/web.go
T
rootandClaude Opus 5 8679200f41 Initial commit
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 13:57:10 +08:00

201 lines
6.7 KiB
Go

package mediamod
import (
"91porn-server/common/constant"
"go.mongodb.org/mongo-driver/bson/primitive"
)
type MediaType int
type KindType int
const (
_ = iota
RiFan // 1、哩番
ThreeD // 2、3D
FanAnimation // 3、同人动画
Offprint // 4、单行本
ComicStrip // 5、连载漫画
KoreanCartoon // 6、韩漫
AudioNovel // 7、有声小说
Theater // 8、剧场
)
const (
_ = iota
Animation // 1、动漫
Cartoon // 2、漫画
Novel // 3、小说
)
const (
Default = iota // 0 默认
Update // 1、更新中
Finish // 2、已完结
)
const (
SellTypeUnit = 0 // 单集购买
SellTypeSet = 1 // 整部购买
MediaTypeVideo = constant.Cartoon // 视频
MediaTypeImage = constant.Comics // 图片
MediaTypeText = constant.Text // 音频小说
MediaTypeDrama = constant.Drama // 短剧
)
type SendBaseInfo2AWsReq struct {
SourceID string `form:"sourceID" json:"sourceID"`
Md5 string `form:"md5" json:"md5"`
Title string `form:"title" json:"title"`
PlayTime uint `form:"playTime" json:"playTime"`
MediaSize int `form:"mediaSize" json:"mediaSize"`
Filename string `form:"filename" json:"filename"`
Tags []primitive.ObjectID `form:"tags" json:"tags" binding:"required"`
}
type TagDetail struct {
Id primitive.ObjectID `json:"id"` // 标签id
Name string `json:"name"` // 标签名
}
type WebExportMedia struct {
ID primitive.ObjectID `json:"id" bson:"_id,omitempty" xlsx:"ID"` // 文档id
Title string `json:"title" bson:"title" xlsx:"标题"` // 标题
Kind string `json:"kind" bson:"kind" xlsx:"种类"` // 种类(1、哩番,2、3D,3、同人动画,4、单行本,5、连载漫画,6、韩漫 7、小说 )
Direction string `json:"direction" bson:"direction" xlsx:"排版方向"` // 排版方向 0横 1竖(冗余字段)
TotalEpisode int `json:"totalEpisode" bson:"totalEpisode" xlsx:"总集数"` // 总集数
UpdateStatus string `json:"updateStatus" bson:"updateStatus" xlsx:"更新状态"` // 更新状态
Status string `json:"status" bson:"status" xlsx:"状态"` // 状态 0 下架 1 上架
ModuleName string `json:"moduleName" bson:"moduleName" xlsx:"模块名称"` // 模块名称
SectionName string `json:"sectionName" bson:"sectionName" xlsx:"专题名称"` // 专题名称
Tags string `json:"tags" bson:"tags" xlsx:"标签"` // 标签
MediaType string `json:"mediaType" bson:"mediaType" xlsx:"类型"` // 媒体类型 "video":视频,"image":图片,"text":小说
FreeTime int `json:"freeTime" bson:"freeTime" xlsx:"免费时长"` // 免费试看时长 单位 s
Price int64 `json:"price" bson:"price" xlsx:"价格"` // 价格(整部购买的类型 小说 cos 写真)
CountBrowse int64 `json:"countBrowse" bson:"countBrowse" xlsx:"浏览数"` // 浏览数
CountCollect int64 `json:"countCollect" bson:"countCollect" xlsx:"收藏数"` // 收藏数
CountComment int64 `json:"countComment" bson:"countComment" xlsx:"评论数"` // 评论数
CountLike int64 `json:"countLike" bson:"countLike" xlsx:"喜欢数"` // 喜欢数
CountPurchases int64 `json:"countPurchases" bson:"countPurchases" xlsx:"购买数"` // 购买数
CountView int64 `json:"countView" bson:"countView" xlsx:"展现数"` // 展现数
Permission string `json:"permission" bson:"permission" xlsx:"观看权限"` // 收听权限 0:会员 1:金币购买 2:免费
PermissionIconHide bool `json:"permissionIconHide" bson:"permissionIconHide" xlsx:"售卖类型标识隐藏"` // 售卖类型标识隐藏
Summary string `json:"summary" bson:"summary" xlsx:"简介"` // 简介
UpdatedAct string `json:"updatedAct" bson:"updatedAct" xlsx:"操作人"` // 操作用户账号
CreatedAt string `json:"createdAt" bson:"createdAt" xlsx:"创建时间"` // 文档创建时间
UpdateTime string `json:"updateTime" bson:"updateTime" xlsx:"更新时间"` // 文档更新时间
}
func MediaTypeName(mediaType string) string {
var name string
switch mediaType {
case "video":
name = "动漫"
case "image":
name = "漫画"
case "text":
name = "小说"
case "drama":
name = "短剧"
}
return name
}
func PermissionName(status int) string {
var name string
// 观看权限 0:会员 1:金币购买 2:免费
switch status {
case 0:
name = "会员"
case 1:
name = "金币购买"
case 2:
name = "免费"
default:
name = "未知"
}
return name
}
func SellTypeName(status int) string {
var name string
// 商品售卖类型(0单集售卖 1整部售卖)
switch status {
case 0:
name = "单集售卖"
case 1:
name = "整部售卖"
default:
name = "未知"
}
return name
}
func StatusName(status int) string {
var name string
// 状态 1 上架 2 下架
switch status {
case 1:
name = "上架"
case 2:
name = "下架"
default:
name = "未知"
}
return name
}
func UpdateStatusName(updateStatus int) string {
var name string
// 排版方向 0横 1竖(冗余字段)
switch updateStatus {
case 0, 1:
name = "连载中"
case 2:
name = "已完结"
default:
name = "未知"
}
return name
}
func DirectionName(direction int64) string {
var name string
// 排版方向 0横 1竖(冗余字段)
switch direction {
case 0:
name = "横版"
case 1:
name = "竖版"
default:
name = "未知"
}
return name
}
func KindName(kind int) string {
var name string
// 1、哩番,2、3D,3、同人动画,4、单行本,5、连载漫画,6、韩漫 7、小说
switch kind {
case 1:
name = "哩番"
case 2:
name = "3D"
case 3:
name = "同人动画"
case 4:
name = "单行本"
case 5:
name = "连载漫画"
case 6:
name = "韩漫"
case 7:
name = "小说"
case 8:
name = "剧场"
default:
name = "未知"
}
return name
}