From 099d9a5da5b562e63e2e56efbe9f799e2bcdd614 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 22 十一月 2024 09:35:24 +0800 Subject: [PATCH] # --- zy-acs-flow/src/map/MapPage.jsx | 23 ++++++++++++----------- 1 files changed, 12 insertions(+), 11 deletions(-) diff --git a/zy-acs-flow/src/map/MapPage.jsx b/zy-acs-flow/src/map/MapPage.jsx index adfba19..7d4ecfd 100644 --- a/zy-acs-flow/src/map/MapPage.jsx +++ b/zy-acs-flow/src/map/MapPage.jsx @@ -40,7 +40,8 @@ const [app, setApp] = useState(null); const [mapContainer, setMapContainer] = useState(null); - const [mode, setMode] = useState(null); + const [mode, setMode] = useState(MAP_MODE.OBSERVER_MODE); + const modeRef = useRef(mode); const [dataFetched, setDataFetched] = useState(false); const [insightVisible, setInsightVisible] = useState(false); const [deviceVisible, setDeviceVisible] = useState(false); @@ -48,7 +49,6 @@ const [batchSelectionVisible, setBatchSelectionVisible] = useState(false); const [curSprite, setCurSprite] = useState(null); - const prevCurSpriteRef = useRef(); const [batchSprites, setBatchSprites] = useState([]); const [rcsStatus, setRcsStatus] = useState(null); @@ -78,10 +78,12 @@ Http.setMapContainer(player.mapContainer); websocket = new WebSocketClient('/ws/map/websocket'); - await Http.fetchMapData(curZone, setRcsStatus); + await Http.fetchMapData(curZone, setRcsStatus, setCurSprite); websocket.connect(); websocket.onMessage = (wsMsg) => { - Tool.generateDynamicGraphic(curZone, JSON.parse(wsMsg), setCurSprite); + if (modeRef.current === MAP_MODE.OBSERVER_MODE) { + Tool.generateDynamicGraphic(curZone, JSON.parse(wsMsg), setCurSprite); + } } player.rotateMap(localStorage.getItem('mapRotation')); @@ -89,7 +91,6 @@ notify.info(translate('page.map.welcome')); player.adaptScreen(); setDataFetched(true); - setMode(MAP_MODE.OBSERVER_MODE); }, 200) } initialize(); @@ -106,7 +107,6 @@ player.destroy(); window.removeEventListener('resize', handleResize); Tool.patchRaLayout(''); - Tool.isF }; }, []) @@ -120,6 +120,8 @@ }, [themeMode]) const switchMode = (mode) => { + modeRef.current = mode; + Tool.removeSelectedEffect(); player.hideGridLines(); @@ -181,6 +183,9 @@ sprite.x = mapX; sprite.y = mapY; + // sprite.scale.set(mapContainer.scale.x); + sprite.rotation = -mapContainer.rotation; + Tool.initSprite(sprite, type); mapContainer.addChild(sprite); Tool.beMovable(sprite); @@ -191,10 +196,7 @@ if (!mapContainer) { return; } - prevCurSpriteRef.current = curSprite; - if (curSprite && prevCurSprite !== curSprite) { - Tool.removeSelectedEffect(); - } + Tool.removeSelectedEffect(); if (curSprite) { if (mode === MAP_MODE.OBSERVER_MODE) { Tool.showSelectedEffect(curSprite); @@ -210,7 +212,6 @@ setSettingsVisible(false); } }, [curSprite]); - const prevCurSprite = prevCurSpriteRef.current; // watch batchSprites React.useEffect(() => { -- Gitblit v1.9.1