Files
2022-02-15 17:19:23 +08:00

43 lines
970 B
Go

package sys
import (
"SciencesServer/app/api/website/model"
"SciencesServer/config"
)
type Banner struct {
tenantID uint64
}
type BannerHandle func(tenantID uint64) *Banner
type BannerInfo struct {
ID string `json:"id"`
Title string `json:"title"`
IsMultiple int `json:"is_multiple"`
Images string `json:"images"`
}
func (c *Banner) Instance(key string) (*BannerInfo, error) {
mSysBanner := model.NewSysBanner()
if err := mSysBanner.Get(c.tenantID, map[string]interface{}{
"key": key, "local": key,
}); err != nil {
return nil, err
} else if mSysBanner.ID <= 0 {
return nil, nil
}
return &BannerInfo{
ID: mSysBanner.GetEncodeID(),
Title: mSysBanner.Title,
IsMultiple: mSysBanner.IsMultiple,
Images: mSysBanner.Images.AnalysisSlice(config.SystemConfig[config.SysImageDomain]),
}, nil
}
func NewBanner() BannerHandle {
return func(tenantID uint64) *Banner {
return &Banner{tenantID: tenantID}
}
}