| | |
| | | Enable bool `mapstructure:"enable"` |
| | | } |
| | | |
| | | type logConfig struct { |
| | | type log struct { |
| | | LogWay string `mapstructure:"log-way"` // 日志输出 |
| | | Path string `mapstructure:"path"` // 日志存储路径 |
| | | Level string `mapstructure:"level"` // 日志等级 |
| | |
| | | |
| | | // 梯控设备 |
| | | type nvcs struct { |
| | | Model string `mapstructure:"model"` // 型号 |
| | | Port string `mapstructure:"port"` // 端口 |
| | | OSD string `mapstructure:"osd"` |
| | | 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 rateLimitConfig struct { |
| | | 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. |
| | |
| | | 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" |
| | |
| | | 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) |
| | | } |