From 2800fa4f32f3900509cb4d6eefaf2bfaf54efdd7 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Mon, 21 Apr 2025 18:29:09 +0800
Subject: [PATCH] fix: 天气显示

---
 src/hooks/controlDrone/useMqtt.js |   20 ++++++++------------
 1 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/src/hooks/controlDrone/useMqtt.js b/src/hooks/controlDrone/useMqtt.js
index 2ee7e3d..8ac4679 100644
--- a/src/hooks/controlDrone/useMqtt.js
+++ b/src/hooks/controlDrone/useMqtt.js
@@ -6,23 +6,18 @@
 
 
 
-export function useMqtt (deviceTopicInfo) {
+export function useMqtt (mqttState,deviceTopicInfo) {
   let cacheSubscribeArr= []
 
-  const store = useStore()
-
-  const mqttState = computed(() => {
-    return store.state.common.mqttState
-  })
 
   function publishMqtt (topic, body, ots) {
-    mqttState.value?.publishMqtt(topic, JSON.stringify(body), ots)
+    mqttState?.publishMqtt(topic, JSON.stringify(body), ots)
   }
 
   function subscribeMqtt (topic, handleMessageMqtt) {
-    mqttState.value?.subscribeMqtt(topic)
+    mqttState?.subscribeMqtt(topic)
     const handler = handleMessageMqtt || onMessageMqtt
-    mqttState.value?.on('onMessageMqtt', handler)
+    mqttState?.on('onMessageMqtt', handler)
     cacheSubscribeArr.push({
       topic,
       callback: handler,
@@ -52,8 +47,8 @@
   function unsubscribeDrc () {
     // 销毁已订阅事件
     cacheSubscribeArr.forEach(item => {
-      mqttState.value?.off('onMessageMqtt', item.callback)
-      mqttState.value?.unsubscribeMqtt(item.topic)
+      mqttState?.off('onMessageMqtt', item.callback)
+      mqttState?.unsubscribeMqtt(item.topic)
     })
     cacheSubscribeArr = []
   }
@@ -72,6 +67,7 @@
       // 2.发心跳
       publishDrcPing(deviceTopicInfo.sn)
     } else {
+      console.log('清除pingInterval')
       clearInterval(state.heartState.get(deviceTopicInfo.sn)?.pingInterval)
       state.heartState.delete(deviceTopicInfo.sn)
       heartBeatSeq.value = 0
@@ -87,7 +83,7 @@
       },
     }
     const pingInterval = setInterval(() => {
-      if (!mqttState.value) return
+      if (!mqttState) return
       heartBeatSeq.value += 1
       body.data.ts = new Date().getTime()
       body.data.seq = heartBeatSeq.value

--
Gitblit v1.9.3