SJA APS后端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.1 KiB

  1. package common
  2. import (
  3. "encoding/json"
  4. "io/ioutil"
  5. )
  6. type Config struct {
  7. Projectnr string `json:"projectnr"` // 零件项目号,G38 / G18 / G68
  8. Server string `json:"server"` // 数据库服务器
  9. Userid string `json:"userid"` // 数据库登陆用户名
  10. Password string `json:"password"` // 数据库登陆密码
  11. Database string `json:"database"` // 数据库名
  12. Port int `json:"port"` // 数据库端口
  13. Inbox string `json:"inbox"` // TOD收件箱
  14. Outbox string `json:"outbox"` // TOD发件箱
  15. Readinterval int `json:"readinterval"` // 服务读取收件箱的间隔时间,单位秒
  16. Leaseduration int `json:"leaseduration"` // 服务租约长度,单位秒,用于监控服务是否处于激活状态
  17. }
  18. var (
  19. // 单例
  20. G_Config *Config
  21. )
  22. // 加载打印配置
  23. func InitConfig(filename string) (err error) {
  24. var (
  25. content []byte
  26. conf Config
  27. )
  28. // 1, 把配置文件读进来
  29. if content, err = ioutil.ReadFile(filename); err != nil {
  30. return
  31. }
  32. // 2, 做JSON反序列化
  33. if err = json.Unmarshal(content, &conf); err != nil {
  34. return
  35. }
  36. // 3, 赋值单例
  37. G_Config = &conf
  38. return
  39. }