1.在uniapp项目根目录下运行安装mqtt命令行.
npm install mqtt@3.0.0
2.在使用的页面导入mqtt
var mqtt = require(‘mqtt/dist/mqtt.js’)
3.调用下面方法
initMQTT() {
const connectUrl = 'wx://127.0.0.1:8080/mqtt';
let client = mqtt.connect(connectUrl, {
clean: true,
connectTimeout: 4000,
reconnectPeriod: 1000,
clientId: 'test' + Math.random().toString(16).substr(2, 8),
username: 'test'
})
// 需要订阅的主题
const subscribe = ['/test/post'];
//成功连接后触发的回调
client.on('connect', () => {
console.log('已经连接成功');
// 这里可以订阅多个主题
client.subscribe(subscribe, () => {
console.log(`订阅了主题 ${subscribe}`)
})
});
let _this = this;
// 当客户端收到一个发布过来的消息时触发回调
client.on('message', function (topic, message) {
// 这里有可能拿到的数据格式是Uint8Array格式,所以可以直接用toString转成字符串
let data = JSON.parse(message.toString());
});
// 连接断开后触发的回调
client.on("close", function () {
console.log("已断开连接")
});
}