From 4cb8a1f7eec739c77ff4794f09000790fc1a11dd Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期二, 11 六月 2024 14:38:30 +0800 Subject: [PATCH] # --- src/core/warehouse.jsx | 50 +++++++++++++++++++++++++++++++++++++------------- 1 files changed, 37 insertions(+), 13 deletions(-) diff --git a/src/core/warehouse.jsx b/src/core/warehouse.jsx index acb57d5..1792fad 100644 --- a/src/core/warehouse.jsx +++ b/src/core/warehouse.jsx @@ -23,14 +23,28 @@ const [agvData, setAgvData] = useState([ {} ]); - const [boxData, setBoxData] = useState([]) + const [agv1Data, setAgv1Data] = useState({}); + const [agv2Data, setAgv2Data] = useState({}); + const [boxData, setBoxData] = useState([]); useEffect(() => { const websocket = new WebSocketClient('/ws/digitalTwin/websocket'); websocket.connect(); - // websocket.onMessage = (data) => { - // Utils.updateMapStatusInRealTime(data, () => curFloorRef.current, setCurSPrite); - // } + websocket.onMessage = (jsonStr) => { + const data = JSON.parse(jsonStr); + if (data.type === 'agv') { + switch (data.no) { + case "1": + setAgv1Data(data.obj); + break; + case "2": + setAgv2Data(data.obj); + break; + default: + break; + } + } + } const timer = setInterval(() => { getBoxData().then(res => { @@ -45,12 +59,12 @@ setBoxData(res); }) - getAgvData().then(res => { - // console.log(JSON.stringify(res)) - if (res && res.length > 0) { - setAgvData(res); - } - }) + // getAgvData().then(res => { + // // console.log(JSON.stringify(res)) + // if (res && res.length > 0) { + // setAgvData(res); + // } + // }) const agvRealData = agvRealDataList[index]; if (agvRealData) { @@ -63,9 +77,9 @@ if (timer) { clearInterval(timer); } - + if (websocket) { - websocket.onMessage = (data) => {} + websocket.onMessage = (data) => { } websocket.close(); } } @@ -91,6 +105,14 @@ return agvData.map((data, idx) => <Agv key={idx} {...data} />) }, [agvData]); + const agv1El = useMemo(() => { + return <Agv key={1} {...agv1Data} /> + }, [agv1Data]); + + const agv2El = useMemo(() => { + return <Agv key={2} {...agv2Data} /> + }, [agv2Data]); + useFrame((state, delta) => { @@ -102,7 +124,9 @@ {tunnelEl} {areaEl} {shelfEl} - {agvEl} + {/* {agvEl} */} + {agv1El} + {agv2El} {boxEl} </group> </> -- Gitblit v1.9.1