diff --git a/entry/src/main/ets/pages/UserInfo1.ets b/entry/src/main/ets/pages/UserInfo1.ets deleted file mode 100644 index e04a2779..00000000 --- a/entry/src/main/ets/pages/UserInfo1.ets +++ /dev/null @@ -1,918 +0,0 @@ -import { examinationStuAbsent, getExaminationItem, getExaminationStudentInfo } from '../api/userInfo'; -import router from '@ohos.router'; -import TopLogo from './compontents/TopLogo'; -import Md5 from '../common/utils/md5'; -import AccountTable from '../common/database/tables/AccountTable'; -import USER from '../common/constants/USER'; -import { dateFormat, getCurrentTime, string2Bytes } from '../common/utils/tools'; -import MA_SYSSET from '../common//constants/MA_SYSSET'; -import FaceCompare from './compontents/FaceCompare'; -// import { initJudgeUdp } from '../common/utils/UdpJudge' -import { writeObjectOut } from '../api/judge'; -import testNapi from '@ohos.idcard'; -import common from '@ohos.app.ability.common'; -import { User } from './interfaces'; -import WebRTCVoice from './webRTC/'; -import promptAction from '@ohos.promptAction'; -import FilePhoto from './judgeSDK/utils/filePhoto'; -import { getSyncData, upDateTableByArray } from '../common/service/initable'; -import { CandidateData, EmptyCandidateObject } from '../mock/CandidateData'; -import BoardPrePareSetPopup from './compontents/judge/BoardPrePareSetPopup' -import LoadingPopup from './compontents/judge/LoadingPopup'; -import VoiceAnnounce from './judgeSDK/utils/voiceAnnouncements'; -import { JudgeConfig } from '../config/judge'; -import { judgeConfig } from './judgeSDK/utils/judgeConfig'; -import { initJudgeUdp } from '../common/utils/UdpJudge'; -@Entry -@Component -struct UserInfo { - private filePhoto: FilePhoto - private avPlayer - - @State pageIndex: number = 0 - @State ratio: number = 1700 / 960 - @State index: number = 0 - @State stepFlag: boolean = false; - @State errorMsg: string = '' - @State ksxtbh: string = '' - @State pic: string = '' - @State jkxlh: string = '' - @State @Watch('changeFaceCompareSuccess') faceCompareSucess: number = 0; - @State @Watch('changeQkfn') getqkFlag: boolean = false; - @State @Watch('outClick') outFlag: boolean = false; - @State showFaceCompare: boolean = false; - @State url: string = '' - @State lsh: string = '' - @State qkFlag: boolean = false - @State isBoardPrePareSetPopupOpen: boolean = false - @State isFirstBoardPrePareSetPopupBtnShow: boolean = false - @State isBoardPrePareSetPopupShow: boolean = false - @State isLoadingPopupVisible:boolean = false; - @State loadingText:string = '正在认证监管信息,请稍后...' - @State sczbkf:{xmdm:number,kfdm:string}[] = [] - @State currentUser: User = EmptyCandidateObject - @State dataList: Array = [] - @State list: Array = [] - @State name: string = 'initName'; - @State sex: string = ''; - @State callBackFlag: boolean = false; - @State born?: string = ''; - @State address: string = ''; - @State nation: string = ''; - @State idCard: string = ''; - @State grantDept: string = ''; - //是否已经开始考试 - @State isExamStart:boolean = false; - @State effectDate: string = ''; - @State interval: any = null; - @State studentRefreshStatue: string = '0'; - @State photo: string = 'data:image/bmp;base64,'; - @State numCount: number = 0; - @State signNum: number = 0; - @State isCanClick: boolean = true; - @State updateTimeLimit: boolean = true - @State faceFlag: string = '0'; - @State FaceOpenStatue: string = '0'; //是否开启人脸识别 - subscriber; - @State faceCatchImg: string = '' - // 过程照片拍照 - getPhoto = async (empty?: boolean) => { - const singlePlay = globalThis.singlePlay - //单机模式返回空照片 - if (singlePlay) { - return '' - } else { - const {filePhoto} = this; - const photoBase64 = await filePhoto.getPhoto(); - return photoBase64 - } - } - private AccountTable = new AccountTable(() => {}, USER); - private context = getContext(this) as common.UIAbilityContext; - private labelBlocks = [ - { label: '考生姓名', key: 'xm' }, - { label: '身份证号', key: 'sfzmhm' }, - { label: ' 流 水 号 ', key: 'lsh' }, - { label: '考试路线', key: 'ksxl' }, - { label: '待考次数', key: 'kssycs' }, - { label: '考官姓名', key: 'ksy1' }, - ] - - async onPageShow() { - const mediaTest = new FilePhoto(this.context); - this.filePhoto = new FilePhoto(this.context); - //语音功能 - new WebRTCVoice(this.context); - //初始化数据 - this.initData() - - //身份证读卡器初始化 - // this.openDeviceByIDCard() - // 如果是单机模式则模拟假数据 - //获取sysset表数据 - this.initSysset() - - //心跳处理 - this.heartMsg() - this.isExamStart = false - this.sczbkf = []; - this.avPlayer = new VoiceAnnounce(); - } - - //身份证读卡器初始化 - openDeviceByIDCard() { - globalThis.indexComponent = this; - // 应用启动时打开读卡设备 - let ret = testNapi.OpenDevice(); - if (ret == 0) { - testNapi.StartReadCard(this.onReadCard); - } else { - console.error("zzctest Failed to Open Device"); - } - } - - stopDeviceById() { - if (this.faceFlag == '1') { - testNapi && testNapi.StopReadCard() - } - } - - // 通过身份证获取当前学员 - getCurrentStudent(id) { - let flag = false - this.pageIndex - this.list.map((res, index) => { - if (res.sfzmhm == id) { - flag = true - this.currentUser = res - this.lsh = this.currentUser.lsh - globalThis.lsh = this.currentUser.lsh - globalThis.ksyh = this.currentUser.ksy1sfzmhm || this.currentUser.ksy2sfzmhm - const {examSubject} = globalThis.carInfo; - // this.currentUser.kszp=this.photo+res.kszp - // this.currentUser.ksmjzp=this.photo+this.currentUser.ksmjzp - if (globalThis.singlePlay) { - this.stopDeviceById() - // globalThis.statue=4 - router.pushUrl({ - url: examSubject == 3 ? 'pages/Roads' : 'pages/Judge', - params: { - sczb: Number(this.isBoardPrePareSetPopupOpen), - kfdm: this.sczbkf - } - }, router.RouterMode.Single); - return - } - - this.pageIndex = Math.floor(index / 4) - } - }) - this.dataList = this.list.slice(this.pageIndex * 4, this.pageIndex * 4 + 4) - if (!flag) { - promptAction.showToast({ - message: '未匹配到对应下载学员', - duration: 3000 - }); - } - } - - onReadCard(ret) { - console.info(`zzctest xx Read Card ret =${ret.status}`) - let thisVar = globalThis.indexComponent; - - if (ret.status == 0) { // status = 1 为读到身份证信息; status = 1 为身份证离开读卡器 - // 收到身份证离开读卡器的事件通知,根据实际业务需要决定是否需要清空之前已读取的身份证信息。 - // 如果身份证卡片离开读卡器时,需要继续保留UI界面上已读取到的身份信息,以下代码可以注释掉。 - thisVar.name = ""; - thisVar.sex = ""; - thisVar.nation = ""; - thisVar.born = ""; - thisVar.address = ""; - thisVar.idCard = ""; - thisVar.photo = ""; - - return true; - } - - if (ret.baseInfo.length > 2) { - // 收到身份证信息,填充页面 - console.info(`zzctest Read Card 1`); - let subIndex = ret.baseInfo.indexOf(":") - let baseInfo: string = ret.baseInfo.substring(subIndex + 1, ret.baseInfo.length - 1); - console.info(`zzctest Read Card 2 baseInfo=${baseInfo}`); - let baseInfos: string[] = baseInfo.split("|"); - thisVar.name = baseInfos[0]; - thisVar.sex = baseInfos[1]; - thisVar.nation = baseInfos[2]; - thisVar.born = baseInfos[3]; - thisVar.address = baseInfos[4]; - thisVar.idCard = baseInfos[5]; - setTimeout(() => { - thisVar.getCurrentStudent(baseInfos[5]) - }, 1000) - } - - // 身份证照片数据处理 - if (ret.photo instanceof ArrayBuffer) { - let dataView = new DataView(ret.photo) - console.info(`Read Card ret = length = ${dataView.byteLength}`) - let str = "" - for (let i = 0; i < dataView.byteLength; ++i) { - let c = String.fromCharCode(dataView.getUint8(i)) - if (c !== "\n") { - str += c - } - } - thisVar.photo += str; - } - console.info(`zzctest Read Card end`); - return true; - } - - changeQkfn() { - this.qkFn() - } - - async initData() { - this.isFirstBoardPrePareSetPopupBtnShow = false; - this.stepFlag = false - this.faceCompareSucess = 0 - this.showFaceCompare = false - this.lsh = '0000000000000' - this.callBackFlag = false - globalThis.lsh = this.lsh - // this.currentUser = EmptyCandidateObject - globalThis.statue = 2 - this.numCount = 0 - if (globalThis.singlePlay) { - // TODO 模拟假数据 - this.list = CandidateData - this.pageIndex = 0 - this.dataList = this.list.slice(this.pageIndex * 4, this.pageIndex * 4 + 4) - this.currentUser = this.dataList[0] - this.lsh = this.currentUser.lsh - globalThis.ksyh = this.currentUser.ksy1sfzmhm || this.currentUser.ksy2sfzmhm - globalThis.lsh = this.lsh - } else { - this.getExaminationStudentInfoFn() - } - const syssetParams = await getSyncData('MA_SYSSET'); - //@ts-ignore - syssetParams.forEach(sys => { - //364 绕车一周评判时机(1-开始考试后判 2-开始考试前判) - if (sys.v_no === '364') { - this.isBoardPrePareSetPopupOpen = true; - } - }) - - } - - async heartMsg() { - globalThis.udpClient2 & globalThis.udpClient2.setMsgCallBack((val) => { - if (val.id == '32') { - globalThis.signNum = val.body[1] - if (val.body[0] == '7') { - //缺考处理 - this.getqkFn() - this.signNum = val.body[1] - } - } else if (val.id == '42') { - //收到中心缺考确认消息 - console.log('qkfnqkfn', val.body[0]) - this.qkFn() - } - }) - } - - //考点端查询缺考指令内容消息请求 - getqkFn() { - let tmpList = []; - tmpList.push(string2Bytes(globalThis.signNum, 1 * 8)[0]) - const param = { - id: 41, - list: tmpList, - carNo: globalThis.carInfo.carNo, - placeId: globalThis.carInfo.examinationRoomId - } - - globalThis.udpClient2.sendMsgExt(param, this.context) - } - - async initSysset() { - const that = this; - const db = new AccountTable(() => { - }, MA_SYSSET); - db.getRdbStore(() => { - db.query('0', (syssetParams) => { - const serialNumberArr = syssetParams.filter(sys => sys.v_no === '901') - that.jkxlh = serialNumberArr?.[0]?.v_value || '1234567' - const ksxtbhArr = syssetParams.filter(sys => sys.v_no === '902') - that.ksxtbh = ksxtbhArr?.[0]?.v_value || '222' - const studentRefreshParam = syssetParams.filter(sys => sys.v_no === '452') - that.studentRefreshStatue = studentRefreshParam?.[0]?.v_value || '0' - const faceParam = syssetParams.filter(sys => sys.v_no == '2413') - that.FaceOpenStatue = faceParam?.[0]?.v_value == '3' ? '1' : '0' - that.FaceOpenStatue = '0' - // that.FaceOpenStatue = '0' - // faceParam?.[0]?.v_value || - // 1身份证读卡器 2指纹 3人脸 - this.faceFlag = faceParam?.[0]?.v_value || '0' - if (faceParam?.[0]?.v_value == '1') { - that.openDeviceByIDCard() - } - //0不自动更新 1自动更新(不限次数) 2没有考生更新2次 - if (that.studentRefreshStatue == '2') { - clearInterval(that.interval) - that.interval = setInterval(() => { - if (that.dataList.length == 0 && that.numCount < 3) { - that.numCount++ - that.getExaminationStudentInfoFn() - } - }, 5000) - } else if (that.studentRefreshStatue == '1') { - clearInterval(that.interval) - that.interval = setInterval(() => { - if (that.dataList.length == 0) { - that.getExaminationStudentInfoFn() - } - }, 5000) - } else { - this.getExaminationItemFn() - } - - }) - }) - } - - //人脸比对窗口关闭 - changeFaceCompareSuccess() { - console.log('this.faceCompareSuces', this.faceCompareSucess, JSON.stringify(this.currentUser)) - if (this.faceCompareSucess > 0) { - //人脸比对通过 - this.sfbdinterfaceFn() - } - } - - nextClick() { - if (this.list.length <= 4 || this.pageIndex == Math.floor(this.list.length / 4)) { - return - } - this.pageIndex++; - this.dataList = this.list.slice(this.pageIndex * 4, this.pageIndex * 4 + 4) - } - - prevClick() { - if (this.list.length <= 4 || this.pageIndex == 0) { - return - } - this.pageIndex--; - this.dataList = this.list.slice(this.pageIndex * 4, this.pageIndex * 4 + 4) - } - - //获取下载考生 - getExaminationStudentInfoFn() { - if (globalThis.singlePlay && this.updateTimeLimit) { - return - } - const param = `${Md5.Instance.get_md5(globalThis.carInfo.carId + globalThis.carInfo.examinationRoomId + globalThis.username)}${globalThis.carInfo.carId}${globalThis.carInfo.examinationRoomId}${globalThis.username}` - getExaminationStudentInfo(param).then(async(res) => { - setTimeout(() => { - this.updateTimeLimit = true - }, 30000) - this.updateTimeLimit = false - if (!res) { - this.dataList = [] - this.currentUser = EmptyCandidateObject - this.errorMsg = decodeURI(res.getExaminationStudentInfoRsp.head.resultMessage) - return - } - let dataList = [] - this.list = [] - - for (let key in res.getExaminationStudentInfoRsp.body) { - const a = res.getExaminationStudentInfoRsp.body[key] - if (a instanceof Array) { - dataList = a - } else { - dataList = [a] - } - } - if (dataList.length) { - this.numCount = 0 - } - - this.list = JSON.parse(JSON.stringify(dataList)) - this.list.forEach(listData => { - for (let i in listData) { - listData[i] = decodeURI(listData[i]) - } - listData.kszp = this.photo + listData.kszp - listData.ksmjzp = this.photo + listData.ksmjzp - }) - dataList = this.list.length > 4 ? this.list.slice(this.pageIndex * 4, this.pageIndex * 4 + 4) : this.list; - - this.dataList = dataList - if (this.dataList.length) { - this.currentUser = this.dataList[0] - } else { - this.currentUser = EmptyCandidateObject - } - - this.lsh = this.currentUser.lsh - globalThis.lsh = this.lsh - globalThis.ksyh = this.currentUser.ksy1sfzmhm || this.currentUser.ksy2sfzmhm - console.log('this.currentUse3' + JSON.stringify(this.currentUser)) - this.pageIndex = 0 - getSyncData('USER').then(data=>{ - if(data?.[0]){ - this.getCurrentStudent(data[0].sfzmhm) - - } - }) - }).catch((error) => { - console.log('error12error' + error) - }) - } - - qkFn() { - this.faceCompareSucess = 0 - if (globalThis.singlePlay) { - this.qkFlag = false - return - } - console.log('JsonJson', JSON.stringify(this.currentUser)) - const param = `${globalThis.carInfo.carId}${this.currentUser.sfzmhm}${globalThis.carInfo.examinationRoomId}${globalThis.username}${this.lsh}` - console.log('carNo1111', param) - - examinationStuAbsent(param).then(res => { - const arr = [this.signNum || 0, 1] - let tmpList = []; - tmpList.push(string2Bytes(arr[0], 1 * 8)[0]) - tmpList.push(string2Bytes(arr[1], 1 * 8)[0]) - console.log('globalThis.signNum', globalThis.signNum) - const param = { - id: 43, - list: tmpList, - carNo: globalThis.carInfo.carNo, - placeId: globalThis.carInfo.examinationRoomId - } - - globalThis.udpClient2.sendMsgExt(param, this.context) - if (res.examinationStuAbsentRsp.head.resultCode == '0') { - this.pageIndex = 0 - this.qkFlag = false - this.currentUser = EmptyCandidateObject - this.getExaminationStudentInfoFn() - return - } - }).catch((error) => { - console.log('error12error' + error) - }) - - } - - async getExaminationItemFn() { - if (!this.currentUser.lsh || globalThis.singlePlay) { - return - } - const carInfo = globalThis.carInfo; - const {carId,examinationRoomId} = carInfo; - const examItems = await getExaminationItem({ - time: getCurrentTime(), - carId, - lsh: this.currentUser.lsh || '', - examinationRoomId - }); - - if (examItems?.getExaminationItemRsp?.body?.kssycs != 0) { - this.getExaminationStudentInfoFn() - } else { - this.dataList = [] - this.currentUser = EmptyCandidateObject - } - - } - - //身份比对 - async sfbdinterfaceFn() { - this.stepFlag = true - const carInfo = globalThis.carInfo; - const {carId,examinationRoomId} = carInfo; - this.showFaceCompare = false - let examItems = { getExaminationItemRsp: { body: { ykxx: '' } } }; - if (!globalThis.singlePlay) { - //获取已考项目 - examItems = await getExaminationItem({ - time: getCurrentTime(), - carId, - lsh: this.currentUser.lsh || '', - examinationRoomId - }); - } - this.currentUser.id = '1' - const avPlayer = this.avPlayer; - this.isLoadingPopupVisible = true - avPlayer.playAudio([`voice/监管通信中.mp3`],false,async ()=>{ - const code = await this.beginExam(); - if (code != 1) { - promptAction.showToast({ - message:'开始考试接口调用失败!', - duration:4000 - }) - return - } - await upDateTableByArray('USER', [this.currentUser]) - globalThis.statue = 4 - this.stepFlag = false - this.isLoadingPopupVisible = false - router.pushUrl({ - url: 'pages/Judge', - params: { - examItems: examItems?.getExaminationItemRsp?.body?.ykxx, - sczb: Number(this.isBoardPrePareSetPopupOpen), - kfdm: this.sczbkf - } - }, router.RouterMode.Single); - this.stopDeviceById() - this.stepFlag = false - }) - } - - // 检测车门、熄火信号 - async checkSignal(): Promise { - const {isCheckFireOpen} = judgeConfig - return new Promise((resolve,reject)=>{ - if(isCheckFireOpen){ - resolve(true) - // return - } - console.info('socketTag[PLC.UdpClient]', '注册udp回调') - let plcValue = globalThis.udpClient.getCurrentMessage(); - console.info('surenjun',plcValue) - const msgArr = plcValue.split(',') || '' - const mkg = msgArr[14]; - const fdjzs = msgArr[25]; - if(mkg == 1){ - this.avPlayer.playAudio(['voice/关门.mp3']) - promptAction.showToast({ - message:'请关闭车门', - duration:4000 - }) - reject(false) - } - if(fdjzs*1 > 0){ - this.avPlayer.playAudio(['voice/熄火.mp3']) - promptAction.showToast({ - message:'请熄火', - duration:4000 - }) - reject(false) - } - }) - } - - // 开始考试 - async beginExam() { - const carInfo = globalThis.carInfo; - const {carId,examinationRoomId} = carInfo; - const { examSubject,plateNo } = carInfo; - const date = new Date() - console.info('surenjun', 'photoBase64') - const photoBase64 = await this.getPhoto(); - console.info('surenjun', 'photoBase64End') - const drvexam = { - lsh: this.currentUser.lsh || '', - kskm: examSubject, - ksxtbh: this.ksxtbh || '222', - sfzmhm: this.currentUser.sfzmhm || '', - ksysfzmhm: this.currentUser.ksy1sfzmhm || '', - ksxl: this.currentUser.ksxl, - zp: photoBase64, - kssj: dateFormat(date) || '', - kchp: decodeURI(plateNo), - Ksy2sfzmhm: this.currentUser.ksy2sfzmhm || '' - } - const param = { - drvexam, - xtlb: '17', - //接口序列号 - jkxlh: this.jkxlh || '1234567', - //接口标识 - jkid: '17C51', - } - const code = await writeObjectOut(param); - globalThis.lsh = this.currentUser.lsh - globalThis.ksyh = this.currentUser.ksy1sfzmhm || this.currentUser.ksy2sfzmhm; - return code - } - - aboutToDisappear() { - this.outClick() - } - - outClick() { - clearInterval(this.interval) - this.stopDeviceById() - globalThis.udpClient2 && globalThis.udpClient2?.setMsgCallBack(() => { - }) - } - - // 几个按钮公共样式 - @Styles - commStyle(){ - .width(220 * this.ratio) - .height(69 * this.ratio) - .backgroundImage($r('app.media.button_nor')) - .backgroundImageSize({ width: '100%', height: '100%' }) - .margin({ bottom: 12 * this.ratio }) - } - - build() { - Column() { - - TopLogo({ outFlag: $outFlag }).margin({ bottom: 10 }) - Row() { - Row() { - ForEach(this.dataList, (item) => { - Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { - Column() { - CommText({ - ratio: this.ratio, - color: item.sfzmhm != this.currentUser.sfzmhm ? '#FFFFFF' : '#000000', - text: item.lsh - }) - CommText({ - ratio: this.ratio, - color: item.sfzmhm != this.currentUser.sfzmhm ? '#FFFFFF' : '#000000', - text: decodeURIComponent(item.xm) - }) - } - } - .width(165 * this.ratio) - .height(85 * this.ratio) - .backgroundImage(item.sfzmhm != this.currentUser.sfzmhm ? $r('app.media.userbox2') : $r('app.media.userboxbg')) - .backgroundImageSize({ width: '100%', height: '100%' }) - .onClick(() => { - if(this.isExamStart){ - return - } - this.currentUser = item - }) - }) - }.width(640 * this.ratio).margin({ left: 30 * this.ratio }) - - Image($r('app.media.dk_prev')) - .width(90 * this.ratio) - .height(70 * this.ratio) - .margin({ left: 65 * this.ratio, right: 10 * this.ratio }) - .onClick(() => { - this.prevClick() - }) - Image($r('app.media.dk_next')).width(90 * this.ratio).height(70 * this.ratio).onClick(() => { - this.nextClick() - }) - }.margin({ top: 40 * this.ratio, bottom: 10 * this.ratio }) - - Flex({ justifyContent: FlexAlign.SpaceBetween }) { - Row() { - Column() { - if (this.currentUser['kszp']) { - - Avatar({ - ratio: this.ratio, - url: this.currentUser['kszp'] ? this.currentUser['kszp'] : '' - }) - } else { - Avatar({ - ratio: this.ratio, - url: "" - }) - } - if (this.currentUser['ksmjzp']) { - Avatar({ - ratio: this.ratio, - url: this.currentUser['ksmjzp'] ? this.currentUser['ksmjzp'] : '' - }) - } else { - - Avatar({ - ratio: this.ratio, - url: "" - }) - } - } - - Column() { - ForEach(this.labelBlocks, (item) => { - LabelBlock({ label: item.label, ratio: this.ratio, value: this.currentUser[item.key] }) - }) - } - } - .width(664 * this.ratio) - .height(339 * this.ratio) - .backgroundImage($r('app.media.dkbg')) - .backgroundImageSize({ width: '100%', height: '100%' }) - .margin({ left: 53 * this.ratio }) - - Column() { - Image($r('app.media.yydj_btn')) - .commStyle() - Image($r('app.media.gx_btn')) - .commStyle() - .onClick(() => { - this.faceCompareSucess = 0 - this.numCount = 0 - this.getExaminationStudentInfoFn() - }) - Image($r('app.media.qk_btn')) - .commStyle() - .onClick(() => { - this.qkFlag = true - }) - - if (this.isBoardPrePareSetPopupOpen && !this.isFirstBoardPrePareSetPopupBtnShow) { - //上车准备 - Image($r('app.media.sczb_btn')).commStyle().onClick(async () => { - try { - await this.checkSignal() - this.isExamStart = true - await upDateTableByArray('USER', [this.currentUser]) - globalThis.statue = 4 - this.isBoardPrePareSetPopupShow = true; - this.isFirstBoardPrePareSetPopupBtnShow = true; - this.stepFlag = false - this.stopDeviceById() - initJudgeUdp() - } catch (e) { - - } - }) - } else { - Image($r('app.media.ksks_btn')) - .commStyle() - .onClick(async () => { - try { - // await this.checkSignal() - this.faceCompareSucess = 0 - globalThis.statue = 2 - if (!this.currentUser.xm) { - return - } - if (globalThis.singlePlay) { - const {examSubject} = globalThis.carInfo; - await upDateTableByArray('USER', [this.currentUser]) - router.pushUrl({ - url: examSubject == 3 ? 'pages/Roads' : 'pages/Judge', - params: { - sczb: Number(this.isBoardPrePareSetPopupOpen), - kfdm: this.sczbkf - } - }, router.RouterMode.Single); - this.stopDeviceById() - return - } - console.log('this.FaceOpenStatue',this.FaceOpenStatue) - if (this.FaceOpenStatue != '0') { - this.showFaceCompare = true - } else { - initJudgeUdp() - this.sfbdinterfaceFn() - } - } catch (e) { - - } - - }) - } - } - } - - if (this.showFaceCompare) { - FaceCompare({ - sfzh: this.currentUser.sfzmhm, - firstImage: this.currentUser.kszp, - faceCompareSucess: $faceCompareSucess, - getqkFlag: $getqkFlag, - faceCatchImg: $faceCatchImg, - showFaceCompare: $showFaceCompare, - lsh: globalThis.lsh, - }) - } - if (this.qkFlag) { - Column() { - Text('确认考生:' + this.currentUser.xm + '是否缺考') - .fontSize(28 * this.ratio) - .position({ x: 160 * this.ratio, y: 122 * this.ratio }) - Row() { - Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { - Text(' 取 消 ').fontSize(24 * this.ratio).fontColor('#fff').width(100 * this.ratio) - } - .commStyle() - .onClick(() => { - this.qkFlag = false - }) - - Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { - Text(' 确 定 ').fontSize(24 * this.ratio).fontColor('#fff').width(100 * this.ratio) - } - .commStyle() - .onClick(() => { - this.qkFn() - }) - }.position({ y: 265 * this.ratio, x: 115 * this.ratio }) - - } - .width(660 * this.ratio) - .height(360 * this.ratio) - .position({ x: 150 * this.ratio, y: 98 * this.ratio }) - .backgroundColor('#E6E3DF') - .borderRadius(19 * this.ratio) - } - - // 上车准备弹窗 - if (this.isBoardPrePareSetPopupShow) { - BoardPrePareSetPopup({ - closePopup: (bool) => { - this.isBoardPrePareSetPopupShow = false; - }, - confirmMark: (kfdm) => { - this.sczbkf = kfdm - } - }) - } - - // loading - if(this.isLoadingPopupVisible){ - LoadingPopup({ - title: this.loadingText, - }) - } - } - .height('100%') - .width('100%') - .backgroundImage($r('app.media.bg')) - .backgroundImageSize({ width: '100%', height: '100%' }) - } -} - -// 头像组件 -@Component -struct Avatar { - @State ratio: number = 0 - @State url: string = "" - - build() { - Row() { - Image(this.url) - .width(93 * this.ratio) - .height(130.5 * this.ratio) - .margin({ bottom: 10 * this.ratio, right: 58 * this.ratio, left: 55 * this.ratio }) - .backgroundColor('orange') - .border({ color: '#fff', width: 1, style: BorderStyle.Solid }) - } - } -} - -// 横向滚动学员列表里面文字 -@Component -struct CommText { - @Prop text: string - @Prop color: string - @Prop ratio: number - - build() { - Text(this.text) - .fontSize(16 * this.ratio) - .lineHeight(30 * this.ratio) - .fontWeight(500) - .fontColor(this.color) - } -} - -// 考生信息的labelBlock组件 -@Component -struct LabelBlock { - @State label: string = '' - @State ratio: number = 0 - @Prop value: string = '' - - @Styles - commLabelStyle(){ - .width(280 * this.ratio) - .height(35 * this.ratio) - .backgroundImageSize({ width: '100%', height: '100%' }) - .backgroundImage($r('app.media.userbox')) - .margin({ left: 8 * this.ratio }) - .align(Alignment.Center) - } - - build() { - Row() { - Text(this.label).fontSize(16 * this.ratio).fontColor('#99948A') - Row() { - Text(decodeURIComponent(this.value)).fontColor('#fff').textAlign(TextAlign.Center).width('100%') - } - .commLabelStyle() - }.margin({ bottom: 10 * this.ratio }) - } -} \ No newline at end of file diff --git a/entry/src/main/ets/pages/judgeSDK/utils/judgeConfig.ts b/entry/src/main/ets/pages/judgeSDK/utils/judgeConfig.ts index e50ad310..4a861d1f 100644 --- a/entry/src/main/ets/pages/judgeSDK/utils/judgeConfig.ts +++ b/entry/src/main/ets/pages/judgeSDK/utils/judgeConfig.ts @@ -2,11 +2,11 @@ //考试回放开关 export const judgeConfig = { //本地目录开关 - isTrajectoryOpen: true, + isTrajectoryOpen: false, //是否开启拍照 - isPhotoOpen: false, + isPhotoOpen: true, //扣分语音是否强制开启 - kfVoiceOpen: false, + kfVoiceOpen: true, //忽略的考试项目 ignoreProjects:[41], // 是否忽略考试前熄火、车门检查