From 5bf9f5cc0ad2689de4e34d628d8ac3168df5142a Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期五, 23 八月 2024 17:41:41 +0800 Subject: [PATCH] 修复编译bug --- config/config.go | 80 +++++++++++++++++++++++++++++++++++++-- 1 files changed, 75 insertions(+), 5 deletions(-) diff --git a/config/config.go b/config/config.go index 1a3271d..95a0312 100644 --- a/config/config.go +++ b/config/config.go @@ -9,11 +9,31 @@ ) type serve struct { - ID string `mapstructure:"id"` - Mode string `mapstructure:"mode"` - Host string `mapstructure:"host"` - Port string `mapstructure:"port"` - Password string `mapstructure:"password"` + 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涓浆 涓嶅鐞哾eivce, 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"` + ServerAddr string `mapstructure:"server-addr"` + ServerPort string `mapstructure:"server-port"` + Proto string `mapstructure:"proto" ` // http, https + UploadType string `mapstructure:"upload-type"` // binary, url + ChannelNo string `mapstructure:"channel-number"` // 閫氶亾鍙�, 鍚宨d + HeartbeatInterval int `mapstructure:"heartbeat-interval"` // 蹇冭烦鍛ㄦ湡 + HeartbeatFailCount int `mapstructure:"heartbeat-count"` // 蹇冭烦瓒呮椂娆℃暟 + AddFloorToFaceId bool `mapstructure:"add-floor-faceId"` + Enable bool `mapstructure:"enable"` } type logConfig struct { @@ -27,6 +47,24 @@ SyncServer string `mapstructure:"sync-server"` 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"` + 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 { @@ -38,6 +76,9 @@ var LogConf = &logConfig{} 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. @@ -46,7 +87,9 @@ v := viper.New() v.SetConfigType("yaml") v.SetConfigName("gat1400") + v.AddConfigPath("./") v.AddConfigPath("./config/") + v.AddConfigPath("../config/") err = v.ReadInConfig() if err != nil { fmt.Println("error on parsing configuration file", err) @@ -64,10 +107,37 @@ v.UnmarshalKey("log", LogConf) 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" } + if ForwardConf.ReportInterval == 0 { + ForwardConf.ReportInterval = 10 + } + + if ForwardConf.RetryInterval == 0 { + ForwardConf.RetryInterval = 5 + } + + if ClientConf.HeartbeatInterval == 0 { + ClientConf.HeartbeatInterval = 30 + } + + if ClientConf.Proto == "" { + ClientConf.Proto = "http" + } + + if ImageConf.Enlarge == 0 { + ImageConf.Enlarge = 100 + } + + if NVCSConf.WaitRunTime == 0 { + NVCSConf.WaitRunTime = 60 + } + logger.SetLogLevel(LogConf.Level) } -- Gitblit v1.8.0