| 
									
										
										
										
											2024-06-27 20:53:36 +08:00
										 |  |  | // @ts-nocheck | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  | import common from '@ohos.app.ability.common'; | 
					
						
							| 
									
										
										
										
											2024-07-02 11:39:46 +08:00
										 |  |  | import router from '@ohos.router'; | 
					
						
							|  |  |  | import { getCarInfo, getDeviceInfo } from '../common/service/terminalService'; | 
					
						
							|  |  |  | import { setCurrentTime } from '../common/service/timeService'; | 
					
						
							|  |  |  | import { string2Bytes } from '../common/utils/tools'; | 
					
						
							| 
									
										
										
										
											2024-05-09 13:42:56 +08:00
										 |  |  | import { FileHelper } from '../common/service/FileHelper'; | 
					
						
							| 
									
										
										
										
											2024-07-02 11:39:46 +08:00
										 |  |  | import { getEsCarModel, } from '../common/service/initable'; | 
					
						
							|  |  |  | import FileUtil from '../common/utils/File'; | 
					
						
							|  |  |  | import { getUDP, getUDP2 } from '../common/utils/GlobalUdp'; | 
					
						
							|  |  |  | import { initJudgeUdp } from '../common/utils/UdpJudge'; | 
					
						
							|  |  |  | import { getTCP } from '../common/utils/GlobalTcp'; | 
					
						
							| 
									
										
										
										
											2024-08-20 09:12:02 +08:00
										 |  |  | import { getliushuiNum, setliushuiNum, takePhotoFn,deleteAllFIleLog } from '../common/service/indexService'; | 
					
						
							| 
									
										
										
										
											2024-03-12 15:32:48 +08:00
										 |  |  | import abilityAccessCtrl, { Permissions } from '@ohos.abilityAccessCtrl'; | 
					
						
							| 
									
										
										
										
											2024-06-27 20:53:36 +08:00
										 |  |  | import worker, { MessageEvents } from '@ohos.worker'; | 
					
						
							| 
									
										
										
										
											2024-07-03 16:21:56 +08:00
										 |  |  | import promptAction from '@ohos.promptAction' | 
					
						
							| 
									
										
										
										
											2024-07-16 17:23:42 +08:00
										 |  |  | import { voiceService } from '../common/service/voiceService'; | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  | import errorMsgDialog from './compontents/errorMsgDialog' | 
					
						
							| 
									
										
										
										
											2024-08-15 13:42:36 +08:00
										 |  |  | import { getSyncData } from '../common/service/initable'; | 
					
						
							| 
									
										
										
										
											2024-08-21 11:57:03 +08:00
										 |  |  | import { GlobalConfig } from '../config/index' | 
					
						
							| 
									
										
										
										
											2024-08-15 13:42:36 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  | @Entry | 
					
						
							|  |  |  | @Component | 
					
						
							|  |  |  | struct Index { | 
					
						
							|  |  |  |   @State carNum: string = '' | 
					
						
							|  |  |  |   @State version: string = '' | 
					
						
							|  |  |  |   @State url: string = '' | 
					
						
							|  |  |  |   @State hasAuth: boolean = false; | 
					
						
							| 
									
										
										
										
											2024-08-10 14:00:18 +08:00
										 |  |  |   @State dialogVisiable: boolean = false; | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |   @State isSingle: boolean = false; | 
					
						
							|  |  |  |   @State deviceId: string = ''; | 
					
						
							|  |  |  |   @State angle: number = 0 | 
					
						
							| 
									
										
										
										
											2024-08-12 09:28:12 +08:00
										 |  |  |   @State dialogRatio: number = 0.8 | 
					
						
							| 
									
										
										
										
											2024-05-16 09:53:10 +08:00
										 |  |  |   @State ratio: number = 1700 / 960 | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |   @State loading: boolean = true | 
					
						
							|  |  |  |   @State fd: number = -1; | 
					
						
							| 
									
										
										
										
											2024-07-03 16:21:56 +08:00
										 |  |  |   @State num: number = 0; | 
					
						
							| 
									
										
										
										
											2024-07-02 11:39:46 +08:00
										 |  |  |   fileHelper = null; | 
					
						
							|  |  |  |   private fileUtil: FileUtil | 
					
						
							|  |  |  |   private interval = null; | 
					
						
							| 
									
										
										
										
											2024-07-16 17:23:42 +08:00
										 |  |  |   private vocObj = null; | 
					
						
							| 
									
										
										
										
											2024-07-02 11:39:46 +08:00
										 |  |  |   private workerInstance = null; | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |   private context = getContext(this) as common.UIAbilityContext; | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |   private title = '' | 
					
						
							|  |  |  |   private type = '2' | 
					
						
							| 
									
										
										
										
											2024-08-19 14:54:11 +08:00
										 |  |  |   errorDialog: CustomDialogController = new CustomDialogController({ | 
					
						
							|  |  |  |     builder: errorMsgDialog({ | 
					
						
							|  |  |  |       title: globalThis.title, | 
					
						
							|  |  |  |       type: globalThis.type, | 
					
						
							|  |  |  |       cancel: () => { | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |       confirm: () => { | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     }), | 
					
						
							|  |  |  |     customStyle: true, | 
					
						
							|  |  |  |     alignment: DialogAlignment.Center, | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  |   ) | 
					
						
							| 
									
										
										
										
											2024-07-02 11:39:46 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-10 14:00:18 +08:00
										 |  |  |   @Styles | 
					
						
							|  |  |  |   commStyle(){ | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |     .width(220 * this.ratio * this.dialogRatio) | 
					
						
							|  |  |  |     .height(69 * this.ratio * this.dialogRatio) | 
					
						
							| 
									
										
										
										
											2024-08-10 14:00:18 +08:00
										 |  |  |     .backgroundImage($r('app.media.button_nor')) | 
					
						
							|  |  |  |     .backgroundImageSize({ width: '100%', height: '100%' }) | 
					
						
							| 
									
										
										
										
											2024-08-20 09:12:02 +08:00
										 |  |  |     // .margin({ bottom: 12 * this.ratio }) | 
					
						
							| 
									
										
										
										
											2024-08-10 14:00:18 +08:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |   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 | 
					
						
							|  |  |  |                 } | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |                 router.pushUrl({ | 
					
						
							|  |  |  |                   url: 'pages/Settings', | 
					
						
							|  |  |  |                 }, router.RouterMode.Single); | 
					
						
							|  |  |  |               }) | 
					
						
							|  |  |  |             Image($r('app.media.btn_back')).width('14.4%').height('12.2%') | 
					
						
							|  |  |  |               .onClick(() => { | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |                 this.dialogVisiable = true | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |               }) | 
					
						
							|  |  |  |           } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         .width('100%') | 
					
						
							|  |  |  |         .justifyContent(FlexAlign.SpaceBetween) | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       Column() { | 
					
						
							|  |  |  |         Row() { | 
					
						
							|  |  |  |           if (!this.isSingle) { | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |             Image($r('app.media.index_lw')) | 
					
						
							|  |  |  |               .width('28%') | 
					
						
							|  |  |  |               .height('71%') | 
					
						
							|  |  |  |               .margin({ left: 80 * globalThis.ratio }) | 
					
						
							|  |  |  |               .onClick(async () => { | 
					
						
							|  |  |  |                 if (this.loading) { | 
					
						
							|  |  |  |                   return | 
					
						
							|  |  |  |                 } | 
					
						
							| 
									
										
										
										
											2024-08-21 18:05:24 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |                 this.angle = 0 | 
					
						
							|  |  |  |                 if (!globalThis.timeInfo) { | 
					
						
							| 
									
										
										
										
											2024-08-21 08:53:26 +08:00
										 |  |  |                   globalThis.type='1' | 
					
						
							|  |  |  |                   AppStorage.SetOrCreate('errorMsg', 1); | 
					
						
							|  |  |  |                   globalThis.title='时间同步接口连接失败' | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |                   promptAction.showToast({ | 
					
						
							|  |  |  |                     message: `时间同步接口连接失败`, | 
					
						
							|  |  |  |                     duration: 3000 | 
					
						
							|  |  |  |                   }); | 
					
						
							|  |  |  |                   this.loading = false | 
					
						
							|  |  |  |                   return | 
					
						
							|  |  |  |                 } | 
					
						
							| 
									
										
										
										
											2024-08-21 18:05:24 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-21 08:53:26 +08:00
										 |  |  |                 if (!globalThis.carInfo) { | 
					
						
							|  |  |  |                   promptAction.showToast({ | 
					
						
							|  |  |  |                     message: `车辆信息接口获取失败`, | 
					
						
							|  |  |  |                     duration: 3000 | 
					
						
							|  |  |  |                   }); | 
					
						
							|  |  |  |                   globalThis.type='1' | 
					
						
							|  |  |  |                   AppStorage.SetOrCreate('errorMsg', 1); | 
					
						
							| 
									
										
										
										
											2024-08-21 18:05:24 +08:00
										 |  |  |                   console.log('testXMLToJSONInWorker5',JSON.stringify(globalThis.carInfo)) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-21 08:53:26 +08:00
										 |  |  |                   globalThis.title='车辆信息接口获取失败' | 
					
						
							|  |  |  |                   this.loading = false | 
					
						
							|  |  |  |                   return | 
					
						
							|  |  |  |                 } | 
					
						
							| 
									
										
										
										
											2024-08-21 18:05:24 +08:00
										 |  |  |                 console.log('testXMLToJSONInWorker6',JSON.stringify(globalThis.carInfo)) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |                 this.testXMLToJSONInWorker() | 
					
						
							| 
									
										
										
										
											2024-06-27 20:53:36 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 10:40:35 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |               }) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |           } | 
					
						
							|  |  |  |           if (this.isSingle) { | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |             Image($r('app.media.index_dj')) | 
					
						
							|  |  |  |               .width('28%') | 
					
						
							|  |  |  |               .height('71%') | 
					
						
							|  |  |  |               .margin({ left: 80 * globalThis.ratio }) | 
					
						
							|  |  |  |               .onClick(() => { | 
					
						
							|  |  |  |                 if (this.loading) { | 
					
						
							|  |  |  |                   return | 
					
						
							| 
									
										
										
										
											2024-08-15 13:42:36 +08:00
										 |  |  |                 } | 
					
						
							| 
									
										
										
										
											2024-08-21 18:05:24 +08:00
										 |  |  |                 if (!globalThis.timeInfo) { | 
					
						
							|  |  |  |                   globalThis.type='1' | 
					
						
							|  |  |  |                   AppStorage.SetOrCreate('errorMsg', 1); | 
					
						
							|  |  |  |                   globalThis.title='时间同步接口连接失败' | 
					
						
							|  |  |  |                   promptAction.showToast({ | 
					
						
							|  |  |  |                     message: `时间同步接口连接失败`, | 
					
						
							|  |  |  |                     duration: 3000 | 
					
						
							|  |  |  |                   }); | 
					
						
							|  |  |  |                   this.loading = false | 
					
						
							|  |  |  |                   return | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 if (!globalThis.carInfo) { | 
					
						
							|  |  |  |                   promptAction.showToast({ | 
					
						
							|  |  |  |                     message: `车辆信息接口获取失败`, | 
					
						
							|  |  |  |                     duration: 3000 | 
					
						
							|  |  |  |                   }); | 
					
						
							|  |  |  |                   globalThis.type='1' | 
					
						
							|  |  |  |                   AppStorage.SetOrCreate('errorMsg', 1); | 
					
						
							|  |  |  |                   console.log('testXMLToJSONInWorker5',JSON.stringify(globalThis.carInfo)) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                   globalThis.title='车辆信息接口获取失败' | 
					
						
							|  |  |  |                   this.loading = false | 
					
						
							|  |  |  |                   return | 
					
						
							|  |  |  |                 } | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |                 //判断数据库是否有表数据,有则直接跳转,没有则读取本地数据 | 
					
						
							|  |  |  |                 getSyncData('MA_SYSSET').then(data => { | 
					
						
							|  |  |  |                   console.log('datadata', JSON.stringify(data)) | 
					
						
							|  |  |  |                   if (data?.[0]) { | 
					
						
							|  |  |  |                     router.pushUrl({ | 
					
						
							|  |  |  |                       url: 'pages/UserInfo', | 
					
						
							|  |  |  |                     }, router.RouterMode.Single) | 
					
						
							|  |  |  |                   } else { | 
					
						
							| 
									
										
										
										
											2024-08-21 18:05:24 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |                     this.testXMLToJSONInWorker() | 
					
						
							|  |  |  |                   } | 
					
						
							|  |  |  |                 }) | 
					
						
							| 
									
										
										
										
											2024-08-15 13:42:36 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |                 ; | 
					
						
							|  |  |  |               }) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |           } | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |           Image($r('app.media.index_zj')) | 
					
						
							|  |  |  |             .width('28%') | 
					
						
							|  |  |  |             .height('71%') | 
					
						
							|  |  |  |             .margin({ right: 80 * globalThis.ratio }) | 
					
						
							|  |  |  |             .onClick(() => { | 
					
						
							|  |  |  |               if (this.loading) { | 
					
						
							|  |  |  |                 return | 
					
						
							|  |  |  |               } | 
					
						
							|  |  |  |               router.pushUrl({ | 
					
						
							|  |  |  |                 url: 'pages/CarCheck' | 
					
						
							|  |  |  |               }, router.RouterMode.Single); | 
					
						
							|  |  |  |             }) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |         } | 
					
						
							|  |  |  |         .width('100%') | 
					
						
							|  |  |  |         .justifyContent(FlexAlign.SpaceAround) | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       Column() { | 
					
						
							|  |  |  |         Row() { | 
					
						
							|  |  |  |           Column() { | 
					
						
							|  |  |  |             Text('V ' + globalThis.version) | 
					
						
							|  |  |  |               .fontColor('#CCAE7A') | 
					
						
							| 
									
										
										
										
											2024-06-27 20:53:36 +08:00
										 |  |  |               .fontSize(22 * globalThis.ratio) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |               .width('30%') | 
					
						
							|  |  |  |               .margin({ bottom: 10 }) | 
					
						
							|  |  |  |             Text('授权信息:' + (this.hasAuth ? '已授权' : '未授权')) | 
					
						
							|  |  |  |               .fontColor('#CCAE7A') | 
					
						
							| 
									
										
										
										
											2024-06-27 20:53:36 +08:00
										 |  |  |               .fontSize(22 * globalThis.ratio) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |               .width('30%') | 
					
						
							|  |  |  |           } | 
					
						
							|  |  |  |           .margin({ left: 24 }) | 
					
						
							|  |  |  |           .gesture( | 
					
						
							|  |  |  |             GestureGroup(GestureMode.Exclusive, | 
					
						
							| 
									
										
										
										
											2024-01-31 14:35:16 +08:00
										 |  |  |               TapGesture({ count: 2 }) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |                 .onAction(() => { | 
					
						
							| 
									
										
										
										
											2024-06-27 20:53:36 +08:00
										 |  |  |                   // takePhotoFn(this.context) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |                   globalThis.singlePlay = !globalThis.singlePlay | 
					
						
							|  |  |  |                   this.isSingle = globalThis.singlePlay | 
					
						
							|  |  |  |                 }) | 
					
						
							|  |  |  |             ) | 
					
						
							|  |  |  |           ) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-17 10:19:16 +08:00
										 |  |  |           Text('考车号:' + this.deviceId) | 
					
						
							| 
									
										
										
										
											2024-07-02 11:39:46 +08:00
										 |  |  |             .fontColor('#CCAE7A') | 
					
						
							|  |  |  |             .fontSize(22 * globalThis.ratio) | 
					
						
							|  |  |  |             .margin({ right: 24 }) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |         } | 
					
						
							|  |  |  |         .width('100%') | 
					
						
							|  |  |  |         .justifyContent(FlexAlign.SpaceBetween) | 
					
						
							|  |  |  |         .margin({ bottom: 10 }) | 
					
						
							|  |  |  |       } | 
					
						
							| 
									
										
										
										
											2024-07-02 11:39:46 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-09 13:42:56 +08:00
										 |  |  |       // | 
					
						
							| 
									
										
										
										
											2024-08-10 14:00:18 +08:00
										 |  |  |       if (this.dialogVisiable) { | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |         Flex({ justifyContent: FlexAlign.Center }) { | 
					
						
							| 
									
										
										
										
											2024-08-10 14:00:18 +08:00
										 |  |  |           Text('确认是否退出应用') | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |             .fontSize(28 * this.ratio * this.dialogRatio) | 
					
						
							|  |  |  |             .margin({ top: 100 * this.ratio * this.dialogRatio }) | 
					
						
							| 
									
										
										
										
											2024-08-10 14:00:18 +08:00
										 |  |  |           Row() { | 
					
						
							|  |  |  |             Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |               Text('  取   消  ') | 
					
						
							|  |  |  |                 .fontSize(24 * this.ratio * this.dialogRatio) | 
					
						
							|  |  |  |                 .fontColor('#fff') | 
					
						
							|  |  |  |                 .width(100 * this.ratio * this.dialogRatio) | 
					
						
							| 
									
										
										
										
											2024-08-10 14:00:18 +08:00
										 |  |  |             } | 
					
						
							|  |  |  |             .commStyle() | 
					
						
							|  |  |  |             .onClick(() => { | 
					
						
							|  |  |  |               this.dialogVisiable = false | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |             }).margin({ right: 10 * this.ratio }) | 
					
						
							| 
									
										
										
										
											2024-08-10 14:00:18 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |             Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |               Text('  确   定  ') | 
					
						
							|  |  |  |                 .fontSize(24 * this.ratio * this.dialogRatio) | 
					
						
							|  |  |  |                 .fontColor('#fff') | 
					
						
							|  |  |  |                 .width(100 * this.ratio * this.dialogRatio) | 
					
						
							| 
									
										
										
										
											2024-08-10 14:00:18 +08:00
										 |  |  |             } | 
					
						
							|  |  |  |             .commStyle() | 
					
						
							|  |  |  |             .onClick(() => { | 
					
						
							|  |  |  |               router.back() | 
					
						
							|  |  |  |             }) | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |           }.position({ y: 265 * this.ratio * this.dialogRatio, x: 115 * this.ratio * this.dialogRatio }) | 
					
						
							| 
									
										
										
										
											2024-08-10 14:00:18 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |         .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) }) | 
					
						
							| 
									
										
										
										
											2024-08-10 14:00:18 +08:00
										 |  |  |         .backgroundColor('#E6E3DF') | 
					
						
							| 
									
										
										
										
											2024-08-12 09:28:12 +08:00
										 |  |  |         // | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |         .borderRadius(19 * this.ratio * this.dialogRatio) | 
					
						
							| 
									
										
										
										
											2024-08-10 14:00:18 +08:00
										 |  |  |       } | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |       if (this.loading) { | 
					
						
							| 
									
										
										
										
											2024-07-02 11:39:46 +08:00
										 |  |  |         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) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |       } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     .width('100%') | 
					
						
							|  |  |  |     .height('100%') | 
					
						
							|  |  |  |     .justifyContent(FlexAlign.SpaceBetween) | 
					
						
							|  |  |  |     .backgroundImagePosition({ x: 0, y: 0 }) | 
					
						
							|  |  |  |     .backgroundImage($r('app.media.index_bg')) | 
					
						
							|  |  |  |     .backgroundImageSize({ width: '100%', height: '100%' }) | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   aboutToAppear() { | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |     this.dialogVisiable = false | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |     this.angle = 0 | 
					
						
							|  |  |  |     this.loading = false | 
					
						
							| 
									
										
										
										
											2024-08-19 10:11:22 +08:00
										 |  |  |     globalThis.lsh = '1111111111111' | 
					
						
							| 
									
										
										
										
											2024-06-27 20:53:36 +08:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-07-02 11:39:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |   async testXMLToJSONInWorker() { | 
					
						
							| 
									
										
										
										
											2024-08-21 08:53:26 +08:00
										 |  |  |     if (this.loading) { | 
					
						
							|  |  |  |       return | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-08-21 18:05:24 +08:00
										 |  |  |     console.log('globalThis.timeInfo11111',JSON.stringify(globalThis.timeInfo),'globalThis.carInfo',JSON.stringify(globalThis.carInfo)) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-09 11:11:31 +08:00
										 |  |  |     let workerInstance = new worker.ThreadWorker('entry/ets/workers/worker.ts'); | 
					
						
							| 
									
										
										
										
											2024-07-02 11:39:46 +08:00
										 |  |  |     const param = { | 
					
						
							| 
									
										
										
										
											2024-08-21 18:05:24 +08:00
										 |  |  |       singlePlay: this.isSingle, | 
					
						
							| 
									
										
										
										
											2024-07-02 11:39:46 +08:00
										 |  |  |       carId: globalThis.carInfo?.carId, | 
					
						
							|  |  |  |       examinationRoomId: globalThis.carInfo?.examinationRoomId, | 
					
						
							|  |  |  |       judgeVersion: globalThis.judgeVersion, | 
					
						
							|  |  |  |       shellVersion: globalThis.version, | 
					
						
							|  |  |  |       paraKdid: globalThis.timeInfo?.paraKdid, | 
					
						
							| 
									
										
										
										
											2024-06-27 20:53:36 +08:00
										 |  |  |       mode: globalThis.timeInfo?.mode, | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |       host: globalThis.host, | 
					
						
							| 
									
										
										
										
											2024-08-21 18:05:24 +08:00
										 |  |  |       centerHost: globalThis.timeInfo?.url, | 
					
						
							|  |  |  |       context: this.context, | 
					
						
							| 
									
										
										
										
											2024-06-27 20:53:36 +08:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-08-21 08:53:26 +08:00
										 |  |  |     console.log('globalThis.timeInfo',JSON.stringify(globalThis.timeInfo),'globalThis.carInfo',JSON.stringify(globalThis.carInfo)) | 
					
						
							|  |  |  |     this.loading = true | 
					
						
							| 
									
										
										
										
											2024-08-21 18:05:24 +08:00
										 |  |  |     setTimeout(() => { | 
					
						
							|  |  |  |       this.angle = 360 | 
					
						
							|  |  |  |     }, 1000) | 
					
						
							| 
									
										
										
										
											2024-06-27 20:53:36 +08:00
										 |  |  |     workerInstance.postMessage(param); | 
					
						
							|  |  |  |     workerInstance.onmessage = (e: MessageEvents): void => { | 
					
						
							| 
									
										
										
										
											2024-07-02 11:39:46 +08:00
										 |  |  |       console.log("baoyihu after postMessage :", JSON.stringify(e.data)); | 
					
						
							| 
									
										
										
										
											2024-07-09 11:11:31 +08:00
										 |  |  |       let workData: WorkData = e.data; | 
					
						
							|  |  |  |       if (workData.isComplete) { | 
					
						
							| 
									
										
										
										
											2024-07-01 12:36:46 +08:00
										 |  |  |         router.pushUrl({ | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |           url: globalThis.singlePlay ? 'pages/UserInfo' : 'pages/ExaminerLogin', | 
					
						
							| 
									
										
										
										
											2024-07-01 12:36:46 +08:00
										 |  |  |         }, router.RouterMode.Single) | 
					
						
							|  |  |  |       } | 
					
						
							| 
									
										
										
										
											2024-07-03 16:21:56 +08:00
										 |  |  |       this.loading = false | 
					
						
							| 
									
										
										
										
											2024-07-09 11:11:31 +08:00
										 |  |  |       workerInstance.terminate(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-27 20:53:36 +08:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-07-02 11:39:46 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-26 15:01:27 +08:00
										 |  |  |   async heartMsg() { | 
					
						
							| 
									
										
										
										
											2024-07-02 11:39:46 +08:00
										 |  |  |     const arr = [globalThis.signNum || 0, globalThis.statue || 1] | 
					
						
							| 
									
										
										
										
											2024-08-21 08:53:26 +08:00
										 |  |  |     let tmpList = [];d | 
					
						
							| 
									
										
										
										
											2024-02-22 10:40:35 +08:00
										 |  |  |     tmpList.push(string2Bytes(arr[0], 1 * 8)[0]) | 
					
						
							|  |  |  |     tmpList.push(string2Bytes(arr[1], 1 * 8)[0]) | 
					
						
							| 
									
										
										
										
											2024-07-02 11:39:46 +08:00
										 |  |  |     const str = globalThis.lsh || '0000000000000' | 
					
						
							|  |  |  |     for (let i = 0; i < str.length; i++) { | 
					
						
							| 
									
										
										
										
											2024-02-22 10:40:35 +08:00
										 |  |  |       tmpList.push(string2Bytes(str.charCodeAt(i), 1 * 8)[0]) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-07-02 11:39:46 +08:00
										 |  |  |     console.log('globalThis.carInfo', JSON.stringify(globalThis.carInfo)) | 
					
						
							| 
									
										
										
										
											2024-06-27 20:53:36 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-02 11:39:46 +08:00
										 |  |  |     const param = { | 
					
						
							|  |  |  |       id: 31, | 
					
						
							|  |  |  |       list: tmpList, | 
					
						
							|  |  |  |       carNo: globalThis.carInfo.carNo, | 
					
						
							|  |  |  |       placeId: globalThis.carInfo.examinationRoomId | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |     console.log('paramparam', JSON.stringify(param)) | 
					
						
							| 
									
										
										
										
											2024-06-27 20:53:36 +08:00
										 |  |  |     // globalThis.udpClient2.initHeartSendMsg(param,this.context) | 
					
						
							| 
									
										
										
										
											2024-07-09 11:11:31 +08:00
										 |  |  |     if (globalThis.udpClient2.getStatus()) { | 
					
						
							|  |  |  |       globalThis.udpClient2.sendMsgExt(param, this.context) | 
					
						
							| 
									
										
										
										
											2024-07-02 08:59:03 +08:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-19 09:21:47 +08:00
										 |  |  |   async onPageShow() { | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |     console.log('ttttt', 1111) | 
					
						
							| 
									
										
										
										
											2024-08-14 13:15:03 +08:00
										 |  |  |     this.userAuth(); | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |     console.log('ttttt2222', 1111) | 
					
						
							| 
									
										
										
										
											2024-08-14 14:46:33 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-12 14:46:16 +08:00
										 |  |  |     this.vocObj = new voiceService(async (status, val, next) => { | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |     console.log('globalThis.singlePlay', globalThis.singlePlay) | 
					
						
							| 
									
										
										
										
											2024-08-12 14:46:16 +08:00
										 |  |  |     if (globalThis.singlePlay == undefined || globalThis.singlePlay == null) { | 
					
						
							| 
									
										
										
										
											2024-08-21 18:05:24 +08:00
										 |  |  |       globalThis.singlePlay = false | 
					
						
							| 
									
										
										
										
											2024-08-12 14:46:16 +08:00
										 |  |  |       this.vocObj.playAudio({ | 
					
						
							|  |  |  |         type: 1, | 
					
						
							|  |  |  |         name: 'welcome.wav' | 
					
						
							|  |  |  |       }) | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     this.isSingle = globalThis.singlePlay | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |     this.loading = false | 
					
						
							| 
									
										
										
										
											2024-06-27 20:53:36 +08:00
										 |  |  |     this.createAlbum() | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |     this.num = 0 | 
					
						
							| 
									
										
										
										
											2024-06-27 20:53:36 +08:00
										 |  |  |     // const TcpClient: TcpClient =new TcpClient(result[0].tcplocalIp, result[0].tcplocalIpPort,result[0].tcpOppositeIp,result[0].tcpOppositePort) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |     console.info('Index onPageShow'); | 
					
						
							| 
									
										
										
										
											2024-08-20 09:13:43 +08:00
										 |  |  |     globalThis.lsh = '1111111111111' | 
					
						
							| 
									
										
										
										
											2024-05-09 13:42:56 +08:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-06-27 20:53:36 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-09 13:42:56 +08:00
										 |  |  |   async createAlbum() { | 
					
						
							|  |  |  |     this.fileHelper = new FileHelper(); | 
					
						
							| 
									
										
										
										
											2024-06-27 20:53:36 +08:00
										 |  |  |     this.fileHelper.createAlbum('jt') | 
					
						
							| 
									
										
										
										
											2024-05-09 13:42:56 +08:00
										 |  |  |     this.fileHelper.createAlbum('pz'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-07-03 16:21:56 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-12 15:32:48 +08:00
										 |  |  |   userAuth() { | 
					
						
							| 
									
										
										
										
											2024-07-03 16:21:56 +08:00
										 |  |  |     const permissions: Array<Permissions> = ["ohos.permission.SET_TIME", "ohos.permission.READ_IMAGEVIDEO", "ohos.permission.DISTRIBUTED_DATASYNC", 'ohos.permission.CONNECTIVITY_INTERNAL', 'ohos.permission.CAMERA', 'ohos.permission.READ_MEDIA', 'ohos.permission.WRITE_MEDIA', 'ohos.permission.FILE_ACCESS_MANAGER']; | 
					
						
							| 
									
										
										
										
											2024-03-12 15:32:48 +08:00
										 |  |  |     let context = this.context; | 
					
						
							|  |  |  |     let atManager = abilityAccessCtrl.createAtManager(); | 
					
						
							|  |  |  |     // requestPermissionsFromUser会判断权限的授权状态来决定是否唤起弹窗 | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-12 15:32:48 +08:00
										 |  |  |     atManager.requestPermissionsFromUser(context, permissions).then((data) => { | 
					
						
							|  |  |  |       this.initParams() | 
					
						
							|  |  |  |       let grantStatus: Array<number> = data.authResults; | 
					
						
							|  |  |  |       let length: number = grantStatus.length; | 
					
						
							|  |  |  |       for (let i = 0; i < length; i++) { | 
					
						
							|  |  |  |         if (grantStatus[i] === 0) { | 
					
						
							|  |  |  |           // 用户授权,可以继续访问目标操作 | 
					
						
							|  |  |  |         } else { | 
					
						
							|  |  |  |           // 用户拒绝授权,提示用户必须授权才能访问当前页面的功能,并引导用户到系统设置中打开相应的权限 | 
					
						
							|  |  |  |           return; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |       // 授权成功 | 
					
						
							|  |  |  |     }).catch((err) => { | 
					
						
							|  |  |  |       console.error(`Failed to request permissions from user. Code is ${err.code}, message is ${err.message}`); | 
					
						
							|  |  |  |     }) | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-07-02 11:39:46 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |   async initParams() { | 
					
						
							| 
									
										
										
										
											2024-08-21 11:57:03 +08:00
										 |  |  |     deleteAllFIleLog(GlobalConfig.comoonfileWriteAddress+'/PLC/') | 
					
						
							| 
									
										
										
										
											2024-08-14 13:15:03 +08:00
										 |  |  |     //设置plc udp 同步requesthost | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |     await getUDP(this.context, false) | 
					
						
							| 
									
										
										
										
											2024-07-02 11:39:46 +08:00
										 |  |  |     this.loading = false | 
					
						
							| 
									
										
										
										
											2024-08-14 14:46:33 +08:00
										 |  |  |     console.log('globalThis.deviceNo000') | 
					
						
							| 
									
										
										
										
											2024-08-14 09:18:33 +08:00
										 |  |  |     await getDeviceInfo(this.context) | 
					
						
							| 
									
										
										
										
											2024-08-14 14:46:33 +08:00
										 |  |  |     await getCarInfo() | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |     await getUDP2(this.context, false) | 
					
						
							| 
									
										
										
										
											2024-08-14 14:46:33 +08:00
										 |  |  |     getTCP() | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |     this.deviceId = globalThis.carInfo.carNo | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |     await setCurrentTime(); | 
					
						
							|  |  |  |     this.carNum = globalThis.carInfo.plateNo; | 
					
						
							|  |  |  |     this.version = globalThis.version; | 
					
						
							|  |  |  |     this.hasAuth = globalThis.hasAuth; | 
					
						
							| 
									
										
										
										
											2024-01-31 14:35:16 +08:00
										 |  |  |     initJudgeUdp() | 
					
						
							| 
									
										
										
										
											2024-08-14 14:46:33 +08:00
										 |  |  |     takePhotoFn(this.context) | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |     console.log('deviceIddeviceId', globalThis.deviceNo, this.deviceNo) | 
					
						
							| 
									
										
										
										
											2024-08-14 14:46:33 +08:00
										 |  |  |     clearInterval(this.interval) | 
					
						
							|  |  |  |     this.interval = setInterval(() => { | 
					
						
							|  |  |  |       this.num++ | 
					
						
							|  |  |  |       setliushuiNum(this.context) | 
					
						
							|  |  |  |       getliushuiNum(this.context) | 
					
						
							| 
									
										
										
										
											2024-08-19 09:32:41 +08:00
										 |  |  |       if (this.num >= 3) { | 
					
						
							| 
									
										
										
										
											2024-08-14 14:46:33 +08:00
										 |  |  |         this.heartMsg() | 
					
						
							|  |  |  |       } | 
					
						
							| 
									
										
										
										
											2024-08-19 14:54:11 +08:00
										 |  |  |       const data=AppStorage.Get('errorMsg'); // returns 47 | 
					
						
							| 
									
										
										
										
											2024-08-20 09:43:25 +08:00
										 |  |  |       console.log('1123',data,globalThis.type,globalThis.dialogOpen) | 
					
						
							| 
									
										
										
										
											2024-08-19 14:54:11 +08:00
										 |  |  |       if(data==1){ | 
					
						
							| 
									
										
										
										
											2024-08-20 09:12:02 +08:00
										 |  |  |         if(globalThis.type=='3'&&!globalThis.dialogOpen){ | 
					
						
							|  |  |  |           globalThis.dialogOpen=true | 
					
						
							| 
									
										
										
										
											2024-08-20 09:43:25 +08:00
										 |  |  |           this.errorDialog.open() | 
					
						
							| 
									
										
										
										
											2024-08-20 09:12:02 +08:00
										 |  |  |         }else if(globalThis.type=='1'){ | 
					
						
							|  |  |  |           this.errorDialog.open() | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2024-08-19 14:54:11 +08:00
										 |  |  |       } | 
					
						
							| 
									
										
										
										
											2024-08-14 14:46:33 +08:00
										 |  |  |     }, 1000) | 
					
						
							| 
									
										
										
										
											2024-01-31 14:42:14 +08:00
										 |  |  |     //下载模型 | 
					
						
							|  |  |  |     // await this.getModel() | 
					
						
							|  |  |  |     // const arr = [0x55, 0xaa, 0x01, 0x00, 0x02, 0x01, 0x03, 0x00] | 
					
						
							| 
									
										
										
										
											2024-02-22 10:40:35 +08:00
										 |  |  |     // globalThis.udpClientByTopLine.sendMsg(Array2Byte(arr).buffer) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-07-02 11:39:46 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |   async getModel() { | 
					
						
							|  |  |  |     const context = this.context; | 
					
						
							|  |  |  |     //下载模型 | 
					
						
							|  |  |  |     await getEsCarModel(context) | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | } |