From c1d32ecdb36d7365a660ae2cf1405e1ca1898b4b Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期日, 20 十月 2024 22:21:02 +0800
Subject: [PATCH] 优化楼层查找
---
config/config.go | 104 +++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 95 insertions(+), 9 deletions(-)
diff --git a/config/config.go b/config/config.go
index e2d1d8c..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"` // 鏃ュ織绛夌骇
@@ -28,17 +48,53 @@
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.
@@ -47,6 +103,7 @@
v := viper.New()
v.SetConfigType("yaml")
v.SetConfigName("gat1400")
+ v.AddConfigPath("./")
v.AddConfigPath("./config/")
v.AddConfigPath("../config/")
err = v.ReadInConfig()
@@ -66,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"
@@ -79,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