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 | 112 +++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 90 insertions(+), 22 deletions(-) diff --git a/config/config.go b/config/config.go index 6802574..4537ffa 100644 --- a/config/config.go +++ b/config/config.go @@ -9,28 +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 client struct { - 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"` // 蹇冭烦鍛ㄦ湡 - HeartbeatCount int `mapstructure:"heartbeat-count"` // 蹇冭烦瓒呮椂娆℃暟 - Enable bool `mapstructure:"enable"` + 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 { +type log struct { LogWay string `mapstructure:"log-way"` // 鏃ュ織杈撳嚭 Path string `mapstructure:"path"` // 鏃ュ織瀛樺偍璺緞 Level string `mapstructure:"level"` // 鏃ュ織绛夌骇 @@ -42,20 +48,53 @@ ReportServer string `mapstructure:"report-server"` ReportInterval int `mapstructure:"report-interval"` RetryInterval int `mapstructure:"retry-interval"` - CutFaceImage bool `mapstructure:"cut-face-image"` - Enable bool `mapstructure:"enable"` + 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. @@ -64,6 +103,7 @@ v := viper.New() v.SetConfigType("yaml") v.SetConfigName("gat1400") + v.AddConfigPath("./") v.AddConfigPath("./config/") v.AddConfigPath("../config/") err = v.ReadInConfig() @@ -84,6 +124,10 @@ 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" @@ -97,5 +141,29 @@ 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