Merge pull request '表更新' (#47) from lv_chengmai into main
Reviewed-on: #47
This commit is contained in:
		
						commit
						ca57859bee
					
				| @ -17,12 +17,7 @@ export async function getTCP() { | ||||
|             await globalThis.TcpClient.sendMsg('1002') //1002
 | ||||
|             globalThis.TcpClient.onError((val) => { | ||||
|               setTimeout(() => { | ||||
|                 globalThis.TcpClient.sendMsg('1002') //1002
 | ||||
|                 if (val) { | ||||
|                   // const msg=val.substring(5,val.length-1)
 | ||||
|                   console.log('socketTag[PLC.UdpClient] status:', globalThis.udpClient.getStatus()) | ||||
|                   globalThis.udpClient?.sendMsg(val) | ||||
|                 } | ||||
|                 getTCP() | ||||
|               }, 1000) | ||||
|             }) | ||||
|             await globalThis.TcpClient.onMessage((val) => { | ||||
| @ -46,12 +41,8 @@ export async function getTCP() { | ||||
|         await globalThis.TcpClient.connectTcp() | ||||
|         await globalThis.TcpClient.sendMsg('1002') //1002
 | ||||
|         globalThis.TcpClient.onError((val) => { | ||||
|           hilog.info(0x0000, 'testTag', "valvalval2" + JSON.stringify(val)); | ||||
|           setTimeout(() => { | ||||
|             globalThis.TcpClient.sendMsg('1002') //1002
 | ||||
|             if (val && globalThis.udpClient?.sendMsg) { | ||||
|               globalThis.udpClient?.sendMsg(val) | ||||
|             } | ||||
|             getTCP() | ||||
|           }, 1000) | ||||
|         }) | ||||
|         await globalThis.TcpClient.onMessage((val) => { | ||||
|  | ||||
| @ -7,7 +7,7 @@ export async function sendMsg(val) { | ||||
|   // globalThis.udpClient1&&globalThis.udpClient1.sendMsg(val)
 | ||||
| } | ||||
| 
 | ||||
| export async function getUDP() { | ||||
| export async function getUDP(errorFlag?) { | ||||
|   return new Promise((reslove,reject)=>{ | ||||
|     getSyncData('IpConfigTable').then((result: Array<any>) => { | ||||
|       if (result.length) { | ||||
| @ -19,10 +19,19 @@ export async function getUDP() { | ||||
|               globalThis.udpClient.rebindUdp(result[0].udplocalIp, result[0].udplocalIpPort, result[0].udpOppositeIp, result[0].udpOppositeIpPort) | ||||
|               globalThis.udpClient.sendMsg('111', null) | ||||
|               globalThis.host = `http://${result[0].centerIp}:${result[0].centerPort}` | ||||
|               globalThis.udpClient.onError_Callback(()=>{ | ||||
|                 console.log('getUDPgetUDPgetUDP') | ||||
|                 getUDP(true) | ||||
|                 if(errorFlag&&globalThis.udpClient&&globalThis.udpClient.onMessage_1){ | ||||
|                   globalThis.udpClient.onMessage_1=globalThis.udpClient.onMessage_1 | ||||
|                 } | ||||
|               }) | ||||
|               reslove(`http://${result[0].centerIp}:${result[0].centerPort}`) | ||||
| 
 | ||||
|               // globalThis.udpClient.onError_resend(globalThis.udpClient.onMessage_1?globalThis.udpClient.onMessage_1:()=>{})
 | ||||
|             }, 1000) | ||||
|           }) | ||||
| 
 | ||||
|         } | ||||
|         else { | ||||
|           // 未绑定
 | ||||
| @ -31,11 +40,22 @@ export async function getUDP() { | ||||
|           udpClient.bindUdp() | ||||
|           udpClient.sendMsg('111') | ||||
|           globalThis.host = `http://${result[0].centerIp}:${result[0].centerPort}` | ||||
|           // udpClient.onError_resend(globalThis.udpClient.onMessage_1?globalThis.udpClient.onMessage_1:()=>{})
 | ||||
|           globalThis.udpClient = udpClient | ||||
| 
 | ||||
|           globalThis.udpClient.onMessage_1(()=>{ | ||||
| 
 | ||||
|           }) | ||||
|           globalThis.udpClient.onError_Callback(()=>{ | ||||
|             getUDP(true) | ||||
|             if(errorFlag&&globalThis.udpClient&&globalThis.udpClient.onMessage_1){ | ||||
|               globalThis.udpClient.onMessage_1=globalThis.udpClient.onMessage_1 | ||||
|             } | ||||
|           }) | ||||
|           // udpClient.onError_resend(globalThis.udpClient.onMessage_1?globalThis.udpClient.onMessage_1:()=>{})
 | ||||
|           getChuankouFn() | ||||
|           reslove(`http://${result[0].centerIp}:${result[0].centerPort}`) | ||||
| 
 | ||||
| 
 | ||||
|         } | ||||
| 
 | ||||
|       } else { | ||||
| @ -56,7 +76,7 @@ export async function getUDP() { | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| export async function getUDP2() { | ||||
| export async function getUDP2(errorFlag?) { | ||||
|   console.log(` getUDP2  enter`); | ||||
|   getSyncData('IpConfigTable').then(async (result: Array<any>) => { | ||||
|     if (result.length) { | ||||
| @ -66,6 +86,12 @@ export async function getUDP2() { | ||||
|         globalThis.udpClient2.closeUdp(async () => { | ||||
|           setTimeout(() => { | ||||
|             globalThis.udpClient2.rebindUdp(result[0].udplocalIp, '8800', globalThis.carInfo?.udpAddress, globalThis.carInfo?.messagePort) | ||||
|             globalThis.udpClient2.onError_Callback(()=>{ | ||||
|               getUDP2(true); | ||||
|               if(errorFlag&&globalThis.udpClient2&&globalThis.udpClient2.onMessage_2){ | ||||
|                 globalThis.udpClient2.onMessage_2=globalThis.udpClient2.onMessage_2 | ||||
|               } | ||||
|             }) | ||||
|           }, 1000) | ||||
|         }) | ||||
|       } | ||||
| @ -74,27 +100,35 @@ export async function getUDP2() { | ||||
|         console.log(` getUDP2  has no  udclent and  bind `); | ||||
|         const udpClient2: UdpClientByCenter = new UdpClientByCenter(result[0].udplocalIp, '8800', globalThis.carInfo?.udpAddress, globalThis.carInfo?.messagePort) | ||||
|         await udpClient2.bindUdp() | ||||
|         await udpClient2.onError_Callback() | ||||
|         await udpClient2.onMessage_2((val) => { | ||||
|           if (val.id == '32') { | ||||
|             globalThis.signNum = val.body[1] | ||||
| 
 | ||||
|           } else if (val.id == '46') { | ||||
|             let tmpList = [] | ||||
|             const str = globalThis.lsh | ||||
|             for (let i = 0; i < str.length; i++) { | ||||
|               tmpList.push(this.string2Bytes(str.charCodeAt(i), 1 * 8)[0]) | ||||
|             } | ||||
|             const param = { | ||||
|               id: 47, | ||||
|               list: tmpList, | ||||
|               carNo: globalThis.carInfo.carNo, | ||||
|               placeId: globalThis.carInfo.examinationRoomId | ||||
|             } | ||||
|             globalThis.udpClient2.send(param) | ||||
|         await udpClient2.onError_Callback(()=>{ | ||||
|           getUDP2(true); | ||||
|           if(errorFlag&&globalThis.udpClient2&&globalThis.udpClient2.onMessage_2){ | ||||
|             globalThis.udpClient2.onMessage_2=globalThis.udpClient2.onMessage_2 | ||||
|           } | ||||
|         }) | ||||
|         if(!errorFlag){ | ||||
|           await udpClient2.onMessage_2((val) => { | ||||
|             if (val.id == '32') { | ||||
|               globalThis.signNum = val.body[1] | ||||
| 
 | ||||
|             } else if (val.id == '46') { | ||||
|               let tmpList = [] | ||||
|               const str = globalThis.lsh | ||||
|               for (let i = 0; i < str.length; i++) { | ||||
|                 tmpList.push(this.string2Bytes(str.charCodeAt(i), 1 * 8)[0]) | ||||
|               } | ||||
|               const param = { | ||||
|                 id: 47, | ||||
|                 list: tmpList, | ||||
|                 carNo: globalThis.carInfo.carNo, | ||||
|                 placeId: globalThis.carInfo.examinationRoomId | ||||
|               } | ||||
|               globalThis.udpClient2.send(param) | ||||
|             } | ||||
|           }) | ||||
|         } | ||||
|         globalThis.udpClient2 = udpClient2 | ||||
| 
 | ||||
|       } | ||||
|     } else { | ||||
|       globalThis.udpClient2 = {} | ||||
|  | ||||
| @ -1,5 +1,6 @@ | ||||
| import socket from '@ohos.net.socket'; | ||||
| import hilog from '@ohos.hilog'; | ||||
| import { getTCP } from './GlobalTcp'; | ||||
| 
 | ||||
| const TAG = 'socketTag[TcpDemo.TcpClient]' | ||||
| 
 | ||||
| @ -24,9 +25,7 @@ export default class TcpClient { | ||||
|     this.tcp.on('error', err => { | ||||
|       console.log(TAG, 'tcpOnerror', JSON.stringify(err)) | ||||
|       setTimeout(async () => { | ||||
|         await this.bindTcp() | ||||
|         await this.connectTcp() | ||||
|         this.onMessage(callback) | ||||
|         getTCP() | ||||
|       }, 2000) | ||||
|       // this.closeUdp(()=>{
 | ||||
|       //   this.bindUdp()
 | ||||
|  | ||||
| @ -18,8 +18,8 @@ struct Index { | ||||
|   // '',] | ||||
|   // @State inputTextList2: string[] = ['192.168.7.124','20022'] | ||||
| 
 | ||||
|   @State inputTextList1: string[] = ['172.37.55.191','18782','172.37.55.191','8082','255.255.255.0','172.37.55.1','114.114.114.114','192.168.7.124','20022','172.37.55.59','20122'] | ||||
|   // @State inputTextList1: string[] = ['172.37.55.191','18782','172.37.55.191','8082','255.255.255.0','192.168.7.1','114.114.114.114','192.168.7.124','20022','192.168.7.170','20122'] | ||||
|   // @State inputTextList1: string[] = ['172.37.55.191','18782','192.168.7.1','8082','255.255.255.0','192.168.7.170','114.114.114.114','192.168.7.124','20022','172.37.55.59','20122'] | ||||
|   @State inputTextList1: string[] = ['172.37.55.191','18782','172.37.55.191','8082','255.255.255.0','192.168.7.1','114.114.114.114','192.168.7.124','20022','192.168.7.170','20122'] | ||||
|   // @State inputTextList2: string[] = [] | ||||
|   // 112.80.35.83 11052 | ||||
|   // @State inputTextList1: string[] = ['192.168.36.2','8084','192.168.36.200','20122','255.255.255.0','192.168.36.1','','','114.114.114.114','192.168.36.139','8000'] | ||||
|  | ||||
| @ -17,18 +17,14 @@ 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 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'; | ||||
| 
 | ||||
| @Entry | ||||
| @Component | ||||
| struct UserInfo { | ||||
|   private filePhoto: FilePhoto | ||||
|   private avPlayer | ||||
| 
 | ||||
|   @State pageIndex: number = 0 | ||||
|   @State ratio: number = 1700 / 960 | ||||
|   @State index: number = 0 | ||||
| @ -47,9 +43,12 @@ struct UserInfo { | ||||
|   @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 isLoadingPopupVisible: boolean = false; | ||||
|   @State loadingText: string = '正在认证监管信息,请稍后...' | ||||
|   @State sczbkf: { | ||||
|     xmdm: number, | ||||
|     kfdm: string | ||||
|   }[] = [] | ||||
|   @State currentUser: User = EmptyCandidateObject | ||||
|   @State dataList: Array<User> = [] | ||||
|   @State list: Array<User> = [] | ||||
| @ -62,7 +61,7 @@ struct UserInfo { | ||||
|   @State idCard: string = ''; | ||||
|   @State grantDept: string = ''; | ||||
|   //是否已经开始考试 | ||||
|   @State isExamStart:boolean = false; | ||||
|   @State isExamStart: boolean = false; | ||||
|   @State effectDate: string = ''; | ||||
|   @State interval: any = null; | ||||
|   @State studentRefreshStatue: string = '0'; | ||||
| @ -70,6 +69,7 @@ struct UserInfo { | ||||
|   @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; | ||||
| @ -86,7 +86,10 @@ struct UserInfo { | ||||
|       return photoBase64 | ||||
|     } | ||||
|   } | ||||
|   private AccountTable = new AccountTable(() => {}, USER); | ||||
|   private filePhoto: FilePhoto | ||||
|   private avPlayer | ||||
|   private AccountTable = new AccountTable(() => { | ||||
|   }, USER); | ||||
|   private context = getContext(this) as common.UIAbilityContext; | ||||
|   private labelBlocks = [ | ||||
|     { label: '考生姓名', key: 'xm' }, | ||||
| @ -383,11 +386,15 @@ struct UserInfo { | ||||
| 
 | ||||
|   //获取下载考生 | ||||
|   getExaminationStudentInfoFn() { | ||||
|     if (globalThis.singlePlay) { | ||||
|     if (globalThis.singlePlay && this.updateTimeLimit) { | ||||
|       return | ||||
|     } | ||||
|     const param = `<getExaminationStudentInfoReq><head><checkCode>${Md5.Instance.get_md5(globalThis.carInfo.carId + globalThis.carInfo.examinationRoomId + globalThis.username)}</checkCode></head><body><carId>${globalThis.carInfo.carId}</carId><examinationRoomId>${globalThis.carInfo.examinationRoomId}</examinationRoomId><examinerName>${globalThis.username}</examinerName></body></getExaminationStudentInfoReq>` | ||||
|     getExaminationStudentInfo(param).then(res => { | ||||
|       setTimeout(() => { | ||||
|         this.updateTimeLimit = true | ||||
|       }, 30000) | ||||
|       this.updateTimeLimit = false | ||||
|       if (!res) { | ||||
|         this.dataList = [] | ||||
|         this.currentUser = EmptyCandidateObject | ||||
| @ -513,12 +520,12 @@ struct UserInfo { | ||||
|     this.currentUser.id = '1' | ||||
|     const avPlayer = this.avPlayer; | ||||
|     this.isLoadingPopupVisible = true | ||||
|     avPlayer.playAudio([`voice/监管通信中.mp3`],false,async ()=>{ | ||||
|     avPlayer.playAudio([`voice/监管通信中.mp3`], false, async () => { | ||||
|       const code = await this.beginExam(); | ||||
|       if (code != 1) { | ||||
|         promptAction.showToast({ | ||||
|           message:'开始考试接口调用失败!', | ||||
|           duration:4000 | ||||
|           message: '开始考试接口调用失败!', | ||||
|           duration: 4000 | ||||
|         }) | ||||
|         return | ||||
|       } | ||||
| @ -542,30 +549,30 @@ struct UserInfo { | ||||
|   // 检测车门、熄火信号 | ||||
|   async checkSignal(): Promise<boolean> { | ||||
|     const {isCheckFireOpen} = judgeConfig | ||||
|     return new Promise((resolve,reject)=>{ | ||||
|       if(isCheckFireOpen){ | ||||
|     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) | ||||
|       let plcValue = globalThis.udpClient.getCurrentMessage(); | ||||
|       console.info('surenjun', plcValue) | ||||
|       const msgArr = plcValue.split(',') || '' | ||||
|       const mkg = msgArr[14]; | ||||
|       const fdjzs = msgArr[25]; | ||||
|       if(mkg == 1){ | ||||
|       if (mkg == 1) { | ||||
|         this.avPlayer.playAudio(['voice/关门.mp3']) | ||||
|         promptAction.showToast({ | ||||
|           message:'请关闭车门', | ||||
|           duration:4000 | ||||
|           message: '请关闭车门', | ||||
|           duration: 4000 | ||||
|         }) | ||||
|         reject(false) | ||||
|       } | ||||
|       if(fdjzs*1 > 0){ | ||||
|       if (fdjzs * 1 > 0) { | ||||
|         this.avPlayer.playAudio(['voice/熄火.mp3']) | ||||
|         promptAction.showToast({ | ||||
|           message:'请熄火', | ||||
|           duration:4000 | ||||
|           message: '请熄火', | ||||
|           duration: 4000 | ||||
|         }) | ||||
|         reject(false) | ||||
|       } | ||||
| @ -755,13 +762,7 @@ struct UserInfo { | ||||
|                   if (!this.currentUser.xm) { | ||||
|                     return | ||||
|                   } | ||||
|                   // if(globalThis.spzdFlag){ | ||||
|                   //   promptAction.showToast({ | ||||
|                   //     message: '摄像头被遮挡', | ||||
|                   //     duration: 2000 | ||||
|                   //   }); | ||||
|                   //   return | ||||
|                   // } | ||||
| 
 | ||||
|                   console.info('surenjun currentUser', JSON.stringify(this.currentUser)) | ||||
|                   if (globalThis.singlePlay) { | ||||
|                     const {examSubject} = globalThis.carInfo; | ||||
| @ -846,7 +847,7 @@ struct UserInfo { | ||||
|       } | ||||
| 
 | ||||
|       // loading | ||||
|       if(this.isLoadingPopupVisible){ | ||||
|       if (this.isLoadingPopupVisible) { | ||||
|         LoadingPopup({ | ||||
|           title: this.loadingText, | ||||
|         }) | ||||
| @ -886,7 +887,7 @@ struct CommText { | ||||
| 
 | ||||
|   build() { | ||||
|     Text(this.text) | ||||
|       .fontSize(16 * this.ratio) | ||||
|       .fontSize(19.5 * this.ratio) | ||||
|       .lineHeight(30 * this.ratio) | ||||
|       .fontWeight(500) | ||||
|       .fontColor(this.color) | ||||
| @ -912,9 +913,13 @@ struct LabelBlock { | ||||
| 
 | ||||
|   build() { | ||||
|     Row() { | ||||
|       Text(this.label).fontSize(16 * this.ratio).fontColor('#99948A') | ||||
|       Text(this.label).fontSize(18 * this.ratio).fontColor('#99948A') | ||||
|       Row() { | ||||
|         Text(decodeURIComponent(this.value)).fontColor('#fff').textAlign(TextAlign.Center).width('100%') | ||||
|         Text(decodeURIComponent(this.value)) | ||||
|           .fontColor('#fff') | ||||
|           .textAlign(TextAlign.Center) | ||||
|           .width('100%') | ||||
|           .fontSize(20 * this.ratio) | ||||
|       } | ||||
|       .commLabelStyle() | ||||
|     }.margin({ bottom: 10 * this.ratio }) | ||||
|  | ||||
| @ -235,7 +235,28 @@ export default struct SignDisplayCom { | ||||
|         .backgroundImage($r('app.media.km_open')) | ||||
|         .backgroundImageSize({ width: '100%', height: '100%' }) | ||||
|         .visibility(this.active == 0 ? Visibility.Visible : Visibility.None) | ||||
|         Column() { | ||||
|           Column() { | ||||
|             Text( this.msg || '0') | ||||
|               .fontColor('#FFF5E5') | ||||
|               .fontSize(14 * this.ratio) | ||||
|               .width('100%') | ||||
|               .textAlign(TextAlign.Start) | ||||
| 
 | ||||
|           } | ||||
|           .backgroundColor('#282828') | ||||
|           .width(this.ratio * 890) | ||||
|           .height(436 * this.ratio) | ||||
|           .margin({ left: 0 * this.ratio, top: 15 * this.ratio }) | ||||
| 
 | ||||
|         } | ||||
|         .width(936 * this.ratio) | ||||
|         .height(480 * this.ratio) | ||||
|         .margin({ left: 10 * this.ratio }) | ||||
|         .padding({ left: 10 * this.ratio, right: 10 * this.ratio }) | ||||
|         .backgroundImage($r('app.media.km_open')) | ||||
|         .backgroundImageSize({ width: '100%', height: '100%' }) | ||||
|         .visibility(this.active == 2 ? Visibility.Visible : Visibility.None) | ||||
|         Row() { | ||||
|           Flex({ direction: FlexDirection.Column }) { | ||||
|             Row() { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user