From b78e11353415bca19a1d24ada1062ae8c6bddd89 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Sat, 19 Apr 2025 17:34:40 +0800
Subject: [PATCH] 报错处理
---
src/hooks/useTaskViewInfo/useTaskViewInfo.js | 39 +++++++++++++++++++++++++--------------
1 files changed, 25 insertions(+), 14 deletions(-)
diff --git a/src/hooks/useTaskViewInfo/useTaskViewInfo.js b/src/hooks/useTaskViewInfo/useTaskViewInfo.js
index 54d4e18..046d46e 100644
--- a/src/hooks/useTaskViewInfo/useTaskViewInfo.js
+++ b/src/hooks/useTaskViewInfo/useTaskViewInfo.js
@@ -3,7 +3,7 @@
import CreateFrustum from '@/utils/cesium/frustum/CreateFrustum'
export function useTaskViewInfo (viewer, wsInfo, removeEntitys) {
- const newViewer = unref(viewer)
+ const newViewer = isRef(viewer) ? viewer : ref(viewer)
let viewInfoFrustum
// 设置视椎
@@ -14,7 +14,7 @@
const attitude_head = 180 + host.attitude_head
const gimbal_pitch = 90 - Number(host?.payloads[0]?.gimbal_pitch) || 0
- viewInfoFrustum = new CreateFrustum(newViewer, {
+ viewInfoFrustum = new CreateFrustum(newViewer.value, {
position: {
longitude: host.longitude,
latitude: host.latitude,
@@ -33,14 +33,14 @@
function setAircraftGltf () {
const host = deviceOsdInfo.value?.data?.host
- const aircraftEntity = newViewer.entities.getById('aircraftGltf')
+ const aircraftEntity = newViewer.value?.entities.getById('aircraftGltf')
const position = Cesium.Cartesian3.fromDegrees(host.longitude, host.latitude, host.height)
if (aircraftEntity) {
aircraftEntity.position = new Cesium.ConstantPositionProperty(position)
return
}
- newViewer.entities.add({
+ newViewer.value?.entities.add({
id: 'aircraftGltf',
position,
model: {
@@ -55,22 +55,33 @@
// 视椎加载处理
const deviceOsdInfo = computed(() => wsInfo.value?.device_osd)
- watch(deviceOsdInfo, () => {
- const host = deviceOsdInfo.value?.data?.host
- if ([14, 0].includes(host.mode_code)) {
- mapEntityRemove()
- return
+ watch(
+ [
+ () => deviceOsdInfo.value,
+ () => newViewer.value
+ ],
+ (
+ [curDeviceOsdInfo, curViewer],
+ ) => {
+ const host = deviceOsdInfo.value?.data?.host
+
+ if (!curViewer) return
+
+ if ([14, 0].includes(host.mode_code)) {
+ mapEntityRemove()
+ return
+ }
+
+ setCreateFrustum(host)
+ setAircraftGltf()
}
-
- setCreateFrustum(host)
- setAircraftGltf()
- })
+ )
const mapEntityRemove = () => {
viewInfoFrustum?.clear()
- newViewer.entities.removeById('aircraftGltf')
+ newViewer.value?.entities.removeById('aircraftGltf')
removeEntitys && removeEntitys()
}
--
Gitblit v1.9.3