package config import ( "fmt" "io/ioutil" "github.com/xxjwxc/public/dev" "github.com/xxjwxc/public/tools" "gopkg.in/yaml.v3" ) // CfgBase base config struct type CfgBase struct { SerialNumber string `json:"serial_number" yaml:"serial_number"` // version.版本号 ServiceName string `json:"service_name" yaml:"service_name"` // service name .service名字 ServiceDisplayname string `json:"service_displayname" yaml:"service_displayname"` // display name .显示名 SerciceDesc string `json:"sercice_desc" yaml:"sercice_desc"` // sercice desc .service描述 IsDev bool `json:"is_dev" yaml:"is_dev"` // Is it a development version?是否是开发版本 } var _map = Config{} func init() { onInit() dev.OnSetDev(_map.IsDev) } func onInit() { path := tools.GetModelPath() err := InitFile(path + "/config.yml") if err != nil { fmt.Println("InitFile: ", err.Error()) return } } // InitFile default value from file . func InitFile(filename string) error { bs, err := ioutil.ReadFile(filename) if err != nil { return err } if err := yaml.Unmarshal(bs, &_map); err != nil { fmt.Println("read toml error: ", err.Error()) return err } return nil } // GetServiceConfig Get service configuration information func GetServiceConfig() (name, displayName, desc string) { name = _map.ServiceName displayName = _map.ServiceDisplayname desc = _map.SerciceDesc return } // GetIsDev is is dev func GetIsDev() bool { return _map.IsDev } // SetIsDev is is dev func SetIsDev(b bool) { _map.IsDev = b } // SaveToFile save config info to file func SaveToFile() error { d, err := yaml.Marshal(_map) if err != nil { return err } tools.WriteFile(tools.GetModelPath()+"/config.yml", []string{ string(d), }, true) return nil }