package conf import ( "encoding/json" "errors" "fmt" "github.com/aceld/zinx/zconf" "github.com/aceld/zinx/zlog" "io/ioutil" "os" ) type Config struct { /* Server */ Mysql string `json:"mysql"` FTPRoot string `json:"ftp_root"` Channel []struct { TCPPort int `json:"tcp_port"` //当前通道的TCP监听端口 BindFlag string `json:"bind_flag"` //当前通道bind 的网元信息 Province string `json:"province"` //网元所在省份 DeviceCode string `json:"device_code"` //主机编码 四位,每1位可用0-9、A-Z编码 } `json:"channel"` //以下是zinx 的配置 Name string `json:"name"` MaxConn int `json:"max_conn"` WorkerPoolSize int `json:"worker_pool_size"` HeartbeatMax int `json:"heartbeat_max"` LogDir string `json:"log_dir"` LogFile string `json:"log_file"` //证书配置 CA struct { RootCert string `json:"root_cert"` //root CA证书存放路径 Cert string `json:"cert"` // 服务端CA证书存放路径 PrivateKey string `json:"private_key"` // 服务端私钥存放路径 Check bool `json:"check"` // 是否开启服务端证书检查功能 } `json:"ca"` } var OmcConf Config const ConfPath = "/conf/nbi_alarm_agent.json" func Reload(path string) error { if confFileExists, _ := zconf.PathExists(path); confFileExists != true { zlog.Ins().ErrorF("Config File %s is not exist!!", path) return errors.New("config file is not exist") } data, err := ioutil.ReadFile(path) if err != nil { return err } err = json.Unmarshal(data, &OmcConf) if err != nil { return err } return nil } func Init(path string) { fmt.Println("filePath:", path) if path == "" { pwd, err := os.Getwd() if err != nil { pwd = "." } path = pwd + ConfPath fmt.Println("path", path) } if err := Reload(path); err != nil { zlog.Ins().ErrorF("Config File %s error, ", err) panic(err) } } //"mysql": "root:1000omc@kp!@tcp(192.168.2.119:33066)/omc_db?charset=utf8mb4&parseTime=True&loc=Local",