| | |
| | | ) |
| | | |
| | | type serve struct { |
| | | ID string `mapstructure:"id"` |
| | | Mode string `mapstructure:"mode"` |
| | | Host string `mapstructure:"host"` |
| | | Port string `mapstructure:"port"` |
| | | Password string `mapstructure:"password"` |
| | | Role string `mapstructure:"role"` // agent 设备端, proxy 1400中转 不处理deivce, server 全功能 |
| | | ID string `mapstructure:"id"` |
| | | Mode string `mapstructure:"mode"` |
| | | Host string `mapstructure:"host"` |
| | | Port string `mapstructure:"port"` |
| | | Realm string `mapstructure:"realm"` |
| | | Username string `mapstructure:"username"` |
| | | Password string `mapstructure:"password"` |
| | | Role string `mapstructure:"role"` // agent 设备端, proxy 1400中转 不处理deivce, server 全功能 |
| | | Keepalive bool `mapstructure:"keepalive"` |
| | | } |
| | | |
| | | type client struct { |
| | | ServerId string `mapstructure:"server-id"` |
| | | DeviceID string `mapstructure:"device-id"` |
| | | Username string `mapstructure:"username"` |
| | | Password string `mapstructure:"password"` |
| | |
| | | ChannelNo string `mapstructure:"channel-number"` // 通道号, 同id |
| | | HeartbeatInterval int `mapstructure:"heartbeat-interval"` // 心跳周期 |
| | | HeartbeatFailCount int `mapstructure:"heartbeat-count"` // 心跳超时次数 |
| | | AddFloorToFaceId bool `mapstructure:"add-floor-faceId"` |
| | | Enable bool `mapstructure:"enable"` |
| | | } |
| | | |
| | |
| | | ReportServer string `mapstructure:"report-server"` |
| | | ReportInterval int `mapstructure:"report-interval"` |
| | | RetryInterval int `mapstructure:"retry-interval"` |
| | | FTPServer string `mapstructure:"ftp-server"` |
| | | RecordServer string `mapstructure:"record-server"` |
| | | } |
| | | |
| | | type image struct { |
| | | CutFaceImage bool `mapstructure:"cut-face-image"` |
| | | Enable bool `mapstructure:"enable"` |
| | | Enlarge int `mapstructure:"enlarge"` |
| | | ImageUriPrefix string `mapstructure:"url-prefix"` |
| | | } |
| | | |
| | | // 梯控设备 |
| | | type nvcs struct { |
| | | Model string `mapstructure:"model"` // 型号 |
| | | Port string `mapstructure:"port"` // 端口 |
| | | OSD string `mapstructure:"osd"` |
| | | RunState bool `mapstructure:"run-state"` |
| | | WaitRunTime int `mapstructure:"wait-run-time"` |
| | | } |
| | | |
| | | type rateLimitConfig struct { |
| | |
| | | var ForwardConf = &forward{} |
| | | var RateLimitConf = &rateLimitConfig{} |
| | | var ClientConf = &client{} |
| | | var NVCSConf = &nvcs{} |
| | | var ImageConf = &image{} |
| | | |
| | | // Init is an exported method that takes the environment starts the viper |
| | | // (external lib) and returns the configuration struct. |
| | |
| | | v := viper.New() |
| | | v.SetConfigType("yaml") |
| | | v.SetConfigName("gat1400") |
| | | v.AddConfigPath("./") |
| | | v.AddConfigPath("./config/") |
| | | v.AddConfigPath("../config/") |
| | | err = v.ReadInConfig() |
| | |
| | | v.UnmarshalKey("forward", ForwardConf) |
| | | v.UnmarshalKey("rate-limit", RateLimitConf) |
| | | v.UnmarshalKey("client", ClientConf) |
| | | v.UnmarshalKey("nvcs", NVCSConf) |
| | | v.UnmarshalKey("image", ImageConf) |
| | | |
| | | if LogConf.Level == "" { |
| | | LogConf.Level = "info" |
| | |
| | | ClientConf.Proto = "http" |
| | | } |
| | | |
| | | if ImageConf.Enlarge == 0 { |
| | | ImageConf.Enlarge = 100 |
| | | } |
| | | |
| | | if NVCSConf.WaitRunTime == 0 { |
| | | NVCSConf.WaitRunTime = 60 |
| | | } |
| | | |
| | | logger.SetLogLevel(LogConf.Level) |
| | | } |