mqtt_init.go 943 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package main
  2. import (
  3. "sync"
  4. "lc/common/mqtt"
  5. )
  6. // 重导出类型和常量,避免修改所有业务文件
  7. type OptType = mqtt.OptType
  8. type MQTTMessage = mqtt.MQTTMessage
  9. const (
  10. ToAll = mqtt.ToAll
  11. ToCloud = mqtt.ToCloud
  12. ToEdge = mqtt.ToEdge
  13. )
  14. var _mqttMgrOnce sync.Once
  15. var _mqttMgr *mqtt.MQTTMgr
  16. func GetMQTTMgr() *mqtt.MQTTMgr {
  17. _mqttMgrOnce.Do(func() {
  18. _mqttMgr = mqtt.NewMQTTMgr(mqtt.MQTTMgrConfig{
  19. CloudServer: appConfig.Cloud.Mqtt.Server,
  20. CloudClientID: appConfig.GID + "@" + appname + version,
  21. CloudUser: appConfig.Cloud.Mqtt.User,
  22. CloudPassword: appConfig.Cloud.Mqtt.Password,
  23. CloudTimeout: appConfig.Cloud.Mqtt.Timeout,
  24. EdgeServer: appConfig.Edge.Mqtt.Server,
  25. EdgeClientID: appConfig.GID + "@" + appname + version,
  26. EdgeUser: appConfig.Edge.Mqtt.User,
  27. EdgePassword: appConfig.Edge.Mqtt.Password,
  28. EdgeTimeout: appConfig.Edge.Mqtt.Timeout,
  29. })
  30. })
  31. return _mqttMgr
  32. }