Files
GoFilm/server/model/system/Manage.go
2024-10-30 23:41:50 +08:00

82 lines
2.3 KiB
Go

package system
import (
"encoding/json"
"log"
"server/config"
"server/plugin/db"
"sort"
)
// BasicConfig 网站基本信息
type BasicConfig struct {
SiteName string `json:"siteName"` // 网站名称
Domain string `json:"domain"` // 网站域名
Logo string `json:"logo"` // 网站logo
Keyword string `json:"keyword"` // seo关键字
Describe string `json:"describe"` // 网站描述信息
State bool `json:"state"` // 网站状态 开启 || 关闭
Hint string `json:"hint"` // 网站关闭提示
}
// Banner 首页横幅信息
type Banner struct {
Id string `json:"id"` // 唯一标识
Mid int64 `json:"mid"` // 绑定所属影片Id
Name string `json:"name"` // 影片名称
Year int64 `json:"year"` // 上映年份
CName string `json:"cName"` // 分类名称
Poster string `json:"poster"` // 海报图片链接
Picture string `json:"picture"` // 横幅大图链接
Remark string `json:"remark"` // 更新状态描述信息
Sort int64 `json:"sort"` // 排序分值
}
type Banners []Banner
func (bl Banners) Len() int {
return len(bl)
}
func (bl Banners) Less(i, j int) bool {
return bl[i].Sort < bl[j].Sort
}
func (bl Banners) Swap(i, j int) {
bl[i], bl[j] = bl[j], bl[i]
}
// ------------------------------------------------------ Redis ------------------------------------------------------
// SaveSiteBasic 保存网站基本配置信息
func SaveSiteBasic(c BasicConfig) error {
data, _ := json.Marshal(c)
return db.Rdb.Set(db.Cxt, config.SiteConfigBasic, data, config.ManageConfigExpired).Err()
}
// GetSiteBasic 获取网站基本配置信息
func GetSiteBasic() BasicConfig {
c := BasicConfig{}
data := db.Rdb.Get(db.Cxt, config.SiteConfigBasic).Val()
if err := json.Unmarshal([]byte(data), &c); err != nil {
log.Println("GetSiteBasic Err", err)
}
return c
}
// GetBanners 获取轮播配置信息
func GetBanners() Banners {
var bl Banners
data := db.Rdb.Get(db.Cxt, config.BannersKey).Val()
if err := json.Unmarshal([]byte(data), &bl); err != nil {
log.Println("Get Banners Error", err)
}
// 通过 sort 对banners进行排序
sort.Sort(bl)
return bl
}
// SaveBanners 保存轮播配置信息
func SaveBanners(bl Banners) error {
data, _ := json.Marshal(bl)
return db.Rdb.Set(db.Cxt, config.BannersKey, data, config.ManageConfigExpired).Err()
}