package config
|
|
import (
|
"log"
|
|
"github.com/spf13/viper"
|
)
|
|
type threshold struct {
|
Value int `mapstructure: "value"`
|
Color string `mapstructure: "color"`
|
}
|
type server struct {
|
ServerName string `mapstructure: "serverName"`
|
Runmode string `mapstructure: "runmode"`
|
JwtSecret string `mapstructure: "jwtSecret"`
|
JwtExpire string `mapstructure: "jwtExpire"`
|
Url string `mapstructure: "url"`
|
AnalyServerId string `mapstructure: "analyServerId"`
|
NetworkAdapter string `mapstructure: "networkAdapter"`
|
|
DeviceNum string `mapstructure: "deviceNum"` //设备编号
|
DeviceType string `mapstructure: "deviceType"` //设备型号
|
DeviceSerialNum string `mapstructure: "deviceSerialNum"` //设备序列号
|
MasterVersion string `mapstructure: "masterVersion"` //主控版本
|
WebVersion string `mapstructure: "webVersion"` //web版本
|
ChannelCount string `mapstructure: "channelCount"` //通道个数
|
DiskCount string `mapstructure: "diskCount"` //硬盘个数
|
|
SudoPassword string `mapstructure: "sudoPassword"` //系统密码
|
SysThresholds []threshold `mapstructure: "sysThresholds"`
|
PTZSpeed int `mapstructure: "ptzSpeed"` // 云台移动速度
|
PatchPath string `mapstructure:"patchPath"` //系统更新包路径
|
BakPath string `mapstructure:"bakPath"` //系统更新包路径
|
}
|
|
var Server = &server{}
|
|
// wp add es 索引 以及 IP port
|
type esinfo struct {
|
Shards string `mapstructure:"shards"`
|
EsIndex esindexlist `mapstructure:"index"`
|
}
|
|
type esindexlist struct {
|
AiOcean index `mapstructure:"aiOcean"`
|
}
|
type index struct {
|
IndexName string `mapstructure:"index"`
|
IndexType string `mapstructure:"type"`
|
}
|
|
type sopath struct {
|
Ip string `mapstructure:"ip"`
|
Port string `mapstructure:"port"`
|
}
|
|
type elastic struct {
|
IndexName string `mapstructure: "indexName"`
|
IndexType string `mapstructure: "indexType"`
|
}
|
|
var SoPath = &sopath{}
|
|
var EsInfo = &esinfo{}
|
|
var BasicFS = &elastic{}
|
|
type facedetect struct {
|
Ip string `mapstructure:"Ip"`
|
Port int `mapstructure:"port"`
|
}
|
|
type dbpersoncompare struct {
|
Ip string `mapstructure:"ip"`
|
Port int `mapstructure:"port"`
|
}
|
|
type espersoncompare struct {
|
Port int `mapstructure:"port"`
|
Ips []string `mapstructure:"ips"`
|
}
|
|
var DbPersonCompInfo = &dbpersoncompare{}
|
|
var EsCompServerInfo = &espersoncompare{}
|
|
var FaceDetectSet = &facedetect{}
|
|
type shop struct {
|
Url string `mapstructure:"url"`
|
}
|
var ShopConf = &shop{}
|
|
// Init is an exported method that takes the environment starts the viper
|
// (external lib) and returns the configuration struct.
|
func Init(env string) {
|
var err error
|
viper.SetConfigType("yaml")
|
viper.SetConfigName(env)
|
viper.AddConfigPath("../config/")
|
err = viper.ReadInConfig()
|
if err != nil {
|
log.Fatal("error on parsing configuration file", err)
|
}
|
viper.UnmarshalKey("es", EsInfo)
|
viper.UnmarshalKey("server", Server)
|
viper.UnmarshalKey("sopath", SoPath)
|
viper.UnmarshalKey("facedetect", FaceDetectSet)
|
viper.UnmarshalKey("dbpersoncompare", DbPersonCompInfo)
|
viper.UnmarshalKey("espersoncompare", EsCompServerInfo)
|
viper.UnmarshalKey("elastic.basicFS", BasicFS)
|
viper.UnmarshalKey("shop", ShopConf)
|
}
|