fix: 安装页面保存配置失败 - 确保目录存在并正确创建配置文件
Build and Deploy / build (push) Successful in 2m56s
Build and Deploy / deploy (push) Has been skipped

This commit is contained in:
2026-07-16 16:11:55 +00:00
parent ffd99a25c3
commit 753098e7fe
+18
View File
@@ -97,12 +97,30 @@ func Load(configPath string) error {
}
func Save(cfg *Config) error {
// 确保 data 目录存在
if err := os.MkdirAll("./data", 0755); err != nil {
return fmt.Errorf("创建数据目录失败: %w", err)
}
viper.Set("server", cfg.Server)
viper.Set("database", cfg.Database)
viper.Set("redis", cfg.Redis)
viper.Set("jwt", cfg.JWT)
viper.Set("captcha", cfg.Captcha)
// 使用 SafeWriteConfig,如果文件不存在会自动创建
configPath := "./data/config.yaml"
viper.SetConfigFile(configPath)
// 检查文件是否存在,不存在则创建
if _, err := os.Stat(configPath); os.IsNotExist(err) {
if err := viper.SafeWriteConfig(); err != nil {
return fmt.Errorf("创建配置文件失败: %w", err)
}
return nil
}
// 文件已存在,直接写入
return viper.WriteConfig()
}