diff --git a/pages/control/index.vue b/pages/control/index.vue index 5ddb86b..719559c 100644 --- a/pages/control/index.vue +++ b/pages/control/index.vue @@ -304,7 +304,7 @@ export default { if ((e === 'A' || e==='B' || e==='C') && store.getters && store.getters.name === 'admin' ) { this.getNewSpecialData(e); - this.mqttConfig.subscribeTopic = `frontend/${clientId}/dtu/862538063921866${MQTT_TOPIC_SUFFIX.UP}`; + this.mqttConfig.subscribeTopic = `frontend/${clientId}/dtu/862538065276061${MQTT_TOPIC_SUFFIX.UP}`; } const selectedItem = this.range.find(item => item.value === e); if (selectedItem) { @@ -406,7 +406,6 @@ export default { // 3. 确定传感器键名(精简变量名) const isAdmin = store.getters?.name === 'admin'; const sk = (isAdmin && ['A','B','C'].includes(this.imei)) ? IMEI_SENSOR_MAP[this.imei] : IMEI_SENSOR_MAP.A; - // 4. 简化liveData的嵌套三元(核心优化) this.liveData = Object.fromEntries( Object.entries(sk).map(([k, skVal]) => [ diff --git a/utils/mqtt.js b/utils/mqtt.js index 1fb8785..645ec1e 100644 --- a/utils/mqtt.js +++ b/utils/mqtt.js @@ -78,7 +78,6 @@ export function connectMqtt() { console.error('MQTT连接失败:请先调用initMqttConfig初始化配置') return false } - console.info(mqttState.client!=null,mqttState.client) // 避免重复连接 if (mqttState.client!=null) { console.log('MQTT已连接,无需重复操作') @@ -102,6 +101,13 @@ export function connectMqtt() { }) mqttState.client.on('close', () => { + if (getToken()) { + batchUnsubscribe({clientId:mqttState.options.clientId}).then(response => { + if (response.code === 200) { + console.info("取消订阅成功!") + } + }) + } console.log('MQTT连接断开') mqttState.isConnected = false })