From 5abbb114d703b40d2a42e9e3eecdadcb6d341dcf Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期一, 29 四月 2024 03:51:11 +0800
Subject: [PATCH] 修复keepalive地址

---
 config/config.go |   44 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 44 insertions(+), 0 deletions(-)

diff --git a/config/config.go b/config/config.go
index c5b686c..bc53545 100644
--- a/config/config.go
+++ b/config/config.go
@@ -2,6 +2,7 @@
 
 import (
 	"fmt"
+	"gat1400Exchange/pkg/logger"
 
 	"github.com/fsnotify/fsnotify"
 	"github.com/spf13/viper"
@@ -13,6 +14,21 @@
 	Host     string `mapstructure:"host"`
 	Port     string `mapstructure:"port"`
 	Password string `mapstructure:"password"`
+	Role     string `mapstructure:"role"` // agent 璁惧绔�, proxy 1400涓浆 涓嶅鐞哾eivce, server 鍏ㄥ姛鑳�
+}
+
+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"` // 蹇冭烦鍛ㄦ湡
+	HeartbeatFailCount int    `mapstructure:"heartbeat-count"`    // 蹇冭烦瓒呮椂娆℃暟
+	Enable             bool   `mapstructure:"enable"`
 }
 
 type logConfig struct {
@@ -26,6 +42,9 @@
 	SyncServer     string `mapstructure:"sync-server"`
 	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"`
 }
 
 type rateLimitConfig struct {
@@ -37,6 +56,7 @@
 var LogConf = &logConfig{}
 var ForwardConf = &forward{}
 var RateLimitConf = &rateLimitConfig{}
+var ClientConf = &client{}
 
 // Init is an exported method that takes the environment starts the viper
 // (external lib) and returns the configuration struct.
@@ -46,6 +66,7 @@
 	v.SetConfigType("yaml")
 	v.SetConfigName("gat1400")
 	v.AddConfigPath("./config/")
+	v.AddConfigPath("../config/")
 	err = v.ReadInConfig()
 	if err != nil {
 		fmt.Println("error on parsing configuration file", err)
@@ -63,4 +84,27 @@
 	v.UnmarshalKey("log", LogConf)
 	v.UnmarshalKey("forward", ForwardConf)
 	v.UnmarshalKey("rate-limit", RateLimitConf)
+	v.UnmarshalKey("client", ClientConf)
+
+	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"
+	}
+
+	logger.SetLogLevel(LogConf.Level)
 }

--
Gitblit v1.8.0