1.需要使用Mqtt 3.0版本
yarn add mqtt@3.0.0
2.安装成功后,需要main.js里面最后面添加以下代码(哪里都行,只要在执行mqtt前执行这段代码即可)
// #ifndef MP
// 处理 wx.connectSocket promisify 兼容问题,强制返回 SocketTask
uni.connectSocket = (function(connectSocket) {
return function(options) {
console.log(options)
options.success = options.success || function() {}
return connectSocket.call(this, options)
}
})(uni.connectSocket)
// #endif
3.最后再引用即可
import mqtt from "mqtt/dist/mqtt.js"
let mqttTool = {
client: null
}
mqttTool.connect = function(params){
let options = {
clientId: params.clientId,
username: params.username,
password: params.password,
clean: params.clean,
connectTimeout: 600000,
cleanSession: false,
port:443
}
console.log(options);
let client = mqtt.connect(params.url, options);
mqttTool.client = client;
return client;
}
....