package config import ( "github.com/spf13/viper" "log" ) type server []ServerInfo type ServerInfo struct { ServerId string `mapstructure: "serverId"` ServerIp string `mapstructure: "serverIp"` VideoPort string `mapstructure: "videoPort"` NgxIp string `mapstructure: "ngxIp"` NgxPort string `mapstructure: "ngxPort"` } var serverList = &server{} var ServerMap = make(map[string]string,0) var NgxMap = make(map[string]string,0) func Init(env string, configPath string) { var err error viper.SetConfigType("yaml") viper.SetConfigName(env) viper.AddConfigPath(configPath) err = viper.ReadInConfig() if err != nil { log.Fatal("error on parsing configuration file",err) } viper.UnmarshalKey("server", serverList) for _,s :=range *serverList { si := s ServerMap[si.ServerId] = "http://"+si.ServerIp+":"+si.VideoPort+"/getRecordVideoPath" NgxMap[si.ServerId] = "http://"+si.NgxIp+":"+si.NgxPort+"/videosource" } }