servers_cfg.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package reporter
  2. import (
  3. "fmt"
  4. "path/filepath"
  5. "gopkg.in/ini.v1"
  6. "hnyfkj.com.cn/rtu/bxs-sy/baseapp"
  7. )
  8. type MQTTBroker struct {
  9. Address string `ini:"BrokerAddress"` // 地址端口
  10. Username string `ini:"Username"` // 用户名称
  11. Password string `ini:"Password"` // 接入密码
  12. }
  13. type Img2FtpSvr struct {
  14. Address string `ini:"ServerAddress"` // 地址端口
  15. Username string `ini:"Username"` // 用户名称
  16. Password string `ini:"Password"` // 接入密码
  17. }
  18. type Config struct {
  19. MQTTSrv MQTTBroker `ini:"MQTTSrv"`
  20. Img2Ftp Img2FtpSvr `ini:"Img2Ftp"`
  21. }
  22. var (
  23. CfgServers = &Config{}
  24. )
  25. func loadCfgServers() error {
  26. cfgFile := filepath.Join(baseapp.CFG_DIR, "config.ini")
  27. cfgIni, err := ini.Load(cfgFile)
  28. if err != nil {
  29. return err
  30. }
  31. if cfgIni.HasSection("MQTTSrv") {
  32. if err := cfgIni.Section("MQTTSrv").MapTo(&CfgServers.MQTTSrv); err != nil {
  33. return err
  34. }
  35. } else {
  36. return fmt.Errorf("配置文件\"%s\"缺少\"[MQTTSrv]\"节", cfgFile)
  37. }
  38. if cfgIni.HasSection("Img2Ftp") {
  39. if err := cfgIni.Section("Img2Ftp").MapTo(&CfgServers.Img2Ftp); err != nil {
  40. return err
  41. }
  42. } else {
  43. return fmt.Errorf("配置文件\"%s\"缺少\"[Img2Ftp]\"节", cfgFile)
  44. }
  45. return nil
  46. }