From 4ca3791590a7bf50222aa5f80e53edf04739108a Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期二, 22 十月 2024 17:20:23 +0800 Subject: [PATCH] fix 1400 post floor farmat --- config/config.go | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 101 insertions(+), 9 deletions(-) diff --git a/config/config.go b/config/config.go index 87dbe60..4537ffa 100644 --- a/config/config.go +++ b/config/config.go @@ -9,14 +9,34 @@ ) 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 logConfig struct { +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 log struct { LogWay string `mapstructure:"log-way"` // 鏃ュ織杈撳嚭 Path string `mapstructure:"path"` // 鏃ュ織瀛樺偍璺緞 Level string `mapstructure:"level"` // 鏃ュ織绛夌骇 @@ -27,17 +47,54 @@ 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 rateLimitConfig struct { +type image struct { + CutFaceImage bool `mapstructure:"cut-face-image"` + Enlarge int `mapstructure:"enlarge"` + ImageUriPrefix string `mapstructure:"url-prefix"` +} + +// 姊帶璁惧 +type nvcs struct { + Mac string `mapstructure:"mac"` + Model string `mapstructure:"model"` // 鍨嬪彿 + Port string `mapstructure:"port"` // 绔彛 + OSD string `mapstructure:"osd"` + RunState bool `mapstructure:"run-state"` + WaitRunTime int `mapstructure:"wait-run-time"` +} + +type rfid struct { + DevName string `mapstructure:"dev"` + Baud int `mapstructure:"baud"` + ReadFloor bool `mapstructure:"read-floor"` + EPC string `mapstructure:"epc"` + Position uint8 `mapstructure:"position"` +} + +type rateLimit struct { FillInterval int64 `mapstructure:"fill-interval" json:"fillInterval"` Capacity int64 `mapstructure:"capacity" json:"capacity"` } +type sysTime struct { + NTPServer string `mapstructure:"ntp-server" json:"ntp-server"` + SyncInterval int `mapstructure:"sync-interval" json:"sync-interval"` +} + var ServeConf = &serve{} -var LogConf = &logConfig{} +var LogConf = &log{} var ForwardConf = &forward{} -var RateLimitConf = &rateLimitConfig{} +var RateLimitConf = &rateLimit{} +var ClientConf = &client{} +var NVCSConf = &nvcs{} +var ImageConf = &image{} +var SysTimeConf = &sysTime{} +var RFIDConf = &rfid{} // Init is an exported method that takes the environment starts the viper // (external lib) and returns the configuration struct. @@ -46,7 +103,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,6 +123,11 @@ v.UnmarshalKey("log", LogConf) v.UnmarshalKey("forward", ForwardConf) v.UnmarshalKey("rate-limit", RateLimitConf) + v.UnmarshalKey("client", ClientConf) + v.UnmarshalKey("nvcs", NVCSConf) + v.UnmarshalKey("rfid", RFIDConf) + v.UnmarshalKey("image", ImageConf) + v.UnmarshalKey("systime", SysTimeConf) if LogConf.Level == "" { LogConf.Level = "info" @@ -73,5 +137,33 @@ 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 + } + + if SysTimeConf.SyncInterval == 0 { + SysTimeConf.SyncInterval = 10 + } + + if SysTimeConf.NTPServer == "" { + SysTimeConf.NTPServer = "ntp.aliyun.com" + } + logger.SetLogLevel(LogConf.Level) } -- Gitblit v1.8.0