mqtt_init.go 1009 B

12345678910111213141516171819202122232425262728293031323334353637383940
  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. CloudOnline: &MqttOnline{},
  25. EdgeServer: appConfig.Edge.Mqtt.Server,
  26. EdgeClientID: appConfig.GID + "@" + appname + version,
  27. EdgeUser: appConfig.Edge.Mqtt.User,
  28. EdgePassword: appConfig.Edge.Mqtt.Password,
  29. EdgeTimeout: appConfig.Edge.Mqtt.Timeout,
  30. EdgeOnline: &MqttOnline{},
  31. })
  32. })
  33. return _mqttMgr
  34. }