逻辑优化
This commit is contained in:
		
							parent
							
								
									e35bf0f309
								
							
						
					
					
						commit
						b446c9442a
					
				
										
											Binary file not shown.
										
									
								
							| @ -24,7 +24,7 @@ import { examJudgeVersion } from './judgeSDK/api'; | ||||
| @Component | ||||
| struct Index { | ||||
|   @State carNum: string = '' | ||||
|   @State version: string = '2025.05.13.01' | ||||
|   @State version: string = judgeConfig.version | ||||
|   @State judgeVersion: string = '' | ||||
|   @State url: string = '' | ||||
|   @State hasAuth: boolean = false; | ||||
| @ -63,282 +63,6 @@ struct Index { | ||||
|     .height(69 * this.ratio * this.dialogRatio) | ||||
|     .backgroundImage($r('app.media.button_nor')) | ||||
|     .backgroundImageSize({ width: '100%', height: '100%' }) | ||||
|     // .margin({ bottom: 12 * this.ratio }) | ||||
|   } | ||||
| 
 | ||||
|   build() { | ||||
|     Column() { | ||||
|       Column() { | ||||
|         Row() { | ||||
|           Image($r('app.media.logo')).width('30%').height('5.5%').margin({ left: 24 }) | ||||
|           Row() { | ||||
|             Image($r('app.media.btn_setting')).width('16.7%').height('12.2%') | ||||
|               .onClick(async () => { | ||||
|                 if (this.loading) { | ||||
|                   return | ||||
|                 } | ||||
|                 router.pushUrl({ | ||||
|                   url: 'pages/Settings', | ||||
|                 }, router.RouterMode.Single); | ||||
|               }) | ||||
|             Image($r('app.media.btn_back')).width('14.4%').height('12.2%') | ||||
|               .onClick(() => { | ||||
|                 this.dialogVisiable = true | ||||
|               }) | ||||
|           } | ||||
|         } | ||||
|         .width('100%') | ||||
|         .justifyContent(FlexAlign.SpaceBetween) | ||||
|       } | ||||
| 
 | ||||
|       Column() { | ||||
|         Row() { | ||||
|           if (!this.isSingle) { | ||||
|             imageBtn({ btnWidth: '28%', btnHeight: '71%', imgSrc: $r('app.media.index_lw') }) | ||||
|               .margin({ left: 80 * globalThis.ratio }) | ||||
|               .onClick(async () => { | ||||
|                 // this.vocObj.playAudio({ | ||||
|                 //   type: 1, | ||||
|                 //   name: 'button_media.wav' | ||||
|                 // }) | ||||
|                 // ||!this.initParamFlag | ||||
|                 if (this.loading) { | ||||
|                   // globalThis.title = '正在初始化,请等待5s后重试' | ||||
|                   // this.errorDialog.open() | ||||
|                   return | ||||
|                 } | ||||
|                 setTimeout(() => { | ||||
|                   this.angle = 360 | ||||
|                 }, 1000) | ||||
|                 this.angle = 0 | ||||
|                 if (!globalThis.timeInfo) { | ||||
|                   globalThis.type = '1' | ||||
|                   globalThis.title = '时间同步接口连接失败' | ||||
|                   this.errorDialog.open() | ||||
|                   promptAction.showToast({ | ||||
|                     message: `时间同步接口连接失败`, | ||||
|                     duration: 3000 | ||||
|                   }); | ||||
|                   this.loading = false | ||||
|                   return | ||||
|                 } | ||||
|                 if (!globalThis.carInfo) { | ||||
|                   promptAction.showToast({ | ||||
|                     message: `车辆信息接口获取失败`, | ||||
|                     duration: 3000 | ||||
|                   }); | ||||
|                   globalThis.type = '1' | ||||
|                   globalThis.title = '车辆信息接口获取失败' | ||||
|                   this.errorDialog.open() | ||||
|                   this.loading = false | ||||
|                   return | ||||
|                 } | ||||
|                 this.testXMLToJSONInWorker() | ||||
| 
 | ||||
| 
 | ||||
|               }) | ||||
|           } | ||||
|           if (this.isSingle) { | ||||
|             imageBtn({ btnWidth: '28%', btnHeight: '71%', imgSrc: $r('app.media.index_dj') }) | ||||
|               .margin({ left: 80 * globalThis.ratio }) | ||||
|               .onClick(() => { | ||||
|                 if (this.loading) { | ||||
|                   return | ||||
|                 } | ||||
|                 // this.vocObj.playAudio({ | ||||
|                 //   type: 1, | ||||
|                 //   name: 'button_media.wav' | ||||
|                 // }) | ||||
|                 if (judgeConfig.isTrajectoryOpen) { | ||||
|                   router.pushUrl({ | ||||
|                     url: 'pages/UserInfo', | ||||
|                   }, router.RouterMode.Single) | ||||
|                   return | ||||
|                 } | ||||
|                 //判断数据库是否有表数据,有则直接跳转,没有则读取本地数据 | ||||
|                 getSyncData('MA_SYSSET').then(data => { | ||||
|                   console.log('datadata', JSON.stringify(data)) | ||||
|                   if (data?.[0]) { | ||||
|                     router.pushUrl({ | ||||
|                       url: 'pages/UserInfo', | ||||
|                     }, router.RouterMode.Single) | ||||
|                   } else { | ||||
|                     this.testXMLToJSONInWorker() | ||||
|                   } | ||||
|                 }); | ||||
|               }) | ||||
|           } | ||||
|           imageBtn({ btnWidth: '28%', btnHeight: '71%', imgSrc: $r('app.media.index_zj') }) | ||||
|             .margin({ right: 80 * globalThis.ratio }) | ||||
|             .onClick(() => { | ||||
|               if (this.loading) { | ||||
|                 return | ||||
|               } | ||||
|               // this.vocObj.playAudio({ | ||||
|               //   type: 1, | ||||
|               //   name: 'button_media.wav' | ||||
|               // }) | ||||
|               router.pushUrl({ | ||||
|                 url: 'pages/CarCheck' | ||||
|               }, router.RouterMode.Single); | ||||
|             }) | ||||
|         } | ||||
|         .width('100%') | ||||
|         .justifyContent(FlexAlign.SpaceAround) | ||||
|       } | ||||
| 
 | ||||
|       Column() { | ||||
|         Row() { | ||||
|           Column() { | ||||
|             Text('V外壳:' + this.version) | ||||
|               .fontColor('#CCAE7A') | ||||
|               .fontSize(18 * globalThis.ratio) | ||||
|               .width('30%') | ||||
|               .margin({ bottom: 10 }) | ||||
|             Text('V评判:' + this.judgeVersion) | ||||
|               .fontColor('#CCAE7A') | ||||
|               .fontSize(18 * globalThis.ratio) | ||||
|               .width('30%') | ||||
|               .margin({ bottom: 10 }) | ||||
|             // Text('V 1.0') | ||||
|             //   .fontColor('#CCAE7A') | ||||
|             //   .fontSize(22 * globalThis.ratio) | ||||
|             //   .width('30%') | ||||
|             //   .margin({ bottom: 10 }) | ||||
|             Text('授权信息:' + (this.hasAuth ? '已授权' : '未授权')) | ||||
|               .fontColor('#CCAE7A') | ||||
|               .fontSize(18 * globalThis.ratio) | ||||
|               .width('30%') | ||||
|           } | ||||
|           .margin({ left: 24 }) | ||||
|           .gesture( | ||||
|             GestureGroup(GestureMode.Exclusive, | ||||
|               TapGesture({ count: 2 }) | ||||
|                 .onAction(() => { | ||||
|                   // takePhotoFn(this.context) | ||||
| 
 | ||||
|                   globalThis.singlePlay = !globalThis.singlePlay | ||||
|                   this.isSingle = globalThis.singlePlay | ||||
|                 }) | ||||
|             ) | ||||
|           ) | ||||
| 
 | ||||
|           Text('考车号:' + this.deviceId) | ||||
|             .fontColor('#CCAE7A') | ||||
|             .fontSize(22 * globalThis.ratio) | ||||
|             .margin({ right: 24 }) | ||||
|         } | ||||
|         .width('100%') | ||||
|         .justifyContent(FlexAlign.SpaceBetween) | ||||
|         .margin({ bottom: 10 }) | ||||
|       } | ||||
| 
 | ||||
|       // | ||||
|       if (this.dialogVisiable) { | ||||
|         Flex({ justifyContent: FlexAlign.Center }) { | ||||
|           Text('确认是否退出应用') | ||||
|             .fontSize(28 * this.ratio * this.dialogRatio) | ||||
|             .margin({ top: 100 * this.ratio * this.dialogRatio }) | ||||
|           Row() { | ||||
|             Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { | ||||
|               Text('  取   消  ') | ||||
|                 .fontSize(24 * this.ratio * this.dialogRatio) | ||||
|                 .fontColor('#fff') | ||||
|                 .width(100 * this.ratio * this.dialogRatio) | ||||
|             } | ||||
|             .commStyle() | ||||
|             .onClick(() => { | ||||
|               this.dialogVisiable = false | ||||
|               // this.vocObj.playAudio({ | ||||
|               //   type: 1, | ||||
|               //   name: 'button_media.wav' | ||||
|               // }) | ||||
|             }).margin({ right: 10 * this.ratio }) | ||||
| 
 | ||||
|             Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { | ||||
|               Text('  确   定  ') | ||||
|                 .fontSize(24 * this.ratio * this.dialogRatio) | ||||
|                 .fontColor('#fff') | ||||
|                 .width(100 * this.ratio * this.dialogRatio) | ||||
|             } | ||||
|             .commStyle() | ||||
|             .onClick(() => { | ||||
|               this.context.terminateSelf() | ||||
|             }) | ||||
|           }.position({ y: 265 * this.ratio * this.dialogRatio, x: 115 * this.ratio * this.dialogRatio }) | ||||
| 
 | ||||
|         } | ||||
|         .width(660 * this.ratio * this.dialogRatio) | ||||
|         .height(360 * this.ratio * this.dialogRatio) | ||||
|         .position({ x: 220 * this.ratio, y: 98 * this.ratio - 265 / 2 * (1 - this.ratio * this.dialogRatio) }) | ||||
|         .backgroundColor('#E6E3DF') | ||||
|         .borderRadius(19 * this.ratio * this.dialogRatio) | ||||
|       } | ||||
|       if (this.delLoading) { | ||||
|         Column() { | ||||
|           Image($r('app.media.open_loading')) | ||||
|             .width(200 * globalThis.ratio) | ||||
|             .rotate({ angle: this.angle }) | ||||
|             .height(200 * globalThis.ratio) | ||||
|             .animation({ | ||||
|               duration: 5000, // 动画时长 | ||||
|               curve: Curve.EaseOut, // 动画曲线 | ||||
|               delay: 500, // 动画延迟 | ||||
|               iterations: -1, // 播放次数 | ||||
|               playMode: PlayMode.Normal, // 动画模式 | ||||
|             }) | ||||
|             .margin({ top: 30 * globalThis.ratio }) | ||||
| 
 | ||||
|           Text('正在清理本地数据,请稍候……') | ||||
|             .fontSize(24 * globalThis.ratio) | ||||
|             .margin({ top: 20 * globalThis.ratio }) | ||||
|             .fontWeight(400) | ||||
|         } | ||||
|         .visibility(this.delLoading ? Visibility.Visible : Visibility.Hidden) | ||||
|         .width(660 * globalThis.ratio) | ||||
|         .height(360 * globalThis.ratio) | ||||
|         .position({ x: 150 * globalThis.ratio, y: 98 * globalThis.ratio }) | ||||
|         .backgroundColor('#E6E3DF') | ||||
|         .borderRadius(19 * globalThis.ratio) | ||||
|       } | ||||
| 
 | ||||
|       if (this.loading) { | ||||
|         Column() { | ||||
|           Image($r('app.media.open_loading')) | ||||
|             .width(200 * globalThis.ratio) | ||||
|             .rotate({ angle: this.angle }) | ||||
|             .height(200 * globalThis.ratio) | ||||
|             .animation({ | ||||
|               duration: 5000, // 动画时长 | ||||
|               curve: Curve.EaseOut, // 动画曲线 | ||||
|               delay: 500, // 动画延迟 | ||||
|               iterations: -1, // 播放次数 | ||||
|               playMode: PlayMode.Normal, // 动画模式 | ||||
|             }) | ||||
|             .margin({ top: 30 * globalThis.ratio }) | ||||
|           Image($r('app.media.car')) | ||||
|             .width(80 * globalThis.ratio) | ||||
|             .height(80 * globalThis.ratio) | ||||
|             .position({ x: 288 * globalThis.ratio, y: 89 * globalThis.ratio }) | ||||
|           Text('获取考车信息,请稍候……') | ||||
|             .fontSize(24 * globalThis.ratio) | ||||
|             .margin({ top: 20 * globalThis.ratio }) | ||||
|             .fontWeight(400) | ||||
|         } | ||||
|         .visibility(this.loading ? Visibility.Visible : Visibility.Hidden) | ||||
|         .width(660 * globalThis.ratio) | ||||
|         .height(360 * globalThis.ratio) | ||||
|         .position({ x: 150 * globalThis.ratio, y: 98 * globalThis.ratio }) | ||||
|         .backgroundColor('#E6E3DF') | ||||
|         .borderRadius(19 * globalThis.ratio) | ||||
|       } | ||||
|     } | ||||
|     .width('100%') | ||||
|     .height('100%') | ||||
|     .justifyContent(FlexAlign.SpaceBetween) | ||||
|     .backgroundImagePosition({ x: 0, y: 0 }) | ||||
|     .backgroundImage($r('app.media.index_bg')) | ||||
|     .backgroundImageSize({ width: '100%', height: '100%' }) | ||||
|   } | ||||
| 
 | ||||
|   async aboutToAppear() { | ||||
| @ -352,36 +76,23 @@ struct Index { | ||||
|     globalThis.lsh = '1111111111111' | ||||
|     globalThis.errorDialog = this.errorDialog | ||||
|     globalThis.udpEvent = new UdpEvent(); | ||||
|     getSyncData('MA_SYSSET').then(async data => { | ||||
| 
 | ||||
|       console.log('datadata', JSON.stringify(data)) | ||||
|       // @ts-ignore | ||||
| 
 | ||||
|       // @ts-ignore | ||||
|     getSyncData('MA_SYSSET').then(async (data: any[]) => { | ||||
|       data.forEach(async sys => { | ||||
|         //判断是否能点开始考试 | ||||
|         if (sys.v_no === '305') { | ||||
|           console.log('syssyssyssys') | ||||
|           // this.delLoading=true | ||||
|           // globalThis.param854Str=sys.v_value | ||||
|           delPic(Number(sys.v_value), 1) | ||||
|           delPic(Number(sys.v_value), 2) | ||||
|           // this.delLoading=false | ||||
|         } | ||||
|       }) | ||||
|     }); | ||||
| 
 | ||||
|   } | ||||
| 
 | ||||
|   aboutToDisappear() { | ||||
|     // this.vocObj && this.vocObj.releasePlayer() | ||||
|   } | ||||
| 
 | ||||
|   async testXMLToJSONInWorker() { | ||||
|   async networkExam(isSingle: boolean = false) { | ||||
|     if (this.loading) { | ||||
|       return | ||||
|     } | ||||
| 
 | ||||
|     const param = { | ||||
|       carId: globalThis.carInfo?.carId, | ||||
|       examinationRoomId: globalThis.carInfo?.examinationRoomId, | ||||
| @ -396,26 +107,21 @@ struct Index { | ||||
|       singlePlay: globalThis.singlePlay | ||||
|     } | ||||
|     this.loading = true | ||||
|     console.log("sql 1111") | ||||
| 
 | ||||
|     getSingleCenterTable(param).then(async (ret) => { | ||||
|       if (ret) { | ||||
|         const result = await getSyncData('ES_CARINFO') | ||||
|         const carInfo = result[0] || {}; | ||||
|         if (carInfo.kscx == 'A2' && !globalThis.udpClientGps2) { | ||||
|         // A2牵引车2号导航仪 | ||||
|         if (carInfo.kscx == 'A2' && !globalThis.udpClientGps2) { | ||||
|           await getUDPGps2(this.context, false) | ||||
|         } | ||||
|         getSyncData('MA_SYSSET').then(data => { | ||||
|           console.log('datadata', JSON.stringify(data)) | ||||
|           // @ts-ignore | ||||
|         getSyncData('MA_SYSSET').then((data: any[]) => { | ||||
|           data.forEach(sys => { | ||||
|             //判断是否能点开始考试 | ||||
|             if (sys.v_no === '854') { | ||||
|               globalThis.param854Str = sys.v_value | ||||
|             } | ||||
|             if (sys.v_no === '824' && decodeURIComponent(sys.v_value) == '0') { | ||||
|               // this.Param612Str= decodeURIComponent(sys.v_value) | ||||
|               router.pushUrl({ | ||||
|                 url: 'pages/CarCheck', | ||||
|                 params: { | ||||
| @ -424,7 +130,7 @@ struct Index { | ||||
|               }, router.RouterMode.Single) | ||||
|             } else { | ||||
|               router.pushUrl({ | ||||
|                 url: 'pages/ExaminerLogin', | ||||
|                 url: isSingle ? 'pages/UserInfo' : 'pages/ExaminerLogin', | ||||
|               }, router.RouterMode.Single) | ||||
|             } | ||||
|           }) | ||||
| @ -573,4 +279,256 @@ struct Index { | ||||
|     //下载模型 | ||||
|     await getEsCarModel(context) | ||||
|   } | ||||
| 
 | ||||
|   build() { | ||||
|     Column() { | ||||
|       Column() { | ||||
|         Row() { | ||||
|           Image($r('app.media.logo')).width('30%').height('5.5%').margin({ left: 24 }) | ||||
|           Row() { | ||||
|             Image($r('app.media.btn_setting')).width('16.7%').height('12.2%') | ||||
|               .onClick(async () => { | ||||
|                 if (this.loading) { | ||||
|                   return | ||||
|                 } | ||||
|                 router.pushUrl({ | ||||
|                   url: 'pages/Settings', | ||||
|                 }, router.RouterMode.Single); | ||||
|               }) | ||||
|             Image($r('app.media.btn_back')).width('14.4%').height('12.2%') | ||||
|               .onClick(() => { | ||||
|                 this.dialogVisiable = true | ||||
|               }) | ||||
|           } | ||||
|         } | ||||
|         .width('100%') | ||||
|         .justifyContent(FlexAlign.SpaceBetween) | ||||
|       } | ||||
| 
 | ||||
|       Column() { | ||||
|         Row() { | ||||
|           if (!this.isSingle) { | ||||
|             imageBtn({ btnWidth: '28%', btnHeight: '71%', imgSrc: $r('app.media.index_lw') }) | ||||
|               .margin({ left: 80 * globalThis.ratio }) | ||||
|               .onClick(async () => { | ||||
|                 if (this.loading) { | ||||
|                   return | ||||
|                 } | ||||
|                 setTimeout(() => { | ||||
|                   this.angle = 360 | ||||
|                 }, 1000) | ||||
|                 this.angle = 0 | ||||
|                 if (!globalThis.timeInfo) { | ||||
|                   globalThis.type = '1' | ||||
|                   globalThis.title = '时间同步接口连接失败' | ||||
|                   this.errorDialog.open() | ||||
|                   promptAction.showToast({ | ||||
|                     message: `时间同步接口连接失败`, | ||||
|                     duration: 3000 | ||||
|                   }); | ||||
|                   this.loading = false | ||||
|                   return | ||||
|                 } | ||||
|                 if (!globalThis.carInfo) { | ||||
|                   promptAction.showToast({ | ||||
|                     message: `车辆信息接口获取失败`, | ||||
|                     duration: 3000 | ||||
|                   }); | ||||
|                   globalThis.type = '1' | ||||
|                   globalThis.title = '车辆信息接口获取失败' | ||||
|                   this.errorDialog.open() | ||||
|                   this.loading = false | ||||
|                   return | ||||
|                 } | ||||
|                 this.networkExam() | ||||
|               }) | ||||
|           } | ||||
|           if (this.isSingle) { | ||||
|             imageBtn({ btnWidth: '28%', btnHeight: '71%', imgSrc: $r('app.media.index_dj') }) | ||||
|               .margin({ left: 80 * globalThis.ratio }) | ||||
|               .onClick(() => { | ||||
|                 if (this.loading) { | ||||
|                   return | ||||
|                 } | ||||
|                 if (judgeConfig.isTrajectoryOpen) { | ||||
|                   router.pushUrl({ | ||||
|                     url: 'pages/UserInfo', | ||||
|                   }, router.RouterMode.Single) | ||||
|                   return | ||||
|                 } | ||||
|                 //判断数据库是否有表数据,有则直接跳转,没有则读取本地数据 | ||||
|                 getSyncData('MA_SYSSET').then(async (data) => { | ||||
|                   if (data?.[0]) { | ||||
|                     const result = await getSyncData('ES_CARINFO') | ||||
|                     const carInfo = result[0] || {}; | ||||
|                     if ((globalThis.isA1 && carInfo.kscx != "A1") || (globalThis.isA3 && carInfo.kscx != "A3")) { | ||||
|                       this.networkExam(true) | ||||
|                       return | ||||
|                     } | ||||
|                     router.pushUrl({ | ||||
|                       url: 'pages/UserInfo', | ||||
|                     }, router.RouterMode.Single) | ||||
|                   } else { | ||||
|                     this.networkExam(true) | ||||
|                   } | ||||
|                 }); | ||||
|               }) | ||||
|           } | ||||
|           imageBtn({ btnWidth: '28%', btnHeight: '71%', imgSrc: $r('app.media.index_zj') }) | ||||
|             .margin({ right: 80 * globalThis.ratio }) | ||||
|             .onClick(() => { | ||||
|               if (this.loading) { | ||||
|                 return | ||||
|               } | ||||
|               router.pushUrl({ | ||||
|                 url: 'pages/CarCheck' | ||||
|               }, router.RouterMode.Single); | ||||
|             }) | ||||
|         } | ||||
|         .width('100%') | ||||
|         .justifyContent(FlexAlign.SpaceAround) | ||||
|       } | ||||
| 
 | ||||
|       Column() { | ||||
|         Row() { | ||||
|           Column() { | ||||
|             Text('V外壳:' + this.version) | ||||
|               .fontColor('#CCAE7A') | ||||
|               .fontSize(18 * globalThis.ratio) | ||||
|               .width('30%') | ||||
|               .margin({ bottom: 10 }) | ||||
|             Text('V评判:' + this.judgeVersion) | ||||
|               .fontColor('#CCAE7A') | ||||
|               .fontSize(18 * globalThis.ratio) | ||||
|               .width('30%') | ||||
|               .margin({ bottom: 10 }) | ||||
|             Text('授权信息:' + (this.hasAuth ? '已授权' : '未授权')) | ||||
|               .fontColor('#CCAE7A') | ||||
|               .fontSize(18 * globalThis.ratio) | ||||
|               .width('30%') | ||||
|           } | ||||
|           .margin({ left: 24 }) | ||||
|           .gesture( | ||||
|             GestureGroup(GestureMode.Exclusive, | ||||
|               TapGesture({ count: 2 }) | ||||
|                 .onAction(() => { | ||||
|                   globalThis.singlePlay = !globalThis.singlePlay | ||||
|                   this.isSingle = globalThis.singlePlay | ||||
|                 }) | ||||
|             ) | ||||
|           ) | ||||
| 
 | ||||
|           Text('考车号:' + this.deviceId) | ||||
|             .fontColor('#CCAE7A') | ||||
|             .fontSize(22 * globalThis.ratio) | ||||
|             .margin({ right: 24 }) | ||||
|         } | ||||
|         .width('100%') | ||||
|         .justifyContent(FlexAlign.SpaceBetween) | ||||
|         .margin({ bottom: 10 }) | ||||
|       } | ||||
| 
 | ||||
|       // | ||||
|       if (this.dialogVisiable) { | ||||
|         Flex({ justifyContent: FlexAlign.Center }) { | ||||
|           Text('确认是否退出应用') | ||||
|             .fontSize(28 * this.ratio * this.dialogRatio) | ||||
|             .margin({ top: 100 * this.ratio * this.dialogRatio }) | ||||
|           Row() { | ||||
|             Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { | ||||
|               Text('  取   消  ') | ||||
|                 .fontSize(24 * this.ratio * this.dialogRatio) | ||||
|                 .fontColor('#fff') | ||||
|                 .width(100 * this.ratio * this.dialogRatio) | ||||
|             } | ||||
|             .commStyle() | ||||
|             .onClick(() => { | ||||
|               this.dialogVisiable = false | ||||
|             }).margin({ right: 10 * this.ratio }) | ||||
| 
 | ||||
|             Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { | ||||
|               Text('  确   定  ') | ||||
|                 .fontSize(24 * this.ratio * this.dialogRatio) | ||||
|                 .fontColor('#fff') | ||||
|                 .width(100 * this.ratio * this.dialogRatio) | ||||
|             } | ||||
|             .commStyle() | ||||
|             .onClick(() => { | ||||
|               this.context.terminateSelf() | ||||
|             }) | ||||
|           }.position({ y: 265 * this.ratio * this.dialogRatio, x: 115 * this.ratio * this.dialogRatio }) | ||||
| 
 | ||||
|         } | ||||
|         .width(660 * this.ratio * this.dialogRatio) | ||||
|         .height(360 * this.ratio * this.dialogRatio) | ||||
|         .position({ x: 220 * this.ratio, y: 98 * this.ratio - 265 / 2 * (1 - this.ratio * this.dialogRatio) }) | ||||
|         .backgroundColor('#E6E3DF') | ||||
|         .borderRadius(19 * this.ratio * this.dialogRatio) | ||||
|       } | ||||
|       if (this.delLoading) { | ||||
|         Column() { | ||||
|           Image($r('app.media.open_loading')) | ||||
|             .width(200 * globalThis.ratio) | ||||
|             .rotate({ angle: this.angle }) | ||||
|             .height(200 * globalThis.ratio) | ||||
|             .animation({ | ||||
|               duration: 5000, // 动画时长 | ||||
|               curve: Curve.EaseOut, // 动画曲线 | ||||
|               delay: 500, // 动画延迟 | ||||
|               iterations: -1, // 播放次数 | ||||
|               playMode: PlayMode.Normal, // 动画模式 | ||||
|             }) | ||||
|             .margin({ top: 30 * globalThis.ratio }) | ||||
| 
 | ||||
|           Text('正在清理本地数据,请稍候……') | ||||
|             .fontSize(24 * globalThis.ratio) | ||||
|             .margin({ top: 20 * globalThis.ratio }) | ||||
|             .fontWeight(400) | ||||
|         } | ||||
|         .visibility(this.delLoading ? Visibility.Visible : Visibility.Hidden) | ||||
|         .width(660 * globalThis.ratio) | ||||
|         .height(360 * globalThis.ratio) | ||||
|         .position({ x: 150 * globalThis.ratio, y: 98 * globalThis.ratio }) | ||||
|         .backgroundColor('#E6E3DF') | ||||
|         .borderRadius(19 * globalThis.ratio) | ||||
|       } | ||||
| 
 | ||||
|       if (this.loading) { | ||||
|         Column() { | ||||
|           Image($r('app.media.open_loading')) | ||||
|             .width(200 * globalThis.ratio) | ||||
|             .rotate({ angle: this.angle }) | ||||
|             .height(200 * globalThis.ratio) | ||||
|             .animation({ | ||||
|               duration: 5000, // 动画时长 | ||||
|               curve: Curve.EaseOut, // 动画曲线 | ||||
|               delay: 500, // 动画延迟 | ||||
|               iterations: -1, // 播放次数 | ||||
|               playMode: PlayMode.Normal, // 动画模式 | ||||
|             }) | ||||
|             .margin({ top: 30 * globalThis.ratio }) | ||||
|           Image($r('app.media.car')) | ||||
|             .width(80 * globalThis.ratio) | ||||
|             .height(80 * globalThis.ratio) | ||||
|             .position({ x: 288 * globalThis.ratio, y: 89 * globalThis.ratio }) | ||||
|           Text('获取考车信息,请稍候……') | ||||
|             .fontSize(24 * globalThis.ratio) | ||||
|             .margin({ top: 20 * globalThis.ratio }) | ||||
|             .fontWeight(400) | ||||
|         } | ||||
|         .visibility(this.loading ? Visibility.Visible : Visibility.Hidden) | ||||
|         .width(660 * globalThis.ratio) | ||||
|         .height(360 * globalThis.ratio) | ||||
|         .position({ x: 150 * globalThis.ratio, y: 98 * globalThis.ratio }) | ||||
|         .backgroundColor('#E6E3DF') | ||||
|         .borderRadius(19 * globalThis.ratio) | ||||
|       } | ||||
|     } | ||||
|     .width('100%') | ||||
|     .height('100%') | ||||
|     .justifyContent(FlexAlign.SpaceBetween) | ||||
|     .backgroundImagePosition({ x: 0, y: 0 }) | ||||
|     .backgroundImage($r('app.media.index_bg')) | ||||
|     .backgroundImageSize({ width: '100%', height: '100%' }) | ||||
|   } | ||||
| } | ||||
| @ -35,6 +35,114 @@ import promptAction from '@ohos.promptAction'; | ||||
| @Entry | ||||
| @Component | ||||
| struct Index { | ||||
|   scroller: Scroller = new Scroller() | ||||
|   //页面通用字体大小 | ||||
|   @State wayno: number = 0 | ||||
|   @State FONTSIZE: number = 30 | ||||
|   @State BIGFONTSIZE: number = 32 | ||||
|   //结束考试弹窗 | ||||
|   @State endPopupVisible: boolean = false | ||||
|   //等待弹窗(考试及格,考试不及格使用) | ||||
|   @State loadingPopupVisible: boolean = false | ||||
|   //实时轨迹弹窗 | ||||
|   @State signDisplayComVisible: boolean = false | ||||
|   @State isDdxk: boolean = false; | ||||
|   @State time: string = '' | ||||
|   //考试用时 | ||||
|   @State examTime: number = 0 | ||||
|   //开始时间 | ||||
|   @State startTime: string = '00:00:00' | ||||
|   @State startFullTime: string = '' | ||||
|   @State startHourTime: string = '' | ||||
|   @State startExamTime: string = '' | ||||
|   //科目类型 | ||||
|   @State examSubject: 2 | 3 = 3; | ||||
|   @State ddxkTime: number = 0; | ||||
|   @State ddxkKsxmArr: string[] = [] | ||||
|   @State ddxkKfArr: string[] = [] | ||||
|   @State xmmcStr: string = '' | ||||
|   @State carztStr: string = '' | ||||
|   @State kfArr: { | ||||
|     xmmcStr?: string, | ||||
|     score: string, | ||||
|     desc: string | ||||
|     markcatalog: string | ||||
|   }[] = [] | ||||
|   @State name: string = '' | ||||
|   @State idCard: string = '' | ||||
|   @State singlePlay: boolean = false; | ||||
|   @State totalScore: number = 100 | ||||
|   //模拟考试项目 | ||||
|   @State projects: Project[] = [] | ||||
|   @State projectsObj: ProjectObj = {} | ||||
|   @State projectsCenterObj: ProjectObj = {} | ||||
|   @State markRuleListObj: MarkRule = {} | ||||
|   @State cdsbInfoObj: CDSBInfo = {} | ||||
|   @State itemInfoObj: CDSBInfo = {} | ||||
|   @State timer: number = 0 | ||||
|   @State judgeConfig: { [k: string]: string }[] = [] | ||||
|   @State judgeConfigObj: { [k: string]: any } = defaultJudgeConfigObj | ||||
|   //流水号 | ||||
|   @State lsh: string = '' | ||||
|   @State kszp: string = '' | ||||
|   @State ksdd: string = '' | ||||
|   @State kssycs: string = '' | ||||
|   @State ksxl: string = '' | ||||
|   @State kslx: string = '' | ||||
|   //监管线路代码 | ||||
|   @State xldm: string = '' | ||||
|   //监管接口序列号 | ||||
|   @State serialNumber: number = 0 | ||||
|   @State syssetParam623: boolean = false; | ||||
|   @State syssetParam211: string = ''; | ||||
|   @State carType: string = '' | ||||
|   @State carName: string = '' | ||||
|   @State isDeductedPopShow: boolean = false | ||||
|   @State isAmplifyPopShow: boolean = false | ||||
|   @State amplifiedImgIndex: number = 0 | ||||
|   @State judge: any = {} | ||||
|   //行驶距离 | ||||
|   @State jl: number = 0 | ||||
|   //应考里程 | ||||
|   @State examMileage: string = '0' | ||||
|   @State artSubject3Projects: string[] = ['直线', '会车', '变道', '超车', '掉头', '停车'] | ||||
|   @State artSubject3ProjectsCodesArr: string[] = ['3', '9', '4', '10', '12', '11'] | ||||
|   @State manualMarkRules: MarkRule[] = [] | ||||
|   //科目三评判初始化数据 | ||||
|   @State systemparmArr: SYSTEMPARMARR[] = [] | ||||
|   @State mapPointItemArr: MAPITEMPOINTITEM[] = [] | ||||
|   @State carinfoArr: CARINFO[] = [] | ||||
|   @State mapPointArr: MAPPOINT[] = [] | ||||
|   //手动项目是否在进行中 | ||||
|   @State isManualProjectIn: boolean = false; | ||||
|   //项目是否进行中 | ||||
|   @State isProjectIn: boolean = false; | ||||
|   //正在进行的项目代码 | ||||
|   @State currentXmdm: string = '' | ||||
|   // 必考项目除靠边停车是否全部完成 | ||||
|   @State isRequiredProjectsEnd: boolean = false; | ||||
|   // 考试项目是否全部完成 | ||||
|   // @State isAllProjectsEnd: boolean = false; | ||||
|   @State lane: LANE = { road: '', num: 0, count: 0 } | ||||
|   @State roadData: Object = {}; | ||||
|   //定位差分状态时候正常 | ||||
|   @State isDwztRight: boolean = true; | ||||
|   @State defaultTabIndex: number = 0; | ||||
|   private context = getContext(this) as common.UIAbilityContext; | ||||
|   public kfArrScroller: Scroller = new Scroller() | ||||
|   private vocObj = null; | ||||
|   //档位 | ||||
|   @State dw: string = '' | ||||
|   //速度 | ||||
|   @State sd: string = '' | ||||
|   @State mileageTimer: number = 0; | ||||
|   @State passingScore: number = 80 | ||||
|   @State dwztErrorVisible: boolean = false; | ||||
|   @State popTimer: number = 0; | ||||
|   @State carlist: string = '' | ||||
|   @State errorMsg: string = '' | ||||
|   @State isErrorMsgEnd: boolean = false | ||||
|   @State disConnectErrorOpen: boolean = false | ||||
|   // 考试模式 1:白考,2:夜考,3:增驾(模拟灯光未考),4:增驾(模拟灯光已考),5:满分学习 | ||||
|   private mode: number = 1 | ||||
|   private isYkkf: boolean = false | ||||
| @ -259,7 +367,8 @@ struct Index { | ||||
|     } | ||||
|     //真实监管下发的项目 | ||||
|     let kStringArr: string[] = (currentParams.kString?.split(',') || []).filter(item => item); | ||||
|     this.mockLight = kStringArr.includes("41700") | ||||
|     // 单机模式下增驾进模拟灯光 | ||||
|     this.mockLight = kStringArr.includes("41700") || (globalThis.singlePlay && this.mode === 3) | ||||
|     console.log("lixiao mockLight", this.mockLight) | ||||
|     console.info('lixiao kStringArr', JSON.stringify(kStringArr)) | ||||
| 
 | ||||
| @ -991,7 +1100,6 @@ struct Index { | ||||
|               this.judge.closeAllFiles() | ||||
|               router.back() | ||||
|             } | ||||
| 
 | ||||
|           } | ||||
|         }) | ||||
|       } | ||||
| @ -1276,112 +1384,5 @@ struct Index { | ||||
|       return false | ||||
|     } | ||||
|   } | ||||
|   scroller: Scroller = new Scroller() | ||||
|   //页面通用字体大小 | ||||
|   @State wayno: number = 0 | ||||
|   @State FONTSIZE: number = 30 | ||||
|   @State BIGFONTSIZE: number = 32 | ||||
|   //结束考试弹窗 | ||||
|   @State endPopupVisible: boolean = false | ||||
|   //等待弹窗(考试及格,考试不及格使用) | ||||
|   @State loadingPopupVisible: boolean = false | ||||
|   //实时轨迹弹窗 | ||||
|   @State signDisplayComVisible: boolean = false | ||||
|   @State isDdxk: boolean = false; | ||||
|   @State time: string = '' | ||||
|   //考试用时 | ||||
|   @State examTime: number = 0 | ||||
|   //开始时间 | ||||
|   @State startTime: string = '00:00:00' | ||||
|   @State startFullTime: string = '' | ||||
|   @State startHourTime: string = '' | ||||
|   @State startExamTime: string = '' | ||||
|   //科目类型 | ||||
|   @State examSubject: 2 | 3 = 3; | ||||
|   @State ddxkTime: number = 0; | ||||
|   @State ddxkKsxmArr: string[] = [] | ||||
|   @State ddxkKfArr: string[] = [] | ||||
|   @State xmmcStr: string = '' | ||||
|   @State carztStr: string = '' | ||||
|   @State kfArr: { | ||||
|     xmmcStr?: string, | ||||
|     score: string, | ||||
|     desc: string | ||||
|     markcatalog: string | ||||
|   }[] = [] | ||||
|   @State name: string = '' | ||||
|   @State idCard: string = '' | ||||
|   @State singlePlay: boolean = false; | ||||
|   @State totalScore: number = 100 | ||||
|   //模拟考试项目 | ||||
|   @State projects: Project[] = [] | ||||
|   @State projectsObj: ProjectObj = {} | ||||
|   @State projectsCenterObj: ProjectObj = {} | ||||
|   @State markRuleListObj: MarkRule = {} | ||||
|   @State cdsbInfoObj: CDSBInfo = {} | ||||
|   @State itemInfoObj: CDSBInfo = {} | ||||
|   @State timer: number = 0 | ||||
|   @State judgeConfig: { [k: string]: string }[] = [] | ||||
|   @State judgeConfigObj: { [k: string]: any } = defaultJudgeConfigObj | ||||
|   //流水号 | ||||
|   @State lsh: string = '' | ||||
|   @State kszp: string = '' | ||||
|   @State ksdd: string = '' | ||||
|   @State kssycs: string = '' | ||||
|   @State ksxl: string = '' | ||||
|   @State kslx: string = '' | ||||
|   //监管线路代码 | ||||
|   @State xldm: string = '' | ||||
|   //监管接口序列号 | ||||
|   @State serialNumber: number = 0 | ||||
|   @State syssetParam623: boolean = false; | ||||
|   @State syssetParam211: string = ''; | ||||
|   @State carType: string = '' | ||||
|   @State carName: string = '' | ||||
|   @State isDeductedPopShow: boolean = false | ||||
|   @State isAmplifyPopShow: boolean = false | ||||
|   @State amplifiedImgIndex: number = 0 | ||||
|   @State judge: any = {} | ||||
|   //行驶距离 | ||||
|   @State jl: number = 0 | ||||
|   //应考里程 | ||||
|   @State examMileage: string = '0' | ||||
|   @State artSubject3Projects: string[] = ['直线', '会车', '变道', '超车', '掉头', '停车'] | ||||
|   @State artSubject3ProjectsCodesArr: string[] = ['3', '9', '4', '10', '12', '11'] | ||||
|   @State manualMarkRules: MarkRule[] = [] | ||||
|   //科目三评判初始化数据 | ||||
|   @State systemparmArr: SYSTEMPARMARR[] = [] | ||||
|   @State mapPointItemArr: MAPITEMPOINTITEM[] = [] | ||||
|   @State carinfoArr: CARINFO[] = [] | ||||
|   @State mapPointArr: MAPPOINT[] = [] | ||||
|   //手动项目是否在进行中 | ||||
|   @State isManualProjectIn: boolean = false; | ||||
|   //项目是否进行中 | ||||
|   @State isProjectIn: boolean = false; | ||||
|   //正在进行的项目代码 | ||||
|   @State currentXmdm: string = '' | ||||
|   // 必考项目除靠边停车是否全部完成 | ||||
|   @State isRequiredProjectsEnd: boolean = false; | ||||
|   // 考试项目是否全部完成 | ||||
|   // @State isAllProjectsEnd: boolean = false; | ||||
|   @State lane: LANE = { road: '', num: 0, count: 0 } | ||||
|   @State roadData: Object = {}; | ||||
|   //定位差分状态时候正常 | ||||
|   @State isDwztRight: boolean = true; | ||||
|   @State defaultTabIndex: number = 0; | ||||
|   private context = getContext(this) as common.UIAbilityContext; | ||||
|   public kfArrScroller: Scroller = new Scroller() | ||||
|   private vocObj = null; | ||||
|   //档位 | ||||
|   @State dw: string = '' | ||||
|   //速度 | ||||
|   @State sd: string = '' | ||||
|   @State mileageTimer: number = 0; | ||||
|   @State passingScore: number = 80 | ||||
|   @State dwztErrorVisible: boolean = false; | ||||
|   @State popTimer: number = 0; | ||||
|   @State carlist: string = '' | ||||
|   @State errorMsg: string = '' | ||||
|   @State isErrorMsgEnd: boolean = false | ||||
|   @State disConnectErrorOpen: boolean = false | ||||
| 
 | ||||
| } | ||||
|  | ||||
| @ -224,7 +224,6 @@ struct UserInfo { | ||||
|             this.currentUser = (this.list.length ? this.list[0] : EmptyCandidateObject) | ||||
|           } | ||||
|         } else if (user && (user.kssycs == '0' || user.kssycs == '')) { | ||||
|           console.log('datadatadatadata') | ||||
|           this.list = this.list.filter(res => { | ||||
|             return res.sfzmhm != user.sfzmhm | ||||
|           }) | ||||
|  | ||||
| @ -2,9 +2,8 @@ import apiJudgeSdk from 'libJudgeSdk.so'; | ||||
| import Judge from '../../judgeSDK/utils/judgeReal'; | ||||
| import { MarkRule, Project, ProjectObj } from '../../judgeSDK/api/judgeSDK.d'; | ||||
| import common from '@ohos.app.ability.common'; | ||||
| import { | ||||
|   examJudgeMapSetScaling | ||||
| } from '../../judgeSDK/api' | ||||
| import { examJudgeMapSetScaling, examJudgeVersion } from '../../judgeSDK/api' | ||||
| import { judgeConfig } from '../../judgeSDK/utils/judgeConfig'; | ||||
| 
 | ||||
| interface RoadDataType { | ||||
|   name: string, | ||||
| @ -24,19 +23,18 @@ export default struct RealTime { | ||||
|   @State markRuleListObj: MarkRule = {} | ||||
|   @State scaleNum: number = 100 | ||||
|   @State gpsActive: number = 1 | ||||
|   private widthNumber: string | number | Resource = 0 | ||||
|   private heightNumber: string | number | Resource = 0 | ||||
|   private context = getContext(this) as common.UIAbilityContext; | ||||
|   @State ratio: number = 1 | ||||
|   @State lane: Object = {} | ||||
|   @State timer: number = 0 | ||||
|   @State version: string = "" | ||||
|   private widthNumber: string | number | Resource = 0 | ||||
|   private heightNumber: string | number | Resource = 0 | ||||
|   private context = getContext(this) as common.UIAbilityContext; | ||||
| 
 | ||||
|   constructor() { | ||||
|     super() | ||||
|   } | ||||
| 
 | ||||
|   // xcomponentController: XComponentController = new XComponentController() | ||||
| 
 | ||||
|   build() { | ||||
|     Row() { | ||||
|       Column() { | ||||
| @ -67,11 +65,15 @@ export default struct RealTime { | ||||
| 
 | ||||
|       Column() { | ||||
|         if (this.draw) { | ||||
|           Stack({ alignContent: Alignment.TopEnd }) { | ||||
|             Row() { | ||||
|               Text(this.version).margin({ right: 10 }).fontSize(14).fontColor(0x333333) | ||||
|             } | ||||
| 
 | ||||
|             XComponent({ | ||||
|               id: 'duolun_plugin_id_draw', //显示轨迹窗口id名称,注意这个ID要和C++侧一致,不能变 | ||||
|               type: 'surface', | ||||
|               libraryname: 'JudgeSdk' | ||||
|             // libraryname: 'judgesdk' | ||||
|             }) | ||||
|               .width(this.widthNumber) | ||||
|               .height(this.heightNumber) | ||||
| @ -83,6 +85,9 @@ export default struct RealTime { | ||||
|                 this.draw = false; | ||||
|                 clearInterval(globalThis.realTimer) | ||||
|               }) | ||||
|           }.width(this.widthNumber) | ||||
|           .height(this.heightNumber) | ||||
| 
 | ||||
|         } else { | ||||
|           Column() { | ||||
|           } | ||||
| @ -108,8 +113,10 @@ export default struct RealTime { | ||||
|   async aboutToDisappear() { | ||||
|     clearInterval(this.timer) | ||||
|   } | ||||
| 
 | ||||
|   async aboutToAppear() { | ||||
|     const judge = new Judge(this) | ||||
|     this.version = (await examJudgeVersion()) + "/" + judgeConfig.version | ||||
|     new Judge(this) | ||||
|     let timer = setInterval(() => { | ||||
|       this.lane = globalThis.laneData; | ||||
|     }, 1000) | ||||
| @ -180,7 +187,6 @@ export default struct RealTime { | ||||
|     { name: '形状', key: ['InShapeAttr', 'ShapeNo', 'ShapeNoWheel'] }, | ||||
|     { name: '路段点', key: ['CrossPointNo'] }, | ||||
|   ] | ||||
| 
 | ||||
|   scaleFn = async (num) => { | ||||
|     const scaleNum = this.scaleNum | ||||
|     if (scaleNum > 0 && scaleNum < 5000) { | ||||
| @ -194,6 +200,5 @@ export default struct RealTime { | ||||
|     } | ||||
|     await examJudgeMapSetScaling(this.scaleNum); | ||||
|   } | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -54,6 +54,7 @@ import { | ||||
|   examJudgeVersion | ||||
| } from './api/index'; | ||||
| import { getSyncData, upDateTableByArray } from '../../common/service/initable'; | ||||
| import promptAction from '@ohos.promptAction'; | ||||
| 
 | ||||
| const judgeTag = 'SURENJUN_JUDGE' | ||||
| 
 | ||||
| @ -339,7 +340,7 @@ export default class Judge { | ||||
|       //及格分
 | ||||
|       let passingGrade = passingScore | ||||
|       if (isManual) { | ||||
|         // 考试不合格
 | ||||
|         // 手动结束
 | ||||
|         await examJudgeEndExam() | ||||
|         this.isExamEnd = true | ||||
|         this.isManual = true | ||||
| @ -717,7 +718,9 @@ export default class Judge { | ||||
|     const sdkver = await examJudgeVersion(); | ||||
|     const initInfo = { | ||||
|       sdkver, | ||||
|       appver: globalThis.version, | ||||
|       // appver: globalThis.version,
 | ||||
|       // 外壳迭代版本号
 | ||||
|       appver: judgeConfig.version, | ||||
|       kskm: 3, | ||||
|       kchp: plateNo, | ||||
|       kchm: carId * 1, | ||||
| @ -1797,7 +1800,15 @@ export default class Judge { | ||||
|     await fileLog.setExamJudgeData(initInfo) | ||||
|     //相关评判初始化只做一次
 | ||||
|     if (!isJudgeInitBool) { | ||||
|       const tempJudge = await examJudgeInit(initInfo); | ||||
|       try { | ||||
|         await examJudgeInit(initInfo); | ||||
|       } catch (err) { | ||||
|         promptAction.showToast({ | ||||
|           message: "考试初始化失败,请重试或联系管理员" | ||||
|         }) | ||||
|         router.back() | ||||
|         return | ||||
|       } | ||||
|       globalThis.isJudgeInitBool = true | ||||
|       console.info(judgeTag, '4.评判初始化完成') | ||||
|     } | ||||
| @ -1838,18 +1849,6 @@ export default class Judge { | ||||
|       this.videoData = await saveStartRecordVideo(`${name}_${kssycs}`) | ||||
|     } | ||||
| 
 | ||||
|     const {examSubject,projectsObj} = this.judgeUI | ||||
|     // if(examSubject == 3){
 | ||||
|     //   //不做模拟灯光,需要做上车准备 =>(请上车准备)
 | ||||
|     //   if(projectsObj[41]?.type == 3 && projectsObj[1]?.type != 3){
 | ||||
|     //     avPlayer.playAudio(['voice/上车准备.mp3'])
 | ||||
|     //   }
 | ||||
|     //   //不做模拟灯光,不做上车准备 =>(请起步,完成考试)
 | ||||
|     //   if(projectsObj[41]?.type == 3 && projectsObj[1]?.type == 3){
 | ||||
|     //     avPlayer.playAudio(['voice/402001.mp3'])
 | ||||
|     //   }
 | ||||
|     // }
 | ||||
| 
 | ||||
|     this.judgeUI.draw = true | ||||
|     // 处理轨迹plc信息
 | ||||
|     if (isTrajectoryOpen) { | ||||
|  | ||||
| @ -1,7 +1,9 @@ | ||||
| //考试回放开关
 | ||||
| export const judgeConfig = { | ||||
|   // 外壳版本号
 | ||||
|   version: "2025.05.13.01", | ||||
|   // 是否A1A3共用一车
 | ||||
|   isUseSameCar: false, | ||||
|   isUseSameCar: true, | ||||
|   //本地目录开关
 | ||||
|   isTrajectoryOpen: false, | ||||
|   //是否开启拍照
 | ||||
|  | ||||
| @ -1,7 +1,4 @@ | ||||
| import { | ||||
|   examJudgeMapSetParam, | ||||
|   examJudgeMapSetScaling | ||||
| } from '../api/index' | ||||
| import { examJudgeMapSetParam, examJudgeMapSetScaling } from '../api/index' | ||||
| import systemTime from '@ohos.systemDateTime'; | ||||
| 
 | ||||
| import FileUtil from '../../../common/utils/File' | ||||
| @ -11,38 +8,21 @@ import {testRealExam} from '../dataTest/index' | ||||
| const judgeTag = 'SURENJUN_JUDGE' | ||||
| 
 | ||||
| export default class JudgeImg { | ||||
| 
 | ||||
|   private judgeUI | ||||
|   private modelPath:string | ||||
|   private fileModel:FileModel | ||||
|   private fileUtil:FileUtil | ||||
|   private plcData:any | ||||
| 
 | ||||
|   constructor(judgeUI) { | ||||
|     this.modelPath = 'models/model_enc' | ||||
|     this.judgeUI = judgeUI | ||||
|     this.fileUtil = new FileUtil(judgeUI.context) | ||||
|     this.fileModel = new FileModel(judgeUI.context) | ||||
|     this.init() | ||||
|   } | ||||
| 
 | ||||
|   async init() { | ||||
|     const isJudgeInitBool = globalThis.isJudgeInitBool; | ||||
|     const {judgeUI} = this; | ||||
| 
 | ||||
|     //TODO 临时处理
 | ||||
|     setTimeout(async () => { | ||||
|       console.info(judgeTag, '1.进入评判入口') | ||||
|       await examJudgeMapSetParam(640, 480); //设置参数宽、高
 | ||||
|       await examJudgeMapSetScaling(100); //设置缩放比例,一般默认填100(就是100%的意思) ,数字越大视野越大,数字越小视野越小,不能为0
 | ||||
|     }) | ||||
| 
 | ||||
|     judgeUI.draw = true | ||||
| 
 | ||||
|   } | ||||
| 
 | ||||
|   //获取评判初始化数据
 | ||||
|   getInitInfo = () =>{ | ||||
| 
 | ||||
|   } | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user