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() }