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数据 diff --git a/entry/src/main/ets/common/service/videoService.ts b/entry/src/main/ets/common/service/videoService.ts index 6884c912..779b0ebb 100644 --- a/entry/src/main/ets/common/service/videoService.ts +++ b/entry/src/main/ets/common/service/videoService.ts @@ -50,7 +50,7 @@ export async function startRecordVideo(param, td, context, dir, path?, index?) { if (!path) { fileName = `${date}_movie_record${num}.mp4` } else { - fileName = `${date}_${path}_${index || num}.mp4` + fileName = `${date}_${path}_${index || num}_${num}.mp4` } // @ts-ignore diff --git a/entry/src/main/ets/pages/UserInfo.ets b/entry/src/main/ets/pages/UserInfo.ets index f90f414f..d8194797 100644 --- a/entry/src/main/ets/pages/UserInfo.ets +++ b/entry/src/main/ets/pages/UserInfo.ets @@ -89,6 +89,7 @@ struct UserInfo { 'Param830Str': '0', //同一学员连续第二次考试时不再验证身份 'Param364': '0', //考前上车准备 'Param398': '0', //考前上车准备 + 'Param835': '0', //考前上车准备 } @State startExam: boolean = false // 过程照片拍照 @@ -159,6 +160,7 @@ struct UserInfo { cancel: () => { }, confirm: () => { + this.prePareExam() } }), customStyle: true, @@ -535,6 +537,9 @@ struct UserInfo { if (sys.v_no === '770') { that.systemParam.Param770Str = sys.v_value; } + if (sys.v_no === '835') { + that.systemParam.Param835 = sys.v_value; + } // 开始考试前必须解开安全带或关车门 if (sys.v_no === '803') { that.systemParam.Param803Str = sys.v_value + ''; @@ -1273,6 +1278,13 @@ struct UserInfo { if (this.systemParam.Param612Str == '1') { return } + if(Number(this.systemParam.Param835)<=Number(this.currentUser.yycs)){ + this.type='3' + this.title='当前考生预约考试次数为'+this.currentUser.yycs + this.errorDialog.open() + return + } + await this.prePareExam() }) } @@ -1428,4 +1440,5 @@ type systemParam = { 'Param830Str': string, //同一学员连续第二次考试时不再验证身份 'Param364': string, //考前上车准备 'Param398': string, //考前上车准备 + 'Param835': string, //考前上车准备 } \ No newline at end of file