Added data migration service

This commit is contained in:
2025-06-06 23:49:05 +08:00
parent 3e20f47b8e
commit 31addd5a20
25 changed files with 1915 additions and 425 deletions

View File

@@ -105,9 +105,7 @@ func setDefaults(v *viper.Viper) {
// 通用设置默认值
v.SetDefault("general.always_on_top", defaultConfig.General.AlwaysOnTop)
v.SetDefault("general.default_data_path", defaultConfig.General.DefaultDataPath)
v.SetDefault("general.use_custom_data_path", defaultConfig.General.UseCustomDataPath)
v.SetDefault("general.custom_data_path", defaultConfig.General.CustomDataPath)
v.SetDefault("general.data_path", defaultConfig.General.DataPath)
v.SetDefault("general.enable_global_hotkey", defaultConfig.General.EnableGlobalHotkey)
v.SetDefault("general.global_hotkey.ctrl", defaultConfig.General.GlobalHotkey.Ctrl)
v.SetDefault("general.global_hotkey.shift", defaultConfig.General.GlobalHotkey.Shift)
@@ -257,3 +255,13 @@ func (cs *ConfigService) SetHotkeyChangeCallback(callback func(enable bool, hotk
hotkeyListener := CreateHotkeyListener(callback)
return cs.notificationService.RegisterListener(hotkeyListener)
}
// SetDataPathChangeCallback 设置数据路径配置变更回调
func (cs *ConfigService) SetDataPathChangeCallback(callback func(oldPath, newPath string) error) error {
cs.mu.Lock()
defer cs.mu.Unlock()
// 创建数据路径监听器并注册
dataPathListener := CreateDataPathListener(callback)
return cs.notificationService.RegisterListener(dataPathListener)
}