From 856c936e69c80e7bb5b3a340e4b8d6000994a6a6 Mon Sep 17 00:00:00 2001 From: jiannibang <271381693@qq.com> Date: Tue, 8 Oct 2024 13:08:48 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AF=BC=E8=88=AA=E6=97=B6=E6=8C=87?= =?UTF-8?q?=E8=B7=AF=E6=9C=BA=E5=B1=95=E7=A4=BA=E5=86=85=E5=AE=B9=E5=8C=B9?= =?UTF-8?q?=E9=85=8D=E5=90=8E=E5=8F=B0=E7=9B=AE=E6=A0=87=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E7=9A=84=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/composables/useShockman.js | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/composables/useShockman.js b/src/composables/useShockman.js index 4644be7..685ccfc 100644 --- a/src/composables/useShockman.js +++ b/src/composables/useShockman.js @@ -7,6 +7,7 @@ import MD5 from 'crypto-js/md5' const useShockmanStore = defineStore('shockman', { state: () => ({ list: [], + endMap: {}, intervalTimer: 0, playTimer: 0, index: 0 @@ -15,6 +16,9 @@ const useShockmanStore = defineStore('shockman', { SET_LIST(list) { this.list = list }, + SET_END_MAP(endMap) { + this.endMap = endMap + }, SET_INTERVAL_TIMER(intervalTimer) { this.intervalTimer = intervalTimer }, @@ -96,8 +100,9 @@ export const useShockman = () => { } const shockmanStore = useShockmanStore() const { list, index } = storeToRefs(shockmanStore) - window.Map_QM.getObjectAngle && - shockmanStore.SET_LIST(window.Map_QM.getObjectAngle(device.value.targetInfoList.filter(({ status }) => status === 1)).filter(({ cost }) => cost)) + const { targetInfoList } = device.value + shockmanStore.SET_END_MAP(targetInfoList.reduce((acc, nxt) => ({ ...acc, [nxt.name]: nxt }), {})) + window.Map_QM.getObjectAngle && shockmanStore.SET_LIST(window.Map_QM.getObjectAngle(targetInfoList.filter(({ status }) => status === 1)).filter(({ cost }) => cost)) shockmanStore.SET_INTERVAL_TIMER(getIntervalTimer()) if (list.value.length) { @@ -113,7 +118,7 @@ export const playShockmanByNav = ({ progText1, progDist, progAngel }) => { return } const shockmanStore = useShockmanStore() - const { intervalTimer, playTimer } = storeToRefs(shockmanStore) + const { intervalTimer, playTimer, endMap } = storeToRefs(shockmanStore) if (intervalTimer.value) { clearInterval(intervalTimer.value) shockmanStore.SET_INTERVAL_TIMER(0) @@ -126,7 +131,12 @@ export const playShockmanByNav = ({ progText1, progDist, progAngel }) => { shockmanStore.SET_INTERVAL_TIMER(getIntervalTimer()) }, 60000) ) - sendMsg2Shockman({ progMode: '1', progText1, progText2: '由此方向向前', progDist, progAngel }) + + const info = endMap.value[progText1] + if (info) console.log('匹配到指路机目标', info) + const progMode = info ? String(info.playWay) : '1' + const progText2 = info ? (info.playWay === 1 || info.playWay === 4 ? info.twoText : ' ') : '由此方向向前' + sendMsg2Shockman({ progMode, progText1, progText2, progDist, progAngel }) } catch (error) { console.log('指路机播放导航信息失败', error) }