package service import ( "errors" "licserver/internal/utils" "sync" ) type SiteService struct { config *utils.Config mu sync.RWMutex } func NewSiteService(config *utils.Config) *SiteService { return &SiteService{ config: config, } } func (s *SiteService) GetSettings() utils.SiteConfig { s.mu.RLock() defer s.mu.RUnlock() return s.config.Site } func (s *SiteService) UpdateSettings(settings utils.SiteConfig) error { s.mu.Lock() defer s.mu.Unlock() // 更新内存中的配置 s.config.Site = settings // 持久化配置到文件 return utils.SaveConfig(s.config, "system", "更新站点设置") } // ValidateSettings 验证站点设置 func (s *SiteService) ValidateSettings(settings utils.SiteConfig) error { // 这里可以添加更多的验证逻辑 if settings.Title == "" { return errors.New("站点标题不能为空") } if settings.BaseURL == "" { return errors.New("基础URL不能为空") } return nil }