gr 1 week ago
parent
commit
0dc6abd84b
3 changed files with 47 additions and 70 deletions
  1. 6 2
      src/components/UeVideo.vue
  2. 33 41
      src/utils/ueActions.js
  3. 8 27
      src/views/home/cpns/FloatPanelTsjs.vue

+ 6 - 2
src/components/UeVideo.vue

@@ -56,8 +56,12 @@ const wsConnect = (sceneId, view_mode, token) => {
 		peerStreamRef.value.addEventListener('message', (e) => {
 			const message = JSON.parse(e.detail)
 			// console.log('收到消息:', message)
-			proxy.$bus.emit('ueMsgReceived', message)
-			// connectStatus.value = ("收到消息:" + message);
+			if (message.ModuleName === 'DemoScene') {
+				proxy.$bus.emit('ueReceived_DemoScene', message)
+			}
+			if (message.ModuleName === 'UavController' && message.ActionName === 'DemoSceneUpdateUavData') {
+				proxy.$bus.emit('ueReceived_DemoSceneUpdateUavData', message)
+			}
 		})
 	}
 }

+ 33 - 41
src/utils/ueActions.js

@@ -182,15 +182,11 @@ export function initSceneDemo() {
 	})
 }
 
-let startSceneDemoBus = false
-let currentType
-
 /**
  * 场景演示
  * @param {'Near' | 'Yaw' | 'Electricity' | 'BreakInto' | 'Weather'} type
  */
 export function startSceneDemo(type) {
-	currentType = type
 	const setUav = (id) => {
 		sendMessage({
 			ModuleName: 'BluePrint',
@@ -216,44 +212,40 @@ export function startSceneDemo(type) {
 		},
 	})
 
-	if (startSceneDemoBus) return
-
-	startSceneDemoBus = true
+	bus.off('ueReceived_DemoSceneUpdateUavData')
 
-	bus.on('ueMsgReceived', async (message) => {
-		if (message.ModuleName === 'UavController' && message.ActionName === 'DemoSceneUpdateUavData') {
-			await wait(1000)
-			switch (currentType) {
-				case 'Near': {
-					setUav('D0CECFB45F494D39ADABB5AF7A7DFEE7')
-					await wait(1000)
-					followUav('D0CECFB45F494D39ADABB5AF7A7DFEE7')
-					break
-				}
-				case 'Yaw': {
-					setUav('3C50F681255941F88D7B6E5EE7F6AC63')
-					await wait(1000)
-					followUav('3C50F681255941F88D7B6E5EE7F6AC63')
-					break
-				}
-				case 'BreakInto': {
-					setUav('bdb8859e-b366-4c1a-a964-1e16ba15237a')
-					await wait(1000)
-					followUav('bdb8859e-b366-4c1a-a964-1e16ba15237a')
-					break
-				}
-				case 'Weather': {
-					setUav('469193E4D239436BB50767009CC8B29F')
-					await wait(1000)
-					followUav('469193E4D239436BB50767009CC8B29F')
-					break
-				}
-				case 'Electricity': {
-					setUav('D0CECFB45F494D39ADABB5AF7A7DFEE7')
-					await wait(1000)
-					followUav('D0CECFB45F494D39ADABB5AF7A7DFEE7')
-					break
-				}
+	bus.on('ueReceived_DemoSceneUpdateUavData', async () => {
+		await wait(1000)
+		switch (type) {
+			case 'Near': {
+				setUav('D0CECFB45F494D39ADABB5AF7A7DFEE7')
+				await wait(1000)
+				followUav('D0CECFB45F494D39ADABB5AF7A7DFEE7')
+				break
+			}
+			case 'Yaw': {
+				setUav('3C50F681255941F88D7B6E5EE7F6AC63')
+				await wait(1000)
+				followUav('3C50F681255941F88D7B6E5EE7F6AC63')
+				break
+			}
+			case 'BreakInto': {
+				setUav('bdb8859e-b366-4c1a-a964-1e16ba15237a')
+				await wait(1000)
+				followUav('bdb8859e-b366-4c1a-a964-1e16ba15237a')
+				break
+			}
+			case 'Weather': {
+				setUav('469193E4D239436BB50767009CC8B29F')
+				await wait(1000)
+				followUav('469193E4D239436BB50767009CC8B29F')
+				break
+			}
+			case 'Electricity': {
+				setUav('D0CECFB45F494D39ADABB5AF7A7DFEE7')
+				await wait(1000)
+				followUav('D0CECFB45F494D39ADABB5AF7A7DFEE7')
+				break
 			}
 		}
 	})

+ 8 - 27
src/views/home/cpns/FloatPanelTsjs.vue

@@ -182,8 +182,7 @@ function handleCloseInfo() {
 
 onBeforeMount(() => {
 	getData()
-	proxy.$bus.on('ueMsgReceived', (msg) => {
-		if (msg.ModuleName !== 'DemoScene') return
+	proxy.$bus.on('ueReceived_DemoScene', (msg) => {
 		switch (msg.ActionName) {
 			case 'AlarmDetail': {
 				baseInfo.value.name = msg.Data.name
@@ -196,35 +195,17 @@ onBeforeMount(() => {
 				const { electricityWarning, weatherWarning, collision, noFlyZone, clearZone, nearstAircraft, routeDeviate } =
 					msg.Data.flightDataStatus
 
-				if (electricityWarning !== 'SAFE' && electricityWarning !== '') {
-					alertInfo.value.power.show = true
-				} else {
-					alertInfo.value.power.show = false
-				}
+				alertInfo.value.power.show = electricityWarning !== 'SAFE' && electricityWarning !== ''
 
-				if (weatherWarning !== 'SAFE' && weatherWarning !== '') {
-					alertInfo.value.weather.show = true
-				} else {
-					alertInfo.value.weather.show = false
-				}
+				alertInfo.value.weather.show = weatherWarning !== 'SAFE' && weatherWarning !== ''
 
-				if ((nearstAircraft !== 'SAFE' && nearstAircraft !== '') || (collision !== 'SAFE' && collision !== '')) {
-					alertInfo.value.collision.show = true
-				} else {
-					alertInfo.value.collision.show = false
-				}
+				alertInfo.value.collision.show =
+					(nearstAircraft !== 'SAFE' && nearstAircraft !== '') || (collision !== 'SAFE' && collision !== '')
 
-				if ((noFlyZone !== 'SAFE' && noFlyZone !== '') || (clearZone !== 'SAFE' && clearZone !== '')) {
-					alertInfo.value.area.show = true
-				} else {
-					alertInfo.value.area.show = false
-				}
+				alertInfo.value.area.show =
+					(noFlyZone !== 'SAFE' && noFlyZone !== '') || (clearZone !== 'SAFE' && clearZone !== '')
 
-				if (routeDeviate === true) {
-					alertInfo.value.offCourse.show = true
-				} else {
-					alertInfo.value.offCourse.show = false
-				}
+				alertInfo.value.offCourse.show = routeDeviate
 
 				if (!uavInfoShow.value) uavInfoShow.value = true
 				if (layoutStore.sceneLoading) layoutStore.sceneLoading = false