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