diff --git a/backend/platform-bridge/internal/config/store.go b/backend/platform-bridge/internal/config/store.go index 64dabc7..8e2cf50 100644 --- a/backend/platform-bridge/internal/config/store.go +++ b/backend/platform-bridge/internal/config/store.go @@ -4,6 +4,7 @@ import ( "crypto/rand" "encoding/hex" "encoding/json" + "strings" "fmt" "os" "sync" @@ -57,10 +58,30 @@ func (s *Store) load() error { return fmt.Errorf("parse config file: %w", err) } // Backward compat: old configs without platform field default to Name. + // Also migrate: generate IDs, rename qq→obv11. + needsSave := false for _, c := range s.configs { if c.Platform == "" { c.Platform = c.Name + needsSave = true } + if c.ID == "" { + c.ID = generateConfigID() + c.CreatedAt = time.Now() + needsSave = true + } + if c.Platform == "qq" { + c.Platform = "obv11" + needsSave = true + } + if strings.Contains(c.Name, "qq") { + c.Name = strings.ReplaceAll(c.Name, "qq", "obv11") + c.Label = strings.ReplaceAll(c.Label, "QQ", "OBv11") + needsSave = true + } + } + if needsSave { + s.save() } return nil }