From b5b4f5c6a9ba7838a7c6947d633a3d3f98aaef78 Mon Sep 17 00:00:00 2001 From: surenjun Date: Mon, 7 Apr 2025 12:56:24 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E4=BA=8C=E4=BB=A3=E6=9C=BAgps=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E4=BF=A1=E5=8F=B7=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/rearEndUnitsTool/tool/UdpByOne.ts | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/entry/src/main/ets/common/rearEndUnitsTool/tool/UdpByOne.ts b/entry/src/main/ets/common/rearEndUnitsTool/tool/UdpByOne.ts index 1385e0f8..cbf815a5 100644 --- a/entry/src/main/ets/common/rearEndUnitsTool/tool/UdpByOne.ts +++ b/entry/src/main/ets/common/rearEndUnitsTool/tool/UdpByOne.ts @@ -118,18 +118,21 @@ export default class UdpByOne { public handleMsg() { let newMessage = PLCGPSData; if (this.GPSMsg) { - // 使用正则表达式提取$GPGGA消息 - let GPGGAMsg = this.GPSMsg.match(/\$GPGGA[^$]*/)[0]; - let GPGGAMsgArr = GPGGAMsg ? GPGGAMsg?.split(",").slice(0, 15) : []; + let GPGGAMatch = this.GPSMsg.match(/\$GPGGA[^$]*/); + let GPGGAMsgArr = GPGGAMatch ? GPGGAMatch[0]?.split(",").slice(0, 15) : []; // 使用正则提取$GPRMC消息 - let GPRMCMsg = this.GPSMsg.match(/\$GPRMC[^$]*/)[0]; - let GPRMCMsgArr = GPRMCMsg ? GPRMCMsg?.split(",").slice(0, 14) : []; + let GPRMCMatch = this.GPSMsg.match(/\$GPRMC[^$]*/); + let GPRMCMsgArr = GPRMCMatch ? GPRMCMatch?.split(",").slice(0, 14) : []; // 使用正则表达式提取$GPGST消息 let GPGSTMatch = this.GPSMsg.match(/\$GPGST[^$]*/); let GPGSTMsgArr = GPGSTMatch ? GPGSTMatch[0]?.split(",").slice(0, 9) : []; // 使用正则提取$PTNL消息 - let PTNLMsg = this.GPSMsg.match(/\$PTNL[^$]*/)[0]; - let PTNLMsgArr = PTNLMsg.split(",")?.slice(0, 14); + let PTNLMatch = this.GPSMsg.match(/\$PTNL[^$]*/); + let PTNLMsgArr = PTNLMatch ? PTNLMatch[0].split(",")?.slice(0, 14) : []; + + if(GPGGAMsgArr.length == 0 || GPRMCMsgArr.length ==0 || GPGSTMsgArr.length ==0 || PTNLMsgArr.length ==0){ + return + } // 组合GPS数据