设备列表取消订阅

This commit is contained in:
kerwincui
2022-05-12 14:25:42 +08:00
parent cd63e1eba4
commit bc694b8a6f
2 changed files with 21 additions and 19 deletions

View File

@@ -392,12 +392,13 @@ export default {
mqttSubscribe(list) {
// 订阅当前页面设备状态和实时监测
let topics = [];
for (let i = 0; i < list.length; i++) {
let topicStatus = "/" + list[i].productId + "/" + list[i].serialNumber + "/status/post";
let topicMonitor = "/" + list[i].productId + "/" + list[i].serialNumber + "/monitor/post";
topics.push(topicStatus);
topics.push(topicMonitor);
}
// 订阅数太多会导致emqx连接中断或者订阅缓慢
// for (let i = 0; i < list.length; i++) {
// let topicStatus = "/" + list[i].productId + "/" + list[i].serialNumber + "/status/post";
// let topicMonitor = "/" + list[i].productId + "/" + list[i].serialNumber + "/monitor/post";
// topics.push(topicStatus);
// topics.push(topicMonitor);
// }
this.subscribes = topics;
},
/** 更新实时监测参数*/

View File

@@ -23,15 +23,14 @@ export default {
watch: {
// 获取到父组件传递的值
publish: function (val, oldVal) {
this.mqttPublish(val.topic, val.message,val.name);
this.mqttPublish(val.topic, val.message, val.name);
},
subscribes: function (val, oldVal) {
this.connectMqtt(val);
}
},
data() {
return {
};
return {};
},
created() {
@@ -55,16 +54,18 @@ export default {
this.client.on("connect", (e) => {
console.log("成功连接服务器:", e);
// 订阅主题
this.client.subscribe(subscribeTopics, {
qos: 1
}, (err) => {
if (!err) {
console.log("订阅成功");
console.log(subscribeTopics.join(", "));
} else {
console.log('消息订阅失败!')
}
});
if (subscribeTopics != '' && subscribeTopics.length > 0) {
this.client.subscribe(subscribeTopics, {
qos: 1
}, (err) => {
if (!err) {
console.log("订阅成功");
console.log(subscribeTopics.join(", "));
} else {
console.log('消息订阅失败!')
}
});
}
});
// 重新连接
this.reconnectMqtt()