Fix file paths and update versions
This commit is contained in:
		
							parent
							
								
									74bcb8f05c
								
							
						
					
					
						commit
						93f87208f0
					
				| @ -558,8 +558,8 @@ export async function upDataZhongxinginitialization(){ | |||||||
|       "carId":  globalThis.carInfo?.carId, // 表名
 |       "carId":  globalThis.carInfo?.carId, // 表名
 | ||||||
|       "examinationRoomId": globalThis.carInfo?.examinationRoomId, //考试平台kdid
 |       "examinationRoomId": globalThis.carInfo?.examinationRoomId, //考试平台kdid
 | ||||||
|       videoVersion:'1.0', |       videoVersion:'1.0', | ||||||
|       judgeVersion:'2022.03.17.1', |       judgeVersion:'2024.11.22.14', | ||||||
|       shellVersion:'2022.03.14.01' |       shellVersion:'2024.11.22.14' | ||||||
|     } |     } | ||||||
|     let res: any = await initialization(str) |     let res: any = await initialization(str) | ||||||
|     if(!res){ |     if(!res){ | ||||||
|  | |||||||
| @ -4,15 +4,14 @@ import { dateFormat} from '../utils/tools' | |||||||
| 
 | 
 | ||||||
| //获取设备信息
 | //获取设备信息
 | ||||||
| export async function getDeviceInfo() { | export async function getDeviceInfo() { | ||||||
|     globalThis.deviceNo = 'J43405J003101'; //设备mac
 |     // globalThis.deviceNo = 'J43405J003101'; //设备mac
 | ||||||
|     // globalThis.deviceNo = 'FE-FC-FE-7C-5C-77'; //设备mac
 |     globalThis.deviceNo = 'FE-FC-FE-7C-5C-77'; //设备mac
 | ||||||
|     globalThis.diskId = '1231231231'; //硬盘号
 |     globalThis.diskId = '1231231231'; //硬盘号
 | ||||||
|     globalThis.hasAuth = true; |     globalThis.hasAuth = true; | ||||||
| 
 | 
 | ||||||
|     return null |     return null | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| //获取考车信息
 | //获取考车信息
 | ||||||
| export async function getCarInfo() { | export async function getCarInfo() { | ||||||
|     let date = new Date(); |     let date = new Date(); | ||||||
|  | |||||||
| @ -23,7 +23,7 @@ export default class FileUtil{ | |||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   /* |   /* | ||||||
|    * @desc 校验文件夹,文件夹不存在会自动创建,支持嵌套 |    * @desc 校验文件夹,文件夹不存在会创建,支持嵌套 | ||||||
|    * |    * | ||||||
|    */ |    */ | ||||||
|   public initFolder = async (folderPath:string) => { |   public initFolder = async (folderPath:string) => { | ||||||
| @ -36,8 +36,6 @@ export default class FileUtil{ | |||||||
|       const isExit = fs.accessSync(path); |       const isExit = fs.accessSync(path); | ||||||
|       if(!isExit){ |       if(!isExit){ | ||||||
|         fs.mkdirSync(path) |         fs.mkdirSync(path) | ||||||
|         console.error(LOGTAG,path) |  | ||||||
|         const isExit = fs.accessSync(path); |  | ||||||
|       } |       } | ||||||
|     })); |     })); | ||||||
|     return path; |     return path; | ||||||
|  | |||||||
| @ -4,8 +4,8 @@ import prompt from '@ohos.prompt' | |||||||
| import { sendGreen } from '../../pages/judgeSDK/utils/judge-common'; | import { sendGreen } from '../../pages/judgeSDK/utils/judge-common'; | ||||||
| 
 | 
 | ||||||
| const config = { | const config = { | ||||||
|     // host: 'http://112.80.35.83:11052',
 |     host: 'http://112.80.35.83:11052', | ||||||
|     host: 'http://192.168.36.2:8083', |     // host: 'http://192.168.36.2:8083',
 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| let httpRequest = http.createHttp(); | let httpRequest = http.createHttp(); | ||||||
|  | |||||||
| @ -53,10 +53,12 @@ export function  dateVersionFormat(t) { | |||||||
|   return year + "." + fill(month) + "." + fill(day) + "." + fill(hours); |   return year + "." + fill(month) + "." + fill(day) + "." + fill(hours); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | enum timeType{ | ||||||
|  |   fulltime = 1 | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| //获取当前时间并转化
 | //获取当前时间并转化
 | ||||||
| export async function getCurrentTime(type?:1):Promise<string> { | export async function getCurrentTime(type?:timeType):Promise<string> { | ||||||
| 
 | 
 | ||||||
|   const date = await systemTime.getDate(); |   const date = await systemTime.getDate(); | ||||||
|   const year = date.getFullYear(); |   const year = date.getFullYear(); | ||||||
| @ -133,13 +135,13 @@ export function chunkArr (arr, size:number) { | |||||||
| //对象深拷贝
 | //对象深拷贝
 | ||||||
| export function deepClone(target) { | export function deepClone(target) { | ||||||
|   // 如果是对象,且不是原始值null
 |   // 如果是对象,且不是原始值null
 | ||||||
|   if (typeof target === 'object' && target !== 'null') { //注解一
 |   if (typeof target === 'object' && target !== 'null') { | ||||||
|     // 创建容器
 |     // 创建容器
 | ||||||
|     const result = Array.isArray(target) ? [] : {}; //注解三
 |     const result = Array.isArray(target) ? [] : {}; | ||||||
|     const keys = Object.keys(target);  //注解二
 |     const keys = Object.keys(target);  //注解二
 | ||||||
|     // Object.keys()会过滤掉原型链上的属性
 |     // Object.keys()会过滤掉原型链上的属性
 | ||||||
|     keys.forEach(key => { |     keys.forEach(key => { | ||||||
|       result[key] = deepClone(target[key])  // 注解三
 |       result[key] = deepClone(target[key]) | ||||||
|     }) |     }) | ||||||
|     return result; |     return result; | ||||||
|   } |   } | ||||||
|  | |||||||
| @ -28,8 +28,8 @@ export default class EntryAbility extends UIAbility { | |||||||
|         globalThis.examinerInfo = {} |         globalThis.examinerInfo = {} | ||||||
|         globalThis.deviceNo = ''; |         globalThis.deviceNo = ''; | ||||||
|         globalThis.hasAuth = false |         globalThis.hasAuth = false | ||||||
|         // globalThis.version = '2024.11.22.14'
 |         globalThis.version = '2024.11.22.14' | ||||||
|         globalThis.version = '2022.03.14.01' |         // globalThis.version = '2022.03.14.01'
 | ||||||
| 
 | 
 | ||||||
|         globalThis.context = this.context; |         globalThis.context = this.context; | ||||||
|         globalThis.pathDir = this.context.filesDir; |         globalThis.pathDir = this.context.filesDir; | ||||||
|  | |||||||
| @ -3,7 +3,7 @@ import common from '@ohos.app.ability.common'; | |||||||
| import router from '@ohos.router' | import router from '@ohos.router' | ||||||
| import { getCarInfo, getDeviceInfo } from '../common/service/terminalService' | import { getCarInfo, getDeviceInfo } from '../common/service/terminalService' | ||||||
| import { setCurrentTime } from '../common/service/timeService' | import { setCurrentTime } from '../common/service/timeService' | ||||||
| import { string2Bytes } from '../common/utils/tools' | import {Array2Byte} from '../common/utils/tools' | ||||||
| import { | import { | ||||||
|   getDataBaseTable, |   getDataBaseTable, | ||||||
|   upDateTable, |   upDateTable, | ||||||
| @ -15,12 +15,22 @@ import { | |||||||
| } from '../common/service/initable' | } from '../common/service/initable' | ||||||
| import prompt from '@ohos.prompt' | import prompt from '@ohos.prompt' | ||||||
| import { dateFormat } from '../common/utils/tools' | import { dateFormat } from '../common/utils/tools' | ||||||
|  | import deviceManager from '@ohos.distributedHardware.deviceManager' | ||||||
| import AccountTable from '../common/database/tables/AccountTable'; | import AccountTable from '../common/database/tables/AccountTable'; | ||||||
| import MA_SYSSET from '../common/constants/MA_SYSSET'; | import MA_SYSSET from '../common/constants/MA_SYSSET'; | ||||||
| import { getUDP, getUDP2 } from '../common/utils/GlobleUdp' | import { getUDP, getUDP2 } from '../common/utils/GlobleUdp' | ||||||
| import {initJudgeUdp} from '../common/utils/UdpJudge' | import {initJudgeUdp} from '../common/utils/UdpJudge' | ||||||
|  | import { getTCP } from '../common/utils/GlobleTcp' | ||||||
|  | import { voiceService } from '../common/service/voiceService' | ||||||
|  | import testNapi from '@ohos.hiserialsdk' | ||||||
|  | import TcpClient from '../common/utils/TcpClient'; | ||||||
|  | import Router from '@system.router' | ||||||
|  | 
 | ||||||
|  | import socket from '@ohos.net.socket'; | ||||||
| import fs from '@ohos.file.fs' | import fs from '@ohos.file.fs' | ||||||
|  | import mediaLibrary from '@ohos.multimedia.mediaLibrary' | ||||||
| import FileUtil from '../common/utils/File' | import FileUtil from '../common/utils/File' | ||||||
|  | 
 | ||||||
| @Entry | @Entry | ||||||
| @Component | @Component | ||||||
| struct Index { | struct Index { | ||||||
| @ -37,6 +47,7 @@ struct Index { | |||||||
|   @State devPath: string = "/dev/ttyS0" |   @State devPath: string = "/dev/ttyS0" | ||||||
|   @State fd: number = -1; |   @State fd: number = -1; | ||||||
|   private context = getContext(this) as common.UIAbilityContext; |   private context = getContext(this) as common.UIAbilityContext; | ||||||
|  | 
 | ||||||
|   build() { |   build() { | ||||||
|     Column() { |     Column() { | ||||||
|       Column() { |       Column() { | ||||||
| @ -62,6 +73,7 @@ struct Index { | |||||||
|                 // getSyncData('MA_SYSSET') |                 // getSyncData('MA_SYSSET') | ||||||
|                 router.back() |                 router.back() | ||||||
|                 // this.url = 'back' |                 // this.url = 'back' | ||||||
|  | 
 | ||||||
|                 // app.terminate() |                 // app.terminate() | ||||||
| 
 | 
 | ||||||
|               }) |               }) | ||||||
| @ -75,6 +87,10 @@ struct Index { | |||||||
|         Row() { |         Row() { | ||||||
|           if (!this.isSingle) { |           if (!this.isSingle) { | ||||||
|             Image($r('app.media.index_lw')).width('30.5%').height('74%').onClick(() => { |             Image($r('app.media.index_lw')).width('30.5%').height('74%').onClick(() => { | ||||||
|  |               // this.vocObj.playAudio({ | ||||||
|  |               //   type: 1, | ||||||
|  |               //   name: 'button_media.wav' | ||||||
|  |               // }) | ||||||
|               if (this.loading) { |               if (this.loading) { | ||||||
|                 return |                 return | ||||||
|               } |               } | ||||||
| @ -89,7 +105,9 @@ struct Index { | |||||||
|                 this.upDateTable() |                 this.upDateTable() | ||||||
|               }else{ |               }else{ | ||||||
|                 this.getCenterDataTable() |                 this.getCenterDataTable() | ||||||
|  | 
 | ||||||
|               } |               } | ||||||
|  | 
 | ||||||
|             }) |             }) | ||||||
|           } |           } | ||||||
|           if (this.isSingle) { |           if (this.isSingle) { | ||||||
| @ -190,25 +208,81 @@ struct Index { | |||||||
|   aboutToAppear() { |   aboutToAppear() { | ||||||
|     this.angle = 0 |     this.angle = 0 | ||||||
|     this.loading = false |     this.loading = false | ||||||
|  | 
 | ||||||
|  |     // this.vocObj = new voiceService(async (status, val) => { | ||||||
|  |     //   if (status == 'idle') { | ||||||
|  |     //     if (this.url == 'back') { | ||||||
|  |     //       router.back() | ||||||
|  |     //       // that.udpClient.sendMsg('111') | ||||||
|  |     //     } else { | ||||||
|  |     //       router.pushUrl({ | ||||||
|  |     //         url: this.url, | ||||||
|  |     //       }); | ||||||
|  |     //     } | ||||||
|  |     //   } | ||||||
|  |     // }); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   Array2Byte(array) { | ||||||
|  |     var buf = new ArrayBuffer(array.length); | ||||||
|  |     var view = new Uint8Array(buf); | ||||||
|  |     for (var i = 0; i != array.length; ++i) | ||||||
|  |     { | ||||||
|  |       view[i] = array[i] & 0xFF; | ||||||
|  |     } | ||||||
|  |     return view; | ||||||
|  |   } | ||||||
|  |   openChuankouMsg() { | ||||||
|  |     this.fd = testNapi.SerialOpen(this.devPath); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   string2Bytes(number, len) { | ||||||
|  |     // console.log('string2Bytes == ', number) | ||||||
|  |     let str = (+number).toString(2); | ||||||
|  |     if (str.length > len) { | ||||||
|  |       console.log('数据长度不对~~'); | ||||||
|  |       return | ||||||
|  |     } | ||||||
|  |     var byteString = this.fillZero(str, len); | ||||||
|  | 
 | ||||||
|  |     var arrBytes = new Array(); | ||||||
|  |     for (var i = byteString.length; i > 0; ) { | ||||||
|  |       let j = i - 8; | ||||||
|  |       if (j < 0) { | ||||||
|  |         j = 0 | ||||||
|  |       } | ||||||
|  |       var s = byteString.slice(j, i); | ||||||
|  |       var v = parseInt(s, 2); | ||||||
|  |       arrBytes.push(v); | ||||||
|  |       i = i - 8 | ||||||
|  | 
 | ||||||
|  |     } | ||||||
|  |     return arrBytes; | ||||||
|  |   } | ||||||
|  |   //补0 | ||||||
|  |   fillZero(str, len) { | ||||||
|  |     str = str + ''; | ||||||
|  |     if (str.length > len || !len) { | ||||||
|  |       return str | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     let num = len - str.length; | ||||||
|  |     let zeroStr = ''; | ||||||
|  |     for (var i = 0; i < num; i++) { | ||||||
|  |       zeroStr = zeroStr + '0' | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     return zeroStr + str; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   async heartMsg(context) { |   async heartMsg(context) { | ||||||
|     const fileUtil = new FileUtil(context) |     const fileUtil = new FileUtil(context) | ||||||
|     const fileData = await fileUtil.readFile('/mnt/hmdfs/100/account/device_view/localfiles/files/config/liushui.txt'); |     const fileData = await fileUtil.readFile('/mnt/hmdfs/100/account/device_view/localfiles/files/config/liushui.txt'); | ||||||
|     let res = fs.accessSync('/mnt/hmdfs/100/account/device_view/localfiles/files/config/liushui.txt'); |     let res = fs.accessSync('/mnt/hmdfs/100/account/device_view/localfiles/files/config/liushui.txt'); | ||||||
|     if(res&&JSON.stringify(fileData).indexOf('u0000')<0){ |     // TODO | ||||||
|       const date = new Date() |     return | ||||||
|       const time1 = JSON.parse(fileData).date.split(' ')[0] |     if (res) { | ||||||
|       const time2 = dateFormat(date).split(' ')[0] |       if(JSON.stringify(fileData).indexOf('u0000')>=0){ | ||||||
|       if (time1 == time2) { |  | ||||||
|         const date = new Date() |  | ||||||
|         const param = { |  | ||||||
|           date: dateFormat(date), |  | ||||||
|           value: Number(JSON.parse(fileData).value) + 1 |  | ||||||
|         } |  | ||||||
|         const folderPath = await fileUtil.initFolder(`/config`); |  | ||||||
|         fileUtil.addFile(`${folderPath}/liushui.txt`, JSON.stringify(param)) |  | ||||||
|       } else { |  | ||||||
|         const date = new Date() |         const date = new Date() | ||||||
|         const param = { |         const param = { | ||||||
|           date: dateFormat(date), |           date: dateFormat(date), | ||||||
| @ -216,8 +290,30 @@ struct Index { | |||||||
|         } |         } | ||||||
|         const folderPath = await fileUtil.initFolder(`/config`); |         const folderPath = await fileUtil.initFolder(`/config`); | ||||||
|         fileUtil.addFile(`${folderPath}/liushui.txt`, JSON.stringify(param)) |         fileUtil.addFile(`${folderPath}/liushui.txt`, JSON.stringify(param)) | ||||||
|  |       }else{ | ||||||
|  |         const date = new Date() | ||||||
|  |         const time1 = JSON.parse(fileData).date.split(' ')[0] | ||||||
|  |         const time2 = dateFormat(date).split(' ')[0] | ||||||
|  |         if (time1 == time2) { | ||||||
|  |           const date = new Date() | ||||||
|  |           const param = { | ||||||
|  |             date: dateFormat(date), | ||||||
|  |             value: Number(JSON.parse(fileData).value) + 1 | ||||||
|  |           } | ||||||
|  |           const folderPath = await fileUtil.initFolder(`/config`); | ||||||
|  |           fileUtil.addFile(`${folderPath}/liushui.txt`, JSON.stringify(param)) | ||||||
|  |         } else { | ||||||
|  |           const date = new Date() | ||||||
|  |           const param = { | ||||||
|  |             date: dateFormat(date), | ||||||
|  |             value: 0 | ||||||
|  |           } | ||||||
|  |           const folderPath = await fileUtil.initFolder(`/config`); | ||||||
|  |           fileUtil.addFile(`${folderPath}/liushui.txt`, JSON.stringify(param)) | ||||||
|  |         } | ||||||
|       } |       } | ||||||
|     }else{ |     }else | ||||||
|  |     { | ||||||
|       const date = new Date() |       const date = new Date() | ||||||
|       const param = { |       const param = { | ||||||
|         date: dateFormat(date), |         date: dateFormat(date), | ||||||
| @ -228,27 +324,35 @@ struct Index { | |||||||
|     } |     } | ||||||
|     const arr = [globalThis.signNum||0, globalThis.statue||1] |     const arr = [globalThis.signNum||0, globalThis.statue||1] | ||||||
|     let tmpList = []; |     let tmpList = []; | ||||||
|     tmpList.push(string2Bytes(arr[0], 1 * 8)[0]) |     tmpList.push(this.string2Bytes(arr[0], 1 * 8)[0]) | ||||||
|     tmpList.push(string2Bytes(arr[1], 1 * 8)[0]) |     tmpList.push(this.string2Bytes(arr[1], 1 * 8)[0]) | ||||||
|     const str =globalThis.lsh|| '0000000000000' |     const str =globalThis.lsh|| '0000000000000' | ||||||
|     for (let i = 0;i < str.length; i++) { |     for (let i = 0;i < str.length; i++) { | ||||||
|       tmpList.push(string2Bytes(str.charCodeAt(i), 1 * 8)[0]) |       tmpList.push(this.string2Bytes(str.charCodeAt(i), 1 * 8)[0]) | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     // const str ='1111160366580' | ||||||
|  |     // for (let i = 0;i < str.length; i++) { | ||||||
|  |     //   tmpList.push(this.string2Bytes(str.charCodeAt(i), 1 * 8)[0]) | ||||||
|  |     // } | ||||||
|  |     // const param = { id: 46, list: tmpList, carNo: 489, placeId: 62 } | ||||||
|     const param= {id: 31,list:tmpList,carNo: globalThis.carInfo.carNo,placeId: globalThis.carInfo.examinationRoomId} |     const param= {id: 31,list:tmpList,carNo: globalThis.carInfo.carNo,placeId: globalThis.carInfo.examinationRoomId} | ||||||
|  | 
 | ||||||
|     globalThis.udpClient2.sendMsg(param, this.context) |     globalThis.udpClient2.sendMsg(param, this.context) | ||||||
| 
 | 
 | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|   onPageShow() { |   onPageShow() { | ||||||
|     this.loading = false |     this.loading = false | ||||||
|     this.initParams() |     this.initParams() | ||||||
|     getUDP() |     getUDP() | ||||||
|     getUDP2() |     getUDP2() | ||||||
| 
 |  | ||||||
|     setInterval(() => { |     setInterval(() => { | ||||||
|       this.heartMsg(this.context) |       this.heartMsg(this.context) | ||||||
|     }, 1000) |     }, 1000) | ||||||
|  |     // getTCP() | ||||||
|  | 
 | ||||||
|  |     // const TcpClient: TcpClient =new TcpClient(result[0].tcplocalIp, result[0].tcplocalIpPort,result[0].tcpOppositeIp,result[0].tcpOppositePort) | ||||||
| 
 | 
 | ||||||
|     if (globalThis.singlePlay == undefined || globalThis.singlePlay == null) { |     if (globalThis.singlePlay == undefined || globalThis.singlePlay == null) { | ||||||
|       globalThis.singlePlay = false |       globalThis.singlePlay = false | ||||||
| @ -259,6 +363,14 @@ struct Index { | |||||||
| 
 | 
 | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  |   Array2Byte(array) { | ||||||
|  |     var buf = new ArrayBuffer(array.length); | ||||||
|  |     var view = new Uint8Array(buf); | ||||||
|  |     for (var i = 0; i != array.length; ++i) { | ||||||
|  |       view[i] = array[i] & 0xFF; | ||||||
|  |     } | ||||||
|  |     return view; | ||||||
|  |   } | ||||||
| 
 | 
 | ||||||
|   async initParams() { |   async initParams() { | ||||||
|     this.loading=false |     this.loading=false | ||||||
| @ -270,6 +382,11 @@ struct Index { | |||||||
|     this.version = globalThis.version; |     this.version = globalThis.version; | ||||||
|     this.hasAuth = globalThis.hasAuth; |     this.hasAuth = globalThis.hasAuth; | ||||||
|     initJudgeUdp() |     initJudgeUdp() | ||||||
|  |     // await this.getDataBaseTableFn() | ||||||
|  |     //下载模型 | ||||||
|  |     // await this.getModel() | ||||||
|  |     // const arr = [0x55, 0xaa, 0x01, 0x00, 0x02, 0x01, 0x03, 0x00] | ||||||
|  |     // globalThis.udpClientByTopLine.sendMsg(this.Array2Byte(arr).buffer) | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   getDeviceId() { |   getDeviceId() { | ||||||
| @ -280,6 +397,16 @@ struct Index { | |||||||
|           this.deviceId = result[0].deviceId |           this.deviceId = result[0].deviceId | ||||||
|           resolve(result[0].deviceId) |           resolve(result[0].deviceId) | ||||||
|         } else { |         } else { | ||||||
|  |           // deviceManager.createDeviceManager('com.example.udptest', (error, value) => { | ||||||
|  |           //   if (error) { | ||||||
|  |           //     console.error('createDeviceManager failed.'); | ||||||
|  |           //     return; | ||||||
|  |           //   } | ||||||
|  |           //   let dvMgrObj = value; | ||||||
|  |           //   globalThis.deviceNo=dvMgrObj.getLocalDeviceInfoSync().deviceName | ||||||
|  |           //   this.deviceId=globalThis.deviceNo | ||||||
|  |           //   resolve(dvMgrObj.getLocalDeviceInfoSync().deviceName) | ||||||
|  |           // }); | ||||||
|           resolve('') |           resolve('') | ||||||
|         } |         } | ||||||
|       }) |       }) | ||||||
| @ -293,6 +420,28 @@ struct Index { | |||||||
|     await getEsCarModel(context) |     await getEsCarModel(context) | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  |   async getDataBaseTableFn() { | ||||||
|  |     // getDataBaseTable({ tableName: 'MA_MARKRULE' }) | ||||||
|  |     // getDataBaseTable({ tableName: 'MA_SYSTEMPARM' }) | ||||||
|  |     // await getDataBaseTable({ tableName: 'MA_SYSSET' }) | ||||||
|  |     // await getMySystemSetTable({ tableName: 'MA_SYSSET' }) | ||||||
|  |     // | ||||||
|  |     // await getDataBaseTable({ tableName: 'MA_MAP_COLLECT' }) | ||||||
|  |     // await getDataBaseTable({ tableName: 'MA_MAP_COLLECT_SHAPE' }) | ||||||
|  |     // await getDataBaseTable({ tableName: 'MA_MAP_ITEMCLASS' }) | ||||||
|  |     // await getDataBaseTable({ tableName: 'MA_MAP_POINT' }) | ||||||
|  |     // await getDataBaseTable({ tableName: 'MA_MAP_POINT_ITEM' }) | ||||||
|  |     // await getDataBaseTable({ tableName: 'MA_MAP_ROAD' }) | ||||||
|  |     // await getDataBaseTable({ tableName: 'MA_MAP_ROAD_LANE' }) | ||||||
|  |     // await getDataBaseTable({ tableName: 'MA_MAP_SUBITEM' }) | ||||||
|  |     // await getDataBaseTable({ tableName: 'ES_CARINFO' }) | ||||||
|  |     // await getDataBaseTable({ tableName: 'ES_EXAMPOINTDETAIL' }) | ||||||
|  |     // await getDataBaseTable({ tableName: 'MA_MARKRULESET' }) | ||||||
|  |     // await getDataBaseTable({ tableName: 'ES_CAR_VIDEO_PARAMETER' }) | ||||||
|  |     // await getDataBaseTable({ tableName: 'MA_CDSBINFO' }) | ||||||
|  |     // await getDataBaseTable({ tableName: 'MA_ITEMINFO' }) | ||||||
|  |     // await getDataBaseTable({ tableName: 'MA_T_CARPARMSET' }) | ||||||
|  |   } | ||||||
| 
 | 
 | ||||||
|   async getCenterDataTable() { |   async getCenterDataTable() { | ||||||
|    const flag= await upDataZhongxinginitialization() |    const flag= await upDataZhongxinginitialization() | ||||||
| @ -320,8 +469,17 @@ struct Index { | |||||||
|             // getSyncData('MA_SYSSET') |             // getSyncData('MA_SYSSET') | ||||||
|              getDataBaseTable({ tableName: 'MA_SYSSET' }) |              getDataBaseTable({ tableName: 'MA_SYSSET' }) | ||||||
|           }) |           }) | ||||||
|  |           // array.map((res, i) => { | ||||||
|  |           //   db.deleteData(res, async () => { | ||||||
|  |           //     if (i == array.length - 1) { | ||||||
|  |           //       await getDataBaseTable({ tableName: 'MA_SYSSET' }) | ||||||
|  |           //       // await getMySystemSetTable({ tableName: 'MA_SYSSET' }) | ||||||
|  |           //     } | ||||||
|  |           //   }); | ||||||
|  |           // }) | ||||||
|         } else { |         } else { | ||||||
|           await getDataBaseTable({ tableName: 'MA_SYSSET' }) |           await getDataBaseTable({ tableName: 'MA_SYSSET' }) | ||||||
|  |           // await getMySystemSetTable({ tableName: 'MA_SYSSET' }) | ||||||
|         } |         } | ||||||
|         // console.log(markRuleParams) |         // console.log(markRuleParams) | ||||||
|       }) |       }) | ||||||
| @ -372,10 +530,46 @@ struct Index { | |||||||
|         return |         return | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|     this.loading = false |     this.loading = false | ||||||
|  |     // await getSyncData('MA_MARKRULE') | ||||||
|  |     // await getSyncData('MA_SYSTEMPARM') | ||||||
|  |     // await getSyncData('MA_MAP_COLLECT') | ||||||
|  |     // await getSyncData('MA_MAP_COLLECT_SHAPE') | ||||||
|  |     // await getSyncData('MA_MAP_ITEMCLASS') | ||||||
|  |     // await getSyncData('MA_MAP_POINT') | ||||||
|  |     // await getSyncData('MA_SYSTEMPARM') | ||||||
|  |     // await getSyncData('MA_MAP_POINT_ITEM') | ||||||
|  |     // await getSyncData('MA_MAP_POINT') | ||||||
|  |     // await getSyncData('MA_MAP_POINT_ITEM') | ||||||
|  |     // await getSyncData('MA_MAP_ROAD') | ||||||
|  |     // await getSyncData('MA_MAP_ROAD_LANE') | ||||||
|  |     // await getSyncData('MA_MAP_SUBITEM') | ||||||
|  |     // await getSyncData('ES_CARINFO') | ||||||
|  |     // await getSyncData('ES_EXAMPOINTDETAIL') | ||||||
|  |     // await getSyncData('MA_CDSBINFO') | ||||||
|  |     // await getSyncData('MA_T_CARPARMSET') | ||||||
|  |     // if(!flag){ | ||||||
|  | 
 | ||||||
|     router.pushUrl({ |     router.pushUrl({ | ||||||
|       url: 'pages/ExaminerLogin', |       url: 'pages/ExaminerLogin', | ||||||
|     }, router.RouterMode.Single); |     }, router.RouterMode.Single); | ||||||
|  |     //   return | ||||||
|  |     // } | ||||||
|  |     // await upDateTable({ tableName: 'MA_SYSSET' }) | ||||||
|  | 
 | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  |   termialCheck() { | ||||||
|  |     // if(!globalThis.deviceNo) { | ||||||
|  |     //   prompt.showToast({ | ||||||
|  |     //     message: '未能查询到当前车辆信息, 请先注册该车辆, 或者检查网络是否连接正常!', | ||||||
|  |     //     duration: 3000 | ||||||
|  |     //   }); | ||||||
|  |     // | ||||||
|  |     //   return false | ||||||
|  |     // } | ||||||
|  | 
 | ||||||
|  |     return true | ||||||
|  |   } | ||||||
| } | } | ||||||
| @ -62,7 +62,6 @@ struct Index { | |||||||
|     await this.initSysset(); |     await this.initSysset(); | ||||||
|     await this.initCDSBInfo() |     await this.initCDSBInfo() | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|     const {name,idCard,lsh,kszp} = this; |     const {name,idCard,lsh,kszp} = this; | ||||||
| 
 | 
 | ||||||
|     const fileLog = new FileLog(this.context); |     const fileLog = new FileLog(this.context); | ||||||
| @ -72,7 +71,8 @@ struct Index { | |||||||
| 
 | 
 | ||||||
|     //断点续考 |     //断点续考 | ||||||
|     await this.goDdxkItems() |     await this.goDdxkItems() | ||||||
|     // //初始化评判 | 
 | ||||||
|  |    //初始化评判 | ||||||
|     const judge = await this.initJudge(fileLog); |     const judge = await this.initJudge(fileLog); | ||||||
|     this.judge = judge |     this.judge = judge | ||||||
|   } |   } | ||||||
| @ -123,9 +123,11 @@ struct Index { | |||||||
|     //@ts-ignore |     //@ts-ignore | ||||||
|     const serialNumberArr = syssetParams.filter(sys => sys.v_no === '901'); |     const serialNumberArr = syssetParams.filter(sys => sys.v_no === '901'); | ||||||
|     this.serialNumber = (serialNumberArr[0] && serialNumberArr[0].v_value) || '123456' |     this.serialNumber = (serialNumberArr[0] && serialNumberArr[0].v_value) || '123456' | ||||||
|     // 211,603,660,671 | 
 | ||||||
|  |     //TODO 杭州用到的特殊评判参数  211,603,660,671 | ||||||
|     const judgeNumbers = ['211','603','660','671','606']; |     const judgeNumbers = ['211','603','660','671','606']; | ||||||
|     const judgeConfig = [] |     const judgeConfig = [] | ||||||
|  | 
 | ||||||
|     //@ts-ignore |     //@ts-ignore | ||||||
|     syssetParams.forEach((sys)=>{ |     syssetParams.forEach((sys)=>{ | ||||||
|       if(judgeNumbers.includes(sys.v_no)){ |       if(judgeNumbers.includes(sys.v_no)){ | ||||||
| @ -210,31 +212,6 @@ struct Index { | |||||||
|     }) |     }) | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   //获取项目信息 |  | ||||||
|   async initProjectInfo(){ |  | ||||||
|     const systemParamsArr = await getSyncData('MA_SYSTEMPARM') |  | ||||||
|     const itemInfoArr = await getSyncData('MA_ITEMINFO') |  | ||||||
|     //@ts-ignore |  | ||||||
|     const filterProjectsArr = systemParamsArr.filter(item => item.no1 == 6) |  | ||||||
|     testAllitems.map(project => { |  | ||||||
|       //TODO 临时代码 |  | ||||||
|       const currentProject = { |  | ||||||
|         name:(project.name), |  | ||||||
|         abbreviation:(project.abbreviation), |  | ||||||
|         projectCode:(project.projectCode), |  | ||||||
|         projectCodeCenter:(project.projectCodeCenter), |  | ||||||
|         sbxh:project.type |  | ||||||
|         // type:project.type |  | ||||||
|       } |  | ||||||
|       this.projectsObj[project.projectCode] = currentProject |  | ||||||
|       this.projectsCenterObj[project.projectCodeCenter] = currentProject |  | ||||||
|       return currentProject |  | ||||||
|     }); |  | ||||||
|     //@ts-ignore |  | ||||||
|     //TODO 临时代码待替换 |  | ||||||
|     this.projects = testUIAllitems |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   // 评判相关初始化 |   // 评判相关初始化 | ||||||
|   async initJudge(fileLog){ |   async initJudge(fileLog){ | ||||||
|     const judge = new Judge(this,fileLog); |     const judge = new Judge(this,fileLog); | ||||||
| @ -246,11 +223,14 @@ struct Index { | |||||||
|     }); |     }); | ||||||
|     return judge |     return judge | ||||||
|   } |   } | ||||||
|  | 
 | ||||||
|   // 断点续考判断 |   // 断点续考判断 | ||||||
|   async goDdxkItems(){ |   async goDdxkItems(){ | ||||||
|     //断点续考判断 |     //断点续考判断 | ||||||
|     let currentParams:any = router.getParams(); |     let currentParams:any = router.getParams(); | ||||||
|     const examItems:string = currentParams?.examItems; |     const examItems:string = currentParams?.examItems; | ||||||
|  |     // 2024-01-03 16:29:26;0;20300,;2,4`^;null; | ||||||
|  | 
 | ||||||
|     if(examItems !== '' && examItems !== undefined){ |     if(examItems !== '' && examItems !== undefined){ | ||||||
|       const examItemsArrs = examItems.split(';'); |       const examItemsArrs = examItems.split(';'); | ||||||
|       const startTime = examItemsArrs[0] |       const startTime = examItemsArrs[0] | ||||||
|  | |||||||
| @ -1,15 +1,30 @@ | |||||||
| //@ts-ignore | //@ts-ignore | ||||||
|  | import camera from '@ohos.multimedia.camera'; | ||||||
|  | import image from '@ohos.multimedia.image' | ||||||
| import util from '@ohos.util'; | import util from '@ohos.util'; | ||||||
|  | import { writeFile } from '../../common/service/fileService' | ||||||
|  | import TopLogo from '../compontents/topLogo' | ||||||
|  | import { cameraService } from '../../common/service/cameraService' | ||||||
| import { voiceService } from '../../common/service/voiceService' | import { voiceService } from '../../common/service/voiceService' | ||||||
| import { faceCompare } from '../../api/userInfo' | import { faceCompare } from '../../api/userInfo' | ||||||
| import prompt from '@ohos.prompt' | import prompt from '@ohos.prompt' | ||||||
|  | import grantPermission from '../../common/utils/PermissionUtils'; | ||||||
|  | import CameraModel from '../../common/service/CameraModel'; | ||||||
| import FileUtil from '../../common/utils/File' | import FileUtil from '../../common/utils/File' | ||||||
| import { VideoConfig } from '../interfaces' | import { VideoConfig } from '../interfaces' | ||||||
| import common from '@ohos.app.ability.common'; | import common from '@ohos.app.ability.common'; | ||||||
| import fs from '@ohos.file.fs' | import fs from '@ohos.file.fs' | ||||||
| import onvifclient from '@ohos.onvifclient'; | import onvifclient from '@ohos.onvifclient'; | ||||||
|  | import buffer from '@ohos.buffer'; | ||||||
| import mediaLibrary from '@ohos.multimedia.mediaLibrary' | import mediaLibrary from '@ohos.multimedia.mediaLibrary' | ||||||
| import {string2Bytes} from '../../common/utils/tools' | 
 | ||||||
|  | // import MediaModel from '../../common/utils/MediaModel'; | ||||||
|  | let previewWidth; | ||||||
|  | let previewHeight; | ||||||
|  | 
 | ||||||
|  | const PERMISSIONS: Array<string> = [ | ||||||
|  |   'ohos.permission.CAMERA'] | ||||||
|  | 
 | ||||||
| @Component | @Component | ||||||
| struct FaceCompare { | struct FaceCompare { | ||||||
|   constructor() { |   constructor() { | ||||||
| @ -32,7 +47,9 @@ struct FaceCompare { | |||||||
|   @State callBackFlag:boolean=false; |   @State callBackFlag:boolean=false; | ||||||
|   @State @Watch('changefaceCompareSucess') showFaceCompare2: Boolean = false; |   @State @Watch('changefaceCompareSucess') showFaceCompare2: Boolean = false; | ||||||
| 
 | 
 | ||||||
|  |   private surfaceId: string = ''; | ||||||
|   @State video_url: string = 'rtsp://admin:12345qwe@192.168.5.41:8000/h264/ch2/main/av_stream' |   @State video_url: string = 'rtsp://admin:12345qwe@192.168.5.41:8000/h264/ch2/main/av_stream' | ||||||
|  |   private fileAsset: mediaLibrary.FileAsset = undefined; | ||||||
|   @State previewUri: Resource = $r('app.media.2_nor') |   @State previewUri: Resource = $r('app.media.2_nor') | ||||||
|   @State curRate: PlaybackSpeed = PlaybackSpeed.Speed_Forward_1_00_X |   @State curRate: PlaybackSpeed = PlaybackSpeed.Speed_Forward_1_00_X | ||||||
|   @State showControls: boolean = false |   @State showControls: boolean = false | ||||||
| @ -41,7 +58,7 @@ struct FaceCompare { | |||||||
|   @State signNum: number = 0; |   @State signNum: number = 0; | ||||||
|   private fileUtil: FileUtil |   private fileUtil: FileUtil | ||||||
|   private interval: any |   private interval: any | ||||||
|   // private mediaTest: mediaLibrary.MediaLibrary = mediaLibrary.getMediaLibrary(globalThis.abilityContext) |   private mediaTest: mediaLibrary.MediaLibrary = mediaLibrary.getMediaLibrary(globalThis.abilityContext) | ||||||
|   private fd: number = -1; |   private fd: number = -1; | ||||||
|   @State param: VideoConfig = { |   @State param: VideoConfig = { | ||||||
|     spls: '', |     spls: '', | ||||||
| @ -211,11 +228,23 @@ struct FaceCompare { | |||||||
|   } |   } | ||||||
|   getqkFn(){ |   getqkFn(){ | ||||||
|     let tmpList = []; |     let tmpList = []; | ||||||
|     tmpList.push(string2Bytes(globalThis.signNum, 1 * 8)[0]) |     // const str =globalThis.signNum | ||||||
|  |     // for (let i = 0;i < str.length; i++) { | ||||||
|  |     //   tmpList.push(this.string2Bytes(str.charCodeAt(i), 1 * 8)[0]) | ||||||
|  |     // } | ||||||
|  |     // const arr = [globalThis.signNum||0, globalThis.statue||1] | ||||||
|  |     // let tmpList = []; | ||||||
|  |     tmpList.push(this.string2Bytes(globalThis.signNum, 1 * 8)[0]) | ||||||
|     const param= {id: 41,list:tmpList,carNo: globalThis.carInfo.carNo,placeId: globalThis.carInfo.examinationRoomId} |     const param= {id: 41,list:tmpList,carNo: globalThis.carInfo.carNo,placeId: globalThis.carInfo.examinationRoomId} | ||||||
|  | 
 | ||||||
|     globalThis.udpClient2.sendMsg(param, this.context) |     globalThis.udpClient2.sendMsg(param, this.context) | ||||||
|   } |   } | ||||||
|   async faceComparFn() { |   async faceComparFn() { | ||||||
|  |     var loginInfo1 = { | ||||||
|  |       host: `http://${this.param.ip}:80`, user: "administrator", pass: this.param.pwd } | ||||||
|  |     // var file_dir = "/data/service/el1/public/netmanager/ethernet/"; | ||||||
|  |     // var result3 = onvifclient.getVideoSnapshot(loginInfo1, video_uri, file_dir); | ||||||
|  |     // console.info(`baoyihu endRecordVideo  result:` + result3.result + `  pictureFile:` + result3.dataString); | ||||||
|     var mediaTest = mediaLibrary.getMediaLibrary(this.context); |     var mediaTest = mediaLibrary.getMediaLibrary(this.context); | ||||||
|     let mediaType = mediaLibrary.MediaType.IMAGE; |     let mediaType = mediaLibrary.MediaType.IMAGE; | ||||||
|     let DIR_DOCUMENTS = mediaLibrary.DirectoryType.DIR_IMAGE; |     let DIR_DOCUMENTS = mediaLibrary.DirectoryType.DIR_IMAGE; | ||||||
| @ -229,6 +258,7 @@ struct FaceCompare { | |||||||
|           var result3 = onvifclient.getVideoSnapshot(`rtsp://${this.param.userName}:${this.param.pwd}@${this.param.ip}:${this.param.port}/h264/ch${this.param.rlls}/main/av_stream`, file_path, fd); |           var result3 = onvifclient.getVideoSnapshot(`rtsp://${this.param.userName}:${this.param.pwd}@${this.param.ip}:${this.param.port}/h264/ch${this.param.rlls}/main/av_stream`, file_path, fd); | ||||||
|           fs.closeSync(fd); |           fs.closeSync(fd); | ||||||
|           asset.close(fd); |           asset.close(fd); | ||||||
|  |           // let filePath = pathDir + "/test.txt"; | ||||||
|           fs.lstat(file_path).then((stat) => { |           fs.lstat(file_path).then((stat) => { | ||||||
|             console.info("get link status succeed, the size of file is" + stat.size); |             console.info("get link status succeed, the size of file is" + stat.size); | ||||||
|             let file = fs.openSync(file_path, fs.OpenMode.READ_WRITE); |             let file = fs.openSync(file_path, fs.OpenMode.READ_WRITE); | ||||||
| @ -304,7 +334,7 @@ struct FaceCompare { | |||||||
|     let tmpList=[] |     let tmpList=[] | ||||||
|     const str =this.lsh |     const str =this.lsh | ||||||
|     for (let i = 0;i < str.length; i++) { |     for (let i = 0;i < str.length; i++) { | ||||||
|       tmpList.push(string2Bytes(str.charCodeAt(i), 1 * 8)[0]) |       tmpList.push(this.string2Bytes(str.charCodeAt(i), 1 * 8)[0]) | ||||||
|     } |     } | ||||||
|     const param = { id: 46, list: tmpList, carNo: globalThis.carInfo.carNo, placeId: globalThis.carInfo.examinationRoomId,callback:()=>{ |     const param = { id: 46, list: tmpList, carNo: globalThis.carInfo.carNo, placeId: globalThis.carInfo.examinationRoomId,callback:()=>{ | ||||||
|       console.log('46send') |       console.log('46send') | ||||||
| @ -461,7 +491,50 @@ struct FaceCompare { | |||||||
|       } |       } | ||||||
|     }) |     }) | ||||||
|   } |   } | ||||||
|  |   fillZero(str, len) { | ||||||
|  |     str = str + ''; | ||||||
|  |     if (str.length > len || !len) { | ||||||
|  |       return str | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     let num = len - str.length; | ||||||
|  |     let zeroStr = ''; | ||||||
|  |     for (var i = 0; i < num; i++) { | ||||||
|  |       zeroStr = zeroStr + '0' | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     return zeroStr + str; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // takePictureHandle = (thumbnail: string) => { | ||||||
|  |   //   this.imageThumbnail = thumbnail; | ||||||
|  |   // }; | ||||||
|  |   string2Bytes(number, len) { | ||||||
|  |     // console.log('string2Bytes == ', number) | ||||||
|  |     let  str = (+number).toString(2); | ||||||
|  |     if(str.length > len) { | ||||||
|  |       console.log('数据长度不对~~'); | ||||||
|  |       return | ||||||
|  |     } | ||||||
|  |     var byteString = this.fillZero(str, len); | ||||||
|  | 
 | ||||||
|  |     var arrBytes = new Array(); | ||||||
|  |     for (var i = byteString.length; i > 0;) { | ||||||
|  |       let j = i - 8; | ||||||
|  |       if (j < 0) { | ||||||
|  |         j = 0 | ||||||
|  |       } | ||||||
|  |       var s = byteString.slice(j, i); | ||||||
|  |       var v = parseInt(s, 2); | ||||||
|  |       arrBytes.push(v); | ||||||
|  |       i = i - 8 | ||||||
|  | 
 | ||||||
|  |     } | ||||||
|  |     return arrBytes; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   async aboutToDisappear() { |   async aboutToDisappear() { | ||||||
|  |     // this.mediaModel = MediaModel.getMediaInstance(); | ||||||
| 
 | 
 | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -5,7 +5,6 @@ import { voiceService } from '../../common/service/voiceService' | |||||||
| import prompt from '@ohos.prompt' | import prompt from '@ohos.prompt' | ||||||
| import SerialPortClient from '../../common/utils/SerialPortClient' | import SerialPortClient from '../../common/utils/SerialPortClient' | ||||||
| import RealTime from '../compontents/judge/real-time' | import RealTime from '../compontents/judge/real-time' | ||||||
| 
 |  | ||||||
| @Component | @Component | ||||||
| struct SignDisplayCom { | struct SignDisplayCom { | ||||||
|   constructor() { |   constructor() { | ||||||
|  | |||||||
| @ -12,7 +12,7 @@ interface Params{ | |||||||
|   rlls:string |   rlls:string | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export default class PhotoModel{ | export default class FilePhoto{ | ||||||
| 
 | 
 | ||||||
|   private params:Params |   private params:Params | ||||||
|   private context:any |   private context:any | ||||||
|  | |||||||
| @ -111,11 +111,11 @@ export default class JudgeData{ | |||||||
|         ljmc:p[24], lcmc:0,  csbzh:p[32], csbyh:p[30], csbyq:p[31], csbzq:p[29], zy:0,  tbp:0,  hsj:0,  dcj:0, gx:0, yl:0 |         ljmc:p[24], lcmc:0,  csbzh:p[32], csbyh:p[30], csbyq:p[31], csbzq:p[29], zy:0,  tbp:0,  hsj:0,  dcj:0, gx:0, yl:0 | ||||||
|       }, |       }, | ||||||
|       gps:{ |       gps:{ | ||||||
|         //TODO 办卡类型    定位差分状态
 |         //办卡类型    定位差分状态
 | ||||||
|         bklx:p[56], dwzt:p[83], |         bklx:p[56], dwzt:p[83], | ||||||
|         //@ts-ignore 角度差分状态
 |         //@ts-ignore 角度差分状态
 | ||||||
|         jdzt:p[92].split('-')[0]*1, |         jdzt:p[92].split('-')[0]*1, | ||||||
|         //TODO gps数据
 |         //gps数据
 | ||||||
|         //gps时间 经度      纬度       航向角      俯仰角      海拔高       高度差     速度
 |         //gps时间 经度      纬度       航向角      俯仰角      海拔高       高度差     速度
 | ||||||
|         sj:time, jd:p[96], wd:p[95], hxj:p[90], fyj:p[91], hbg:p[85], gdc:p[86], sd:p[97], |         sj:time, jd:p[96], wd:p[95], hxj:p[90], fyj:p[91], hbg:p[85], gdc:p[86], sd:p[97], | ||||||
|         //龄期      经度因子     纬度因子      定位搜星数
 |         //龄期      经度因子     纬度因子      定位搜星数
 | ||||||
|  | |||||||
| @ -17,10 +17,9 @@ export default class JudgeTask{ | |||||||
|         try { |         try { | ||||||
|           await currentTask(); |           await currentTask(); | ||||||
|         }catch (e){ |         }catch (e){ | ||||||
|           // TODO 优化
 |           console.info(TAG,'过程数据接口解析错误') | ||||||
|           console.info(TAG,'鸿蒙:过程数据接口解析错误') |  | ||||||
|           prompt.showToast({ |           prompt.showToast({ | ||||||
|             message: '鸿蒙:过程数据接口解析错误', |             message: '过程数据接口解析错误', | ||||||
|             duration: 3000 |             duration: 3000 | ||||||
|           }); |           }); | ||||||
|         } |         } | ||||||
| @ -31,12 +30,12 @@ export default class JudgeTask{ | |||||||
|       this.status = 'end' |       this.status = 'end' | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  | 
 | ||||||
|   addTask = async (fn) =>{ |   addTask = async (fn) =>{ | ||||||
|     this.queue.push(fn); |     this.queue.push(fn); | ||||||
|     if(this.status == 'end' && this.queue.length === 1){ |     if(this.status == 'end' && this.queue.length === 1){ | ||||||
|       await this.executeQueue(); |       await this.executeQueue(); | ||||||
|     } |     } | ||||||
| 
 |  | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
|  | |||||||
| @ -48,7 +48,6 @@ const judgeTag = 'SURENJUN_JUDGE' | |||||||
| export default class Judge{ | export default class Judge{ | ||||||
| 
 | 
 | ||||||
|   constructor(judgeUI,fileLog) { |   constructor(judgeUI,fileLog) { | ||||||
|     this.totalScore = 0; |  | ||||||
|     this.serialIndex = 1; |     this.serialIndex = 1; | ||||||
|     this.judgeUI = judgeUI |     this.judgeUI = judgeUI | ||||||
|     this.fileLog = fileLog; |     this.fileLog = fileLog; | ||||||
| @ -67,11 +66,9 @@ export default class Judge{ | |||||||
|     this.xmmcCode = ''; |     this.xmmcCode = ''; | ||||||
|     this.carztStr = ''; |     this.carztStr = ''; | ||||||
|     this.allKm2ItemsObj = {}; |     this.allKm2ItemsObj = {}; | ||||||
|     this.isTrajectoryOpen = false; |  | ||||||
|     this.modelPath = 'models/model_enc' |     this.modelPath = 'models/model_enc' | ||||||
|     this.trajectoryPath = '/logs/2024_01_18/2230201333925_330802200407086520_吴雪娥_2024_01_18_10_39_40/judge_exam_data.txt'; |     this.isTrajectoryOpen = true; | ||||||
|     //1234236633488_679417917543435904_尹立曙_2024_01_15_19_27_56
 |     this.trajectoryPath = '/logs/2024_01_24/2024_01_24_11_30_06_2210707689316_620502199005070478_马鸣五/judge_exam_data.txt'; | ||||||
|     //2230201333925_330802200407086520_吴雪娥_2024_01_18_10_39_40
 |  | ||||||
|     this.isExam = !globalThis.singlePlay; |     this.isExam = !globalThis.singlePlay; | ||||||
|     const {projectsCenterObj} = judgeUI |     const {projectsCenterObj} = judgeUI | ||||||
| 
 | 
 | ||||||
| @ -113,10 +110,12 @@ export default class Judge{ | |||||||
| 
 | 
 | ||||||
|     //日志回调
 |     //日志回调
 | ||||||
|     console.info(judgeTag,'1.进入评判入口') |     console.info(judgeTag,'1.进入评判入口') | ||||||
|  | 
 | ||||||
|     await examJudgeSetLogCallback(3, async (level, info,len)=>{ |     await examJudgeSetLogCallback(3, async (level, info,len)=>{ | ||||||
|       console.log('评判日志:' + info) |       console.log('评判日志:' + info) | ||||||
|       await fileLog.setExamJudgeLogData(info); |       await fileLog.setExamJudgeLogData(info); | ||||||
|     }) |     }) | ||||||
|  | 
 | ||||||
|     console.info(judgeTag,'2.注册日志回调完成') |     console.info(judgeTag,'2.注册日志回调完成') | ||||||
| 
 | 
 | ||||||
|     //相关评判初始化只做一次
 |     //相关评判初始化只做一次
 | ||||||
| @ -135,6 +134,7 @@ export default class Judge{ | |||||||
|       const initInfo = await this.getJudgeInitData(); |       const initInfo = await this.getJudgeInitData(); | ||||||
|       await fileLog.setExamJudgeData(initInfo) |       await fileLog.setExamJudgeData(initInfo) | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|     globalThis.isJudge = true |     globalThis.isJudge = true | ||||||
|     // 2.评判过程回调
 |     // 2.评判过程回调
 | ||||||
|     await examJudgeSetRealExamCallback(async (strData,len)=>{ |     await examJudgeSetRealExamCallback(async (strData,len)=>{ | ||||||
| @ -159,7 +159,6 @@ export default class Judge{ | |||||||
|     await examJudgeBeginExam(beginExamInfo); |     await examJudgeBeginExam(beginExamInfo); | ||||||
|     console.info(judgeTag,'6.开始考试注册完成') |     console.info(judgeTag,'6.开始考试注册完成') | ||||||
| 
 | 
 | ||||||
|     // sendGreen()
 |  | ||||||
|     //实时plc数据信号
 |     //实时plc数据信号
 | ||||||
|     // let open = true;
 |     // let open = true;
 | ||||||
|     if(isTrajectoryOpen){ |     if(isTrajectoryOpen){ | ||||||
| @ -174,7 +173,6 @@ export default class Judge{ | |||||||
|           clearInterval(judgeTimer) |           clearInterval(judgeTimer) | ||||||
|           return |           return | ||||||
|         } |         } | ||||||
|         const {totalScore} = this; |  | ||||||
|         // 4.过程数据
 |         // 4.过程数据
 | ||||||
|         this.tempData = msg |         this.tempData = msg | ||||||
|         this.plcData= msg |         this.plcData= msg | ||||||
| @ -193,7 +191,6 @@ export default class Judge{ | |||||||
|         return |         return | ||||||
|       } |       } | ||||||
|       const plcData = await getPlcData(msg); |       const plcData = await getPlcData(msg); | ||||||
|       const {totalScore} = this; |  | ||||||
|       // 4.过程数据
 |       // 4.过程数据
 | ||||||
|       await fileLog.setExamJudgeData(plcData) |       await fileLog.setExamJudgeData(plcData) | ||||||
|       await examJudgeRealExam(plcData) |       await examJudgeRealExam(plcData) | ||||||
| @ -282,7 +279,7 @@ export default class Judge{ | |||||||
|     }); |     }); | ||||||
|     const copyProjectsObj = this.judgeUI.projectsObj; |     const copyProjectsObj = this.judgeUI.projectsObj; | ||||||
| 
 | 
 | ||||||
|     //语音播报 & 发送中心接口
 |     //语音播报
 | ||||||
|     this.goVoiceAnnounce(event,xmdm, this.kfArr,xmjs) |     this.goVoiceAnnounce(event,xmdm, this.kfArr,xmjs) | ||||||
|     judgeUI.projectsObj = deepClone(copyProjectsObj) |     judgeUI.projectsObj = deepClone(copyProjectsObj) | ||||||
|   } |   } | ||||||
| @ -365,7 +362,7 @@ export default class Judge{ | |||||||
|     } |     } | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   //当前项目转换
 |   // 当前项目转换
 | ||||||
|   getDqxmStr = (type) => { |   getDqxmStr = (type) => { | ||||||
|     const projectsObj = this.judgeUI.projectsObj |     const projectsObj = this.judgeUI.projectsObj | ||||||
|     if(projectsObj){ |     if(projectsObj){ | ||||||
| @ -616,7 +613,6 @@ export default class Judge{ | |||||||
|       this.isJudgeDisConnect = true; |       this.isJudgeDisConnect = true; | ||||||
|     } |     } | ||||||
|     const isJudgeDisConnect = this.isJudgeDisConnect; |     const isJudgeDisConnect = this.isJudgeDisConnect; | ||||||
|     // isJudgeDisConnect ? fileLog.setExamJudgeDisWuxiProgressData(data) : fileLog.setExamJudgeWuxiData(data)
 |  | ||||||
|     let toast = ''; |     let toast = ''; | ||||||
|     switch (code){ |     switch (code){ | ||||||
|       case -1:toast = '无当前科目考试信息';break; |       case -1:toast = '无当前科目考试信息';break; | ||||||
| @ -926,11 +922,11 @@ export default class Judge{ | |||||||
|         ljmc:p[24], lcmc:0,  csbzh:p[32], csbyh:p[30], csbyq:p[31], csbzq:p[29], zy:0,  tbp:0,  hsj:0,  dcj:0, gx:0, yl:0 |         ljmc:p[24], lcmc:0,  csbzh:p[32], csbyh:p[30], csbyq:p[31], csbzq:p[29], zy:0,  tbp:0,  hsj:0,  dcj:0, gx:0, yl:0 | ||||||
|       }, |       }, | ||||||
|       gps:{ |       gps:{ | ||||||
|         //TODO 办卡类型    定位差分状态
 |         //办卡类型    定位差分状态
 | ||||||
|         bklx:p[56], dwzt:p[83], |         bklx:p[56], dwzt:p[83], | ||||||
|         //@ts-ignore 角度差分状态
 |         //@ts-ignore 角度差分状态
 | ||||||
|         jdzt:p[92].split('-')[0]*1, |         jdzt:p[92].split('-')[0]*1, | ||||||
|         //TODO gps数据
 |         //gps数据
 | ||||||
|         //gps时间 经度      纬度       航向角      俯仰角      海拔高       高度差     速度
 |         //gps时间 经度      纬度       航向角      俯仰角      海拔高       高度差     速度
 | ||||||
|         sj:time, jd:p[96], wd:p[95], hxj:p[90], fyj:p[91], hbg:p[85], gdc:p[86], sd:p[97], |         sj:time, jd:p[96], wd:p[95], hxj:p[90], fyj:p[91], hbg:p[85], gdc:p[86], sd:p[97], | ||||||
|         //龄期      经度因子     纬度因子      定位搜星数
 |         //龄期      经度因子     纬度因子      定位搜星数
 | ||||||
| @ -1064,7 +1060,6 @@ export default class Judge{ | |||||||
|   //考试是否结束了
 |   //考试是否结束了
 | ||||||
|   private isEnd:boolean |   private isEnd:boolean | ||||||
|   //UDP服务序列号
 |   //UDP服务序列号
 | ||||||
|   private serialNumber:number |  | ||||||
|   private serialIndex:number |   private serialIndex:number | ||||||
|   private fileUtil:FileUtil |   private fileUtil:FileUtil | ||||||
|   private judgeTask:JudgeTask |   private judgeTask:JudgeTask | ||||||
|  | |||||||
| @ -62,12 +62,6 @@ export default class FileLog { | |||||||
|     await fileUtil.editFile(`${folderPath}/wuxi_dis_progress_data.txt`,str); |     await fileUtil.editFile(`${folderPath}/wuxi_dis_progress_data.txt`,str); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   // // 读取断点续考无锡过程数据
 |  | ||||||
|   // public readExamJudgeDisWuxiProgressData = async () =>{
 |  | ||||||
|   //   const {fileUtil,folderPath} = this;
 |  | ||||||
|   //   await fileUtil.readFile(`${folderPath}/wuxi_dis_progress_data.txt`);
 |  | ||||||
|   // }
 |  | ||||||
| 
 |  | ||||||
|   // plc文件数据
 |   // plc文件数据
 | ||||||
|   public setPlcProgressData = async (str:string) => { |   public setPlcProgressData = async (str:string) => { | ||||||
|     const {fileUtil,folderPath} = this; |     const {fileUtil,folderPath} = this; | ||||||
|  | |||||||
| @ -12,7 +12,7 @@ interface Params{ | |||||||
|   rlls:string |   rlls:string | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export default class PhotoModel{ | export default class FilePhoto{ | ||||||
| 
 | 
 | ||||||
|   private params:Params |   private params:Params | ||||||
|   private context:any |   private context:any | ||||||
| @ -41,6 +41,7 @@ export default class PhotoModel{ | |||||||
|     let mediaType = mediaLibrary.MediaType.IMAGE; |     let mediaType = mediaLibrary.MediaType.IMAGE; | ||||||
|     let DIR_DOCUMENTS = mediaLibrary.DirectoryType.DIR_IMAGE; |     let DIR_DOCUMENTS = mediaLibrary.DirectoryType.DIR_IMAGE; | ||||||
|     const path = await mediaTest.getPublicDirectory(DIR_DOCUMENTS); |     const path = await mediaTest.getPublicDirectory(DIR_DOCUMENTS); | ||||||
|  | 
 | ||||||
|     return new Promise(async (resolve)=>{ |     return new Promise(async (resolve)=>{ | ||||||
|       mediaTest.createAsset(mediaType, 'judge_face.jpg', path,(error,asset)=>{ |       mediaTest.createAsset(mediaType, 'judge_face.jpg', path,(error,asset)=>{ | ||||||
|         asset.open('rw', (error, fd) => { |         asset.open('rw', (error, fd) => { | ||||||
|  | |||||||
| @ -1,4 +1,6 @@ | |||||||
| import { getExaminationItem, getExaminationStudentInfo, examinationStuAbsent,getPhotosForOther } from '../api/userInfo' | import { getExaminationItem, getExaminationStudentInfo, examinationStuAbsent,getPhotosForOther } from '../api/userInfo' | ||||||
|  | import { voiceService } from '../common/service/voiceService' | ||||||
|  | 
 | ||||||
| import router from '@ohos.router' | import router from '@ohos.router' | ||||||
| import TopLogo from './compontents/topLogo' | import TopLogo from './compontents/topLogo' | ||||||
| import Md5 from '../common/utils/md5'; | import Md5 from '../common/utils/md5'; | ||||||
| @ -7,16 +9,22 @@ import USER from '../common/constants/USER'; | |||||||
| import { dateFormat,getCurrentTime } from '../common/utils/tools'; | import { dateFormat,getCurrentTime } from '../common/utils/tools'; | ||||||
| import MA_SYSSET from '../common//constants/MA_SYSSET'; | import MA_SYSSET from '../common//constants/MA_SYSSET'; | ||||||
| import FaceCompare from './compontents/faceCompareByhaikang' | import FaceCompare from './compontents/faceCompareByhaikang' | ||||||
|  | import ethernet from '@ohos.net.ethernet'; | ||||||
| import prompt from '@ohos.prompt' | import prompt from '@ohos.prompt' | ||||||
| import {initJudgeUdp} from '../common/utils/UdpJudge' | import {initJudgeUdp} from '../common/utils/UdpJudge' | ||||||
|  | // import testNapi from "@ohos.idcard"; | ||||||
|  | import CommonEvent from '@ohos.commonEventManager'; | ||||||
| // @ts-ignore | // @ts-ignore | ||||||
| import {writeObjectOut} from '../api/judge' | import {writeObjectOut} from '../api/judge' | ||||||
| import testNapi from "@ohos.idcard"; | import testNapi from "@ohos.idcard"; | ||||||
|  | import mediaLibrary from '@ohos.multimedia.mediaLibrary' | ||||||
|  | import fs from '@ohos.file.fs' | ||||||
| import FileUtil from '../common/utils/File' | import FileUtil from '../common/utils/File' | ||||||
| import common from '@ohos.app.ability.common'; | import common from '@ohos.app.ability.common'; | ||||||
|  | import onvifclient from '@ohos.onvifclient'; | ||||||
|  | import util from '@ohos.util'; | ||||||
| import { VideoConfig } from './interfaces' | import { VideoConfig } from './interfaces' | ||||||
| import WebRTCVoice from './webRTC/' | import WebRTCVoice from './webRTC/' | ||||||
| import {string2Bytes} from '../common/utils/tools' |  | ||||||
| @Entry | @Entry | ||||||
| @Component | @Component | ||||||
| struct Index { | struct Index { | ||||||
| @ -95,6 +103,7 @@ struct Index { | |||||||
|   @State effectDate: string = ''; |   @State effectDate: string = ''; | ||||||
|   @State interval: any = null; |   @State interval: any = null; | ||||||
|   @State interval2: any = null; |   @State interval2: any = null; | ||||||
|  |   @State interval3: any = null; | ||||||
|   @State studentRefreshStatue: string = '0'; |   @State studentRefreshStatue: string = '0'; | ||||||
|   @State photo: string = 'data:image/bmp;base64,'; |   @State photo: string = 'data:image/bmp;base64,'; | ||||||
|   @State numCount: number = 0; |   @State numCount: number = 0; | ||||||
| @ -143,6 +152,8 @@ struct Index { | |||||||
|     this.numCount=0 |     this.numCount=0 | ||||||
|     const fileUtil = new FileUtil(this.context) |     const fileUtil = new FileUtil(this.context) | ||||||
|     this.fileUtil = fileUtil |     this.fileUtil = fileUtil | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|     globalThis.udpClient2&&globalThis.udpClient2.onMessage((val)=>{ |     globalThis.udpClient2&&globalThis.udpClient2.onMessage((val)=>{ | ||||||
|       console.log('valvaltotol2',val.id,val.body,val.length) |       console.log('valvaltotol2',val.id,val.body,val.length) | ||||||
| 
 | 
 | ||||||
| @ -156,8 +167,25 @@ struct Index { | |||||||
|           this.signNum=val.body[1] |           this.signNum=val.body[1] | ||||||
|         } |         } | ||||||
|       }else if(val.id=='48'){ |       }else if(val.id=='48'){ | ||||||
|  |         console.log('valvalkkkk',val.body) | ||||||
|  |         // if(val.body[13]=='1'){ | ||||||
|  |         //   this.faceCompareSucess=1 | ||||||
|  |         //   console.log('ttt111') | ||||||
|  |         //   // clearInterval(this.interval) | ||||||
|  |         //   this.facePass() | ||||||
|  |         // } | ||||||
|       }else if(val.id=='42'){ |       }else if(val.id=='42'){ | ||||||
|  |         console.log('qkfnqkfn',val.body[0]) | ||||||
|         this.qkFn() |         this.qkFn() | ||||||
|  |         // this.getExaminationStudentInfoFn() | ||||||
|  |         // const arr = [globalThis.signNum,1]; | ||||||
|  |         // let tmpList = []; | ||||||
|  |         // tmpList.push(this.string2Bytes(arr[0], 1 * 8)[0]) | ||||||
|  |         // tmpList.push(this.string2Bytes(arr[1], 1 * 8)[0]) | ||||||
|  |         // | ||||||
|  |         // const param= {id: 41,list:tmpList,carNo: globalThis.carInfo.carNo,placeId: globalThis.carInfo.examinationRoomId} | ||||||
|  |         // | ||||||
|  |         // globalThis.udpClient2.sendMsg(param, this.context) | ||||||
|       } |       } | ||||||
|     }) |     }) | ||||||
|     // 应用启动时打开读卡设备 |     // 应用启动时打开读卡设备 | ||||||
| @ -168,6 +196,19 @@ struct Index { | |||||||
|     } else { |     } else { | ||||||
|       console.error("zzctest Failed to Open Device"); |       console.error("zzctest Failed to Open Device"); | ||||||
|     } |     } | ||||||
|  |     // this.vocObj = new voiceService(async (status,val) => { | ||||||
|  |     //   if (status == 'idle') { | ||||||
|  |     //     if(val==='ksks.WAV'){ | ||||||
|  |     //       router.pushUrl({ | ||||||
|  |     //         url: 'pages/Judge', | ||||||
|  |     //         params:{examItems:this.examItems} | ||||||
|  |     //       }, router.RouterMode.Single); | ||||||
|  |     //       globalThis.statue=4 | ||||||
|  |     //       this.vocObj&&this.vocObj.releasePlayer() | ||||||
|  |     //     } | ||||||
|  |     //   } | ||||||
|  |     // }); | ||||||
|  | 
 | ||||||
|     if(globalThis.singlePlay){ |     if(globalThis.singlePlay){ | ||||||
|       this.list=[ |       this.list=[ | ||||||
|         { |         { | ||||||
| @ -400,7 +441,7 @@ struct Index { | |||||||
|   } |   } | ||||||
|   getqkFn(){ |   getqkFn(){ | ||||||
|     let tmpList = []; |     let tmpList = []; | ||||||
|     tmpList.push(string2Bytes(globalThis.signNum, 1 * 8)[0]) |     tmpList.push(this.string2Bytes(globalThis.signNum, 1 * 8)[0]) | ||||||
|     const param= {id: 41,list:tmpList,carNo: globalThis.carInfo.carNo,placeId: globalThis.carInfo.examinationRoomId} |     const param= {id: 41,list:tmpList,carNo: globalThis.carInfo.carNo,placeId: globalThis.carInfo.examinationRoomId} | ||||||
| 
 | 
 | ||||||
|     globalThis.udpClient2.sendMsg(param, this.context) |     globalThis.udpClient2.sendMsg(param, this.context) | ||||||
| @ -409,7 +450,7 @@ struct Index { | |||||||
|     let tmpList=[] |     let tmpList=[] | ||||||
|     const str =globalThis.lsh |     const str =globalThis.lsh | ||||||
|     for (let i = 0;i < str.length; i++) { |     for (let i = 0;i < str.length; i++) { | ||||||
|       tmpList.push(string2Bytes(str.charCodeAt(i), 1 * 8)[0]) |       tmpList.push(this.string2Bytes(str.charCodeAt(i), 1 * 8)[0]) | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     const param = { id: 46, list: tmpList, carNo: globalThis.carInfo.carNo, placeId: globalThis.carInfo.examinationRoomId,callback:()=>{ |     const param = { id: 46, list: tmpList, carNo: globalThis.carInfo.carNo, placeId: globalThis.carInfo.examinationRoomId,callback:()=>{ | ||||||
| @ -418,17 +459,42 @@ struct Index { | |||||||
|     }} |     }} | ||||||
|     this.interval=setInterval(()=>{ |     this.interval=setInterval(()=>{ | ||||||
|       if(this.callBackFlag){ |       if(this.callBackFlag){ | ||||||
|  |         console.log('validqqq333') | ||||||
|         const param2 = { id: 47, list: tmpList, carNo: globalThis.carInfo.carNo, placeId: globalThis.carInfo.examinationRoomId } |         const param2 = { id: 47, list: tmpList, carNo: globalThis.carInfo.carNo, placeId: globalThis.carInfo.examinationRoomId } | ||||||
|         globalThis.udpClient2&&globalThis.udpClient2.sendMsg(param2,this.context) |         globalThis.udpClient2&&globalThis.udpClient2.sendMsg(param2,this.context) | ||||||
|       } |       } | ||||||
|     },1000) |     },1000) | ||||||
|  |     // const param = { id: 31, list: tmpList, carNo: 489, placeId: 62 } | ||||||
|     globalThis.udpClient2&&globalThis.udpClient2.sendMsg(param, this.context) |     globalThis.udpClient2&&globalThis.udpClient2.sendMsg(param, this.context) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  |     // return {id: 31,list:tmpList,carNo:489,placeId:62} | ||||||
|   } |   } | ||||||
|   aboutToDisappear() { |   aboutToDisappear() { | ||||||
|     clearInterval(this.interval) |     clearInterval(this.interval) | ||||||
|     clearInterval(this.interval2) |     clearInterval(this.interval2) | ||||||
|     testNapi.StopReadCard(); |     testNapi.StopReadCard(); | ||||||
|  |     // console.log("zzctest Close Device ret = " + testNapi.CloseDevice()); | ||||||
|  |   } | ||||||
|  |   changeStudentStatue(val){ | ||||||
|  |     const arr = [globalThis.signNum||0, val] | ||||||
|  |     let tmpList = []; | ||||||
|  |     tmpList.push(this.string2Bytes(arr[0], 1 * 8)[0]) | ||||||
|  |     tmpList.push(this.string2Bytes(arr[1], 1 * 8)[0]) | ||||||
|  |     const str = globalThis.lsh | ||||||
|  |     for (let i = 0;i < str.length; i++) { | ||||||
|  |       tmpList.push(this.string2Bytes(str.charCodeAt(i), 1 * 8)[0]) | ||||||
|  |     } | ||||||
|  |     // const str ='1111160366580' | ||||||
|  |     // for (let i = 0;i < str.length; i++) { | ||||||
|  |     //   tmpList.push(this.string2Bytes(str.charCodeAt(i), 1 * 8)[0]) | ||||||
|  |     // } | ||||||
|  |     // const param = { id: 46, list: tmpList, carNo: globalThis.carInfo.carNo, placeId: globalThis.carInfo.examinationRoomId,callback:()=>{ | ||||||
|  | 
 | ||||||
|  |     // const param = { id: 46, list: tmpList, carNo: 489, placeId: 62 } | ||||||
|  |     const param= {id: 31,list:tmpList,carNo:globalThis.carInfo.carNo,placeId:globalThis.carInfo.examinationRoomId} | ||||||
|  | 
 | ||||||
|  |     globalThis.udpClient2&&globalThis.udpClient2.sendMsg(param, this.context) | ||||||
|   } |   } | ||||||
|   facePass(){ |   facePass(){ | ||||||
|     if(!this.stepFlag){ |     if(!this.stepFlag){ | ||||||
| @ -521,7 +587,21 @@ struct Index { | |||||||
|       }) |       }) | ||||||
|     }) |     }) | ||||||
|   } |   } | ||||||
|  |   // async getVideoConfig(){ | ||||||
|  |   //   const data = await this.fileUtil.readFile('/mnt/hmdfs/100/account/device_view/localfiles/files/logs/config/config3.txt'); | ||||||
|  |   //   this.param=JSON.parse(data) | ||||||
|  |   // } | ||||||
|   changefaceCompareSucess() { |   changefaceCompareSucess() { | ||||||
|  |     // globalThis.statue=3 | ||||||
|  |     console.log('this.faceCompareSuces',this.faceCompareSucess,JSON.stringify(this.currentUser)) | ||||||
|  |     // if(this.faceCompareSucess!=1){ | ||||||
|  |     //   this.heartMsg(this.context) | ||||||
|  |     //   return | ||||||
|  |     // }else{ | ||||||
|  |     //   console.log('kkkk2') | ||||||
|  |     //   this.sfbdinterfaceFn() | ||||||
|  |     // | ||||||
|  |     // } | ||||||
|     if(this.faceCompareSucess>0){ |     if(this.faceCompareSucess>0){ | ||||||
|       this.sfbdinterfaceFn() |       this.sfbdinterfaceFn() | ||||||
|     } |     } | ||||||
| @ -552,8 +632,12 @@ struct Index { | |||||||
|         this.lsh=this.currentUser.lsh |         this.lsh=this.currentUser.lsh | ||||||
|         globalThis.lsh=this.currentUser.lsh |         globalThis.lsh=this.currentUser.lsh | ||||||
|         globalThis.ksyh=this.currentUser.ksy1sfzmhm||this.currentUser.ksy2sfzmhm |         globalThis.ksyh=this.currentUser.ksy1sfzmhm||this.currentUser.ksy2sfzmhm | ||||||
|  | 
 | ||||||
|  |         // this.currentUser.kszp=this.photo+res.kszp | ||||||
|  |         // this.currentUser.ksmjzp=this.photo+this.currentUser.ksmjzp | ||||||
|         if(globalThis.singlePlay){ |         if(globalThis.singlePlay){ | ||||||
|           testNapi.StopReadCard(); |           testNapi.StopReadCard(); | ||||||
|  |           // globalThis.statue=4 | ||||||
|           router.pushUrl({ |           router.pushUrl({ | ||||||
|             url: 'pages/Judge', |             url: 'pages/Judge', | ||||||
|           },router.RouterMode.Single); |           },router.RouterMode.Single); | ||||||
| @ -667,11 +751,59 @@ struct Index { | |||||||
|       this.lsh=this.currentUser.lsh |       this.lsh=this.currentUser.lsh | ||||||
|       globalThis.lsh=this.lsh |       globalThis.lsh=this.lsh | ||||||
|       globalThis.ksyh=this.currentUser.ksy1sfzmhm||this.currentUser.ksy2sfzmhm |       globalThis.ksyh=this.currentUser.ksy1sfzmhm||this.currentUser.ksy2sfzmhm | ||||||
|  | 
 | ||||||
|  |       // this.currentUser.kszp=this.photo+this.currentUser.kszp | ||||||
|  |       // this.currentUser.ksmjzp=this.photo+this.currentUser.ksmjzp | ||||||
|  |       // this.currentUser.kszp='data:image/jpg;base64,'+this.currentUser.kszp | ||||||
|  |       // this.currentUser.ksmjzp='data:image/jpg;base64,'+this.currentUser.ksmjzp | ||||||
|  |       // this.getPhotosForOtherFn(this.currentUser,1) | ||||||
|  |       // this.getPhotosForOtherFn(this.currentUser,2) | ||||||
|  |       // for (let i in this.currentUser) { | ||||||
|  |       //   this.currentUser[i] = decodeURI(this.currentUser[i]) | ||||||
|  |       // } | ||||||
|  |       console.log('this.currentUse3' + JSON.stringify(this.currentUser)) | ||||||
|       this.pageIndex = 0 |       this.pageIndex = 0 | ||||||
|     }).catch((error) => { |     }).catch((error) => { | ||||||
|       console.log('error12error' + error) |       console.log('error12error' + error) | ||||||
|     }) |     }) | ||||||
|   } |   } | ||||||
|  |   fillZero(str, len) { | ||||||
|  |     str = str + ''; | ||||||
|  |     if (str.length > len || !len) { | ||||||
|  |       return str | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     let num = len - str.length; | ||||||
|  |     let zeroStr = ''; | ||||||
|  |     for (var i = 0; i < num; i++) { | ||||||
|  |       zeroStr = zeroStr + '0' | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     return zeroStr + str; | ||||||
|  |   } | ||||||
|  |   string2Bytes(number, len) { | ||||||
|  |     // console.log('string2Bytes == ', number) | ||||||
|  |     let  str = (+number).toString(2); | ||||||
|  |     if(str.length > len) { | ||||||
|  |       console.log('数据长度不对~~'); | ||||||
|  |       return | ||||||
|  |     } | ||||||
|  |     var byteString = this.fillZero(str, len); | ||||||
|  | 
 | ||||||
|  |     var arrBytes = new Array(); | ||||||
|  |     for (var i = byteString.length; i > 0;) { | ||||||
|  |       let j = i - 8; | ||||||
|  |       if (j < 0) { | ||||||
|  |         j = 0 | ||||||
|  |       } | ||||||
|  |       var s = byteString.slice(j, i); | ||||||
|  |       var v = parseInt(s, 2); | ||||||
|  |       arrBytes.push(v); | ||||||
|  |       i = i - 8 | ||||||
|  | 
 | ||||||
|  |     } | ||||||
|  |     return arrBytes; | ||||||
|  |   } | ||||||
|   getPhotosForOtherFn(data,type){ |   getPhotosForOtherFn(data,type){ | ||||||
|     const date=new Date() |     const date=new Date() | ||||||
|     const param={ |     const param={ | ||||||
| @ -703,9 +835,15 @@ struct Index { | |||||||
|     examinationStuAbsent(param).then(res => { |     examinationStuAbsent(param).then(res => { | ||||||
|       const arr = [this.signNum||0,1] |       const arr = [this.signNum||0,1] | ||||||
|       let tmpList = []; |       let tmpList = []; | ||||||
|       tmpList.push(string2Bytes(arr[0], 1 * 8)[0]) |       tmpList.push(this.string2Bytes(arr[0], 1 * 8)[0]) | ||||||
|       tmpList.push(string2Bytes(arr[1], 1 * 8)[0]) |       tmpList.push(this.string2Bytes(arr[1], 1 * 8)[0]) | ||||||
| 
 | 
 | ||||||
|  |       // const str ='1111160366580' | ||||||
|  |       // for (let i = 0;i < str.length; i++) { | ||||||
|  |       //   tmpList.push(this.string2Bytes(str.charCodeAt(i), 1 * 8)[0]) | ||||||
|  |       // } | ||||||
|  |       // const param = { id: 46, list: tmpList, carNo: 489, placeId: 62 } | ||||||
|  |       console.log('globalThis.signNum',globalThis.signNum) | ||||||
|       const param= {id: 43,list:tmpList,carNo: globalThis.carInfo.carNo,placeId: globalThis.carInfo.examinationRoomId} |       const param= {id: 43,list:tmpList,carNo: globalThis.carInfo.carNo,placeId: globalThis.carInfo.examinationRoomId} | ||||||
| 
 | 
 | ||||||
|       globalThis.udpClient2.sendMsg(param, this.context) |       globalThis.udpClient2.sendMsg(param, this.context) | ||||||
| @ -735,6 +873,7 @@ struct Index { | |||||||
|           yycs: '' |           yycs: '' | ||||||
|         } |         } | ||||||
|         this.getExaminationStudentInfoFn() |         this.getExaminationStudentInfoFn() | ||||||
|  |         // this.errorMsg = decodeURI(res.examinationStuAbsentRsp.head.resultMessage) | ||||||
|         return |         return | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
| @ -1018,14 +1157,27 @@ struct Index { | |||||||
|         .margin({ left: 53 * this.ratio }) |         .margin({ left: 53 * this.ratio }) | ||||||
| 
 | 
 | ||||||
|         Column() { |         Column() { | ||||||
|  |           // Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { | ||||||
|  |           //   Image($r('app.media.yydj')).width(45 * this.ratio).height(45 * this.ratio) | ||||||
|  |           //   Text('语音对讲').fontSize(24 * this.ratio).fontColor('#fff').width(100 * this.ratio) | ||||||
|  |           // } | ||||||
|           Image($r('app.media.yydj_btn')) |           Image($r('app.media.yydj_btn')) | ||||||
|             .width(220 * this.ratio) |             .width(220 * this.ratio) | ||||||
|             .height(69 * this.ratio) |             .height(69 * this.ratio) | ||||||
|             .backgroundImage($r('app.media.button_nor')) |             .backgroundImage($r('app.media.button_nor')) | ||||||
|             .backgroundImageSize({ width: '100%', height: '100%' }) |             .backgroundImageSize({ width: '100%', height: '100%' }) | ||||||
|             .margin({ bottom: 12 * this.ratio }).onClick(()=>{ |             .margin({ bottom: 12 * this.ratio }).onClick(()=>{ | ||||||
|  |             // this.getCurrentStudent('3423231995014700007') | ||||||
|  |             // this.vocObj.playAudio({ | ||||||
|  |             //   type: 1, | ||||||
|  |             //   name: 'media_button.wav' | ||||||
|  |             // }) | ||||||
|           }) |           }) | ||||||
| 
 | 
 | ||||||
|  |           // Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { | ||||||
|  |           //   Image($r('app.media.gx')).width(45 * this.ratio).height(45 * this.ratio) | ||||||
|  |           //   Text('  更   新  ').fontSize(24 * this.ratio).fontColor('#fff').width(100 * this.ratio) | ||||||
|  |           // } | ||||||
|           Image($r('app.media.gx_btn')) |           Image($r('app.media.gx_btn')) | ||||||
|             .width(220 * this.ratio) |             .width(220 * this.ratio) | ||||||
|             .height(69 * this.ratio) |             .height(69 * this.ratio) | ||||||
| @ -1035,8 +1187,16 @@ struct Index { | |||||||
|             this.faceCompareSucess=0 |             this.faceCompareSucess=0 | ||||||
|             this.numCount=0 |             this.numCount=0 | ||||||
|             this.getExaminationStudentInfoFn() |             this.getExaminationStudentInfoFn() | ||||||
|  |             // this.vocObj.playAudio({ | ||||||
|  |             //   type: 1, | ||||||
|  |             //   name: 'media_button.wav' | ||||||
|  |             // }) | ||||||
|           }) |           }) | ||||||
| 
 | 
 | ||||||
|  |           // Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { | ||||||
|  |           //   Image($r('app.media.qk')).width(45 * this.ratio).height(45 * this.ratio) | ||||||
|  |           //   Text('  缺   考  ').fontSize(24 * this.ratio).fontColor('#fff').width(100 * this.ratio) | ||||||
|  |           // } | ||||||
|           Image($r('app.media.qk_btn')) |           Image($r('app.media.qk_btn')) | ||||||
|             .width(220 * this.ratio) |             .width(220 * this.ratio) | ||||||
|             .height(69 * this.ratio) |             .height(69 * this.ratio) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user