From 1eb3cc7c8641b15df7f55e0a9e9c35f673a71ee2 Mon Sep 17 00:00:00 2001 From: Victor_Jay Date: Tue, 30 Jun 2026 19:01:25 +0800 Subject: [PATCH] =?UTF-8?q?debug:=20=E6=B7=BB=E5=8A=A0=E7=AB=99=E7=82=B9?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E6=8C=81=E4=B9=85=E5=8C=96=E8=B0=83=E8=AF=95?= =?UTF-8?q?=E6=97=A5=E5=BF=97=EF=BC=8C=E8=BF=BD=E8=B8=AA=20Set/Get=20?= =?UTF-8?q?=E9=93=BE=E8=B7=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/config/site_settings.go | 11 ++++++++--- internal/controller/admin/site_setting_controller.go | 5 +++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/internal/config/site_settings.go b/internal/config/site_settings.go index 11fd894..f4abbe0 100644 --- a/internal/config/site_settings.go +++ b/internal/config/site_settings.go @@ -1,6 +1,7 @@ package config import ( + "log" "strconv" "sync" @@ -73,15 +74,19 @@ func (s *SiteSettings) GetBool(key string, defaultVal bool) bool { // Set 写入设置(同步写 DB + 更新内存,使用 UPSERT 兼容首次保存) func (s *SiteSettings) Set(key, value string) error { entry := model.SiteSetting{Key: key, Value: value} - if err := s.db.Clauses(clause.OnConflict{ + result := s.db.Clauses(clause.OnConflict{ Columns: []clause.Column{{Name: "key"}}, DoUpdates: clause.AssignmentColumns([]string{"value"}), - }).Create(&entry).Error; err != nil { - return err + }).Create(&entry) + if result.Error != nil { + log.Printf("[SiteSettings] Set FAIL key=%s value=%s err=%v", key, value, result.Error) + return result.Error } s.mu.Lock() + oldVal, existed := s.data[key] s.data[key] = value s.mu.Unlock() + log.Printf("[SiteSettings] Set OK key=%s old=%q new=%q existed=%v rows=%d", key, oldVal, value, existed, result.RowsAffected) return nil } diff --git a/internal/controller/admin/site_setting_controller.go b/internal/controller/admin/site_setting_controller.go index dadb181..0157fb8 100644 --- a/internal/controller/admin/site_setting_controller.go +++ b/internal/controller/admin/site_setting_controller.go @@ -1,6 +1,7 @@ package admin import ( + "log" "net/http" "strconv" @@ -87,6 +88,10 @@ func (sc *SiteSettingController) ThemePage(c *gin.Context) { func (sc *SiteSettingController) GetSettings(c *gin.Context) { all := sc.settingService.GetSettings() audit := sc.settingService.GetAuditSettings(sc.defaults) + log.Printf("[GetSettings] all=%d keys audit=%+v", len(all), audit) + if v, ok := all["registration.enabled"]; ok { + log.Printf("[GetSettings] registration.enabled=%q", v) + } common.Ok(c, gin.H{ "all": all, "audit": audit,