forked from drone/command-center-dashboard

chenyao
2025-04-21 fa3d0d26b3b37af8761562ab32a31c49b6215c65
src/views/SignMachineNest/MachineRight/MachineMonitor.vue
@@ -24,13 +24,21 @@
const osdVisible = computed(() => store.state.home.osdVisible);
// 直播地址
let airPortUrl = ref('')
// 获取直播地址
// 获取机巢直播地址
const getVideoUrl = (sn, quality) => {
   if (singleUavHome.value.status === 'OFFLINE') return;
   liveStart(sn, quality).then(res => {
      if (res.data.code !== 0) return
      airPortUrl.value = res.data.data.rtcs_url
   })
}
// 获取无人机直播url
async function getDroneLiveUrl(sn, quality) {
   airPortUrl.value = ''
   await nextTick()
   const res = await liveStart(sn, quality)
   airPortUrl.value = res.data.data.rtcs_url
}
const isTakeOff = ref(false)
@@ -42,7 +50,7 @@
      // 如果还是之前的状态,不切换
      if (isTakeOff.value === currentIsTakeOff) return
      isTakeOff.value = currentIsTakeOff
      isTakeOff.value ? await getVideoUrl(osdVisible.value.sn, 2) : await getVideoUrl(singleUavHome.value.device_sn, 1)
      isTakeOff.value ? await getDroneLiveUrl(osdVisible.value.sn, 2) : await getVideoUrl(singleUavHome.value.device_sn, 1)
   },
   {
      immediate: true,
@@ -53,6 +61,9 @@
onMounted(() => {
   getVideoUrl(singleUavHome.value.device_sn, 1)
})
onUnmounted(() => {
   airPortUrl.value = ''
})
</script>
<style lang="scss" scoped>