package dep import ( "kpt-pasture/config" mqttHandle "kpt-pasture/module/mqtt" "kpt-pasture/service/mqtt" "go.uber.org/dig" ) func DIMqttService() (out mqtt.IMqttServer) { container := DI() if err := container.Provide(MqttHandel); err != nil { panic(err) } if err := container.Invoke(func(c mqtt.IMqttServer) { out = c }); err != nil { panic(err) } return } // MqttHandel 相关消费 func MqttHandel(dep MqttDependency) mqtt.IMqttServer { cfg := config.Options() sev := mqtt.NewServer(cfg) sev.Run(dep.MqttHub) return sev } type MqttDependency struct { dig.In MqttHub mqttHandle.Entry // 处理数据 }