diff --git a/config/index.go b/config/index.go new file mode 100644 index 0000000..7863bcc --- /dev/null +++ b/config/index.go @@ -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) +} diff --git a/go.mod b/go.mod index da1529f..47ccbbb 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,5 @@ module go-mobile-uiautomator go 1.25.1 + +require gopkg.in/yaml.v3 v3.0.1 diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..a62c313 --- /dev/null +++ b/go.sum @@ -0,0 +1,4 @@ +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=