Pārlūkot izejas kodu

修复clientid问题

李富豪 1 gadu atpakaļ
vecāks
revīzija
5fbb6aa455

+ 2 - 2
Web/src/components/airport/components/InfoModal.vue

@@ -187,13 +187,13 @@
                 <img :src="returnHomeSrc" @click="onClickReturnHome">
               </a-tooltip>
             </div>
-            <!-- <div class="content-aircraft-head-right-bottom-icon" style="margin-left: 5px;">
+            <div class="content-aircraft-head-right-bottom-icon" style="margin-left: 5px;">
               <a-tooltip title="操作">
                 <img :src="aircraftSelectedSrc" @click="state.droneControlPanelVisible = false"
                   v-if="state.droneControlPanelVisible">
                 <img :src="aircraftSrc" @click="state.droneControlPanelVisible = true" v-else>
               </a-tooltip>
-            </div> -->
+            </div>
           </div>
           <div class="content-aircraft-head-right-select">
             <div v-if="state.deviceLiveVisible">

+ 7 - 4
Web/src/components/g-map/DroneControlPanel.vue

@@ -311,6 +311,7 @@ const props = defineProps<{
 }>()
 
 const store = useMyStore()
+
 const clientId = computed(() => {
   return store.state.clientId
 })
@@ -487,8 +488,9 @@ async function onClickFightControl() {
 // 进入飞行控制
 async function enterFlightControl() {
   try {
+    const clientId = localStorage.getItem('client_id') || '';
     const { code, data } = await postDrcEnter({
-      client_id: clientId.value,
+      client_id: clientId,
       dock_sn: props.sn,
     })
     if (code === 0) {
@@ -503,7 +505,7 @@ async function enterFlightControl() {
       if (droneControlSource.value !== ControlSource.A) {
         await postFlightAuth(props.sn)
       }
-      message.success('Get flight control successfully')
+      message.success('成功进入远程控制')
     }
   } catch (error: any) {
   }
@@ -512,15 +514,16 @@ async function enterFlightControl() {
 // 退出飞行控制
 async function exitFlightCOntrol() {
   try {
+    const clientId = localStorage.getItem('client_id') || '';
     const { code } = await postDrcExit({
-      client_id: clientId.value,
+      client_id: clientId,
       dock_sn: props.sn,
     })
     if (code === 0) {
       flightController.value = false
       deviceTopicInfo.subTopic = ''
       deviceTopicInfo.pubTopic = ''
-      message.success('退出飞行控制')
+      message.success('成功退出远程控制')
     }
   } catch (error: any) {
   }

+ 3 - 0
Web/src/components/g-map/use-connect-mqtt.ts

@@ -28,6 +28,7 @@ export function useConnectMqtt() {
     if (val) {
       if (mqttState.value) return
       const result = await postDrc({})
+      localStorage.removeItem('client_id');
       if (result?.code === 0) {
         const { address, client_id, username, password, expire_time } = result.data
         // @TODO: 校验 expire_time
@@ -43,6 +44,7 @@ export function useConnectMqtt() {
 
         store.commit('SET_MQTT_STATE', mqttState.value)
         store.commit('SET_CLIENT_ID', client_id)
+        localStorage.setItem('client_id', client_id)
       }
       // @TODO: 认证失败case
       return
@@ -54,6 +56,7 @@ export function useConnectMqtt() {
       mqttState.value = null
       store.commit('SET_MQTT_STATE', null)
       store.commit('SET_CLIENT_ID', '')
+      localStorage.removeItem('client_id')
     }
   }, { immediate: true })