LicenseManger/internal/service/site.go

48 lines
954 B
Go

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
}