package common
|
|
|
|
import (
|
|
"encoding/json"
|
|
"io/ioutil"
|
|
)
|
|
|
|
type Config struct {
|
|
Projectnr string `json:"projectnr"` // 零件项目号,G38 / G18 / G68
|
|
Server string `json:"server"` // 数据库服务器
|
|
Userid string `json:"userid"` // 数据库登陆用户名
|
|
Password string `json:"password"` // 数据库登陆密码
|
|
Database string `json:"database"` // 数据库名
|
|
Port int `json:"port"` // 数据库端口
|
|
Inbox string `json:"inbox"` // TOD收件箱
|
|
Outbox string `json:"outbox"` // TOD发件箱
|
|
Readinterval int `json:"readinterval"` // 服务读取收件箱的间隔时间,单位秒
|
|
Leaseduration int `json:"leaseduration"` // 服务租约长度,单位秒,用于监控服务是否处于激活状态
|
|
}
|
|
|
|
var (
|
|
// 单例
|
|
G_Config *Config
|
|
)
|
|
|
|
// 加载打印配置
|
|
func InitConfig(filename string) (err error) {
|
|
var (
|
|
content []byte
|
|
conf Config
|
|
)
|
|
|
|
// 1, 把配置文件读进来
|
|
if content, err = ioutil.ReadFile(filename); err != nil {
|
|
return
|
|
}
|
|
|
|
// 2, 做JSON反序列化
|
|
if err = json.Unmarshal(content, &conf); err != nil {
|
|
return
|
|
}
|
|
|
|
// 3, 赋值单例
|
|
G_Config = &conf
|
|
|
|
return
|
|
}
|
|
|