mirror of
https://github.com/ProudMuBai/GoFilm.git
synced 2026-02-13 21:44:42 +08:00
110 lines
3.4 KiB
Go
110 lines
3.4 KiB
Go
package collect
|
|
|
|
import (
|
|
"encoding/json"
|
|
"encoding/xml"
|
|
"server/config"
|
|
"server/plugin/db"
|
|
)
|
|
|
|
/*
|
|
视频列表接口序列化 struct
|
|
*/
|
|
|
|
//-------------------------------------------------Json 格式-------------------------------------------------
|
|
|
|
// CommonPage 影视列表接口分页数据结构体
|
|
type CommonPage struct {
|
|
Code int `json:"code"` // 响应状态码
|
|
Msg string `json:"msg"` // 数据类型
|
|
Page any `json:"page"` // 页码
|
|
PageCount int `json:"pagecount"` // 总页数
|
|
Limit any `json:"limit"` // 每页数据量
|
|
Total int `json:"total"` // 总数据量
|
|
}
|
|
|
|
// FilmListPage 影视列表接口分页数据结构体
|
|
type FilmListPage struct {
|
|
Code int `json:"code"` // 响应状态码
|
|
Msg string `json:"msg"` // 数据类型
|
|
Page any `json:"page"` // 页码
|
|
PageCount int `json:"pagecount"` // 总页数
|
|
Limit any `json:"limit"` // 每页数据量
|
|
Total int `json:"total"` // 总数据量
|
|
List []FilmList `json:"list"` // 影片列表数据List集合
|
|
Class []FilmClass `json:"class"` // 影片分类信息
|
|
}
|
|
|
|
// FilmList 影视列表单部影片信息结构体
|
|
type FilmList struct {
|
|
VodID int64 `json:"vod_id"` // 影片ID
|
|
VodName string `json:"vod_name"` // 影片名称
|
|
TypeID int64 `json:"type_id"` // 分类ID
|
|
TypeName string `json:"type_name"` // 分类名称
|
|
VodEn string `json:"vod_en"` // 影片名中文拼音
|
|
VodTime string `json:"vod_time"` // 更新时间
|
|
VodRemarks string `json:"vod_remarks"` // 更新状态
|
|
VodPlayFrom string `json:"vod_play_from"` // 播放来源
|
|
}
|
|
|
|
// FilmClass 影视分类信息结构体
|
|
type FilmClass struct {
|
|
TypeID int64 `json:"type_id"` // 分类ID
|
|
TypePid int64 `json:"type_pid"` // 父级ID
|
|
TypeName string `json:"type_name"` // 类型名称
|
|
}
|
|
|
|
//-------------------------------------------------Xml 格式-------------------------------------------------
|
|
|
|
type RssL struct {
|
|
XMLName xml.Name `xml:"rss"`
|
|
Version string `xml:"version,attr"`
|
|
List FilmListPageX `xml:"list"`
|
|
ClassXL ClassXL `xml:"class"`
|
|
}
|
|
type FilmListPageX struct {
|
|
XMLName xml.Name `xml:"list"`
|
|
Page any `xml:"page,attr"`
|
|
PageCount int `xml:"pagecount,attr"`
|
|
PageSize any `xml:"pagesize,attr"`
|
|
RecordCount int `xml:"recordcount,attr"`
|
|
Videos []VideoList `xml:"video"`
|
|
}
|
|
|
|
type VideoList struct {
|
|
Last string `xml:"last"`
|
|
ID int64 `xml:"id"`
|
|
Tid int64 `xml:"tid"`
|
|
Name CDATA `xml:"name"`
|
|
Type string `xml:"type"`
|
|
Dt string `xml:"dt"`
|
|
Note CDATA `xml:"note"`
|
|
}
|
|
|
|
type ClassXL struct {
|
|
XMLName xml.Name `xml:"class"`
|
|
ClassX []ClassX `xml:"ty"`
|
|
}
|
|
|
|
type ClassX struct {
|
|
XMLName xml.Name `xml:"ty"`
|
|
ID int64 `xml:"id,attr"`
|
|
Value string `xml:",chardata"`
|
|
}
|
|
|
|
//-------------------------------------------------redis Func-------------------------------------------------
|
|
|
|
// SaveFilmClass 保存影片分类列表信息
|
|
func SaveFilmClass(list []FilmClass) error {
|
|
data, _ := json.Marshal(list)
|
|
return db.Rdb.Set(db.Cxt, config.FilmClassKey, data, config.ResourceExpired).Err()
|
|
}
|
|
|
|
// GetFilmClass 获取分类列表信息
|
|
func GetFilmClass() []FilmClass {
|
|
var l []FilmClass
|
|
data := db.Rdb.Get(db.Cxt, config.FilmClassKey).Val()
|
|
_ = json.Unmarshal([]byte(data), &l)
|
|
return l
|
|
}
|