新增项目配置模块

This commit is contained in:
zyj
2025-10-29 11:39:40 +08:00
parent 14bf8d575b
commit 180b51267d
3 changed files with 49 additions and 0 deletions

43
config/index.go Normal file
View File

@@ -0,0 +1,43 @@
package config
import (
"os"
"gopkg.in/yaml.v3"
)
type AppConfig struct {
Port int `yaml:"port"`
WsUrl string `yaml:"wsUrl"`
StunUrl string `yaml:"stunUrl"`
ApiUrl string `yaml:"apiUrl"`
AppName string `yaml:"appName"`
SiteFileDir string `yaml:"siteFileDir"`
}
func LoadConfig() (*AppConfig, error) {
// 读取文件内容
data, err := os.ReadFile("config.yaml")
if err != nil {
return nil, err
}
// 解析 YAML
var cfg AppConfig
if err := yaml.Unmarshal(data, &cfg); err != nil {
return nil, err
}
return &cfg, nil
}
// 更新配置(写回文件)
func SaveConfig(cfg *AppConfig) error {
data, err := yaml.Marshal(cfg)
if err != nil {
return err
}
// 写回文件0644 表示文件权限
return os.WriteFile("config.yaml", data, 0644)
}