package config import ( "fmt" "os" ) type Config struct { Port string DBPath string SecretKey string LogPath string WebDAVURL string WebDAVUser string WebDAVPassword string } func LoadConfig() *Config { return &Config{ Port: getEnv("TONAV_PORT", "9520"), DBPath: getEnv("TONAV_DB", "tonav.db"), SecretKey: getEnv("TONAV_SECRET", "tonav-secret-key-7306783874"), LogPath: "tonav.log", } } func getEnv(key, fallback string) string { if value, ok := os.LookupEnv(key); ok { return value } return fallback } // ReplaceDB 用备份文件替换当前数据库 func ReplaceDB(srcPath, dstPath string) error { input, err := os.ReadFile(srcPath) if err != nil { return fmt.Errorf("读取备份文件失败: %v", err) } if err := os.WriteFile(dstPath, input, 0644); err != nil { return fmt.Errorf("替换数据库失败: %v", err) } // 清理临时文件 os.Remove(srcPath) return nil }