From 2a78525e42121c4dc963ddc8fca1598327475a36 Mon Sep 17 00:00:00 2001 From: lvyuankang <1344032923@qq.com> Date: Fri, 2 Aug 2024 15:27:44 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E8=A1=A8=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- entry/src/main/ets/common/service/initable.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/entry/src/main/ets/common/service/initable.ts b/entry/src/main/ets/common/service/initable.ts index d5ce1762..18d4b3e4 100644 --- a/entry/src/main/ets/common/service/initable.ts +++ b/entry/src/main/ets/common/service/initable.ts @@ -83,8 +83,10 @@ function sqlInsertCommonFn(tableName, resultArr, context?, delFlag = true) { }, map[tableName], context); accountTable.getRdbStore(() => { accountTable.query('0', async (result) => { + console.log('sqlsqlinsertresult',JSON.stringify(result)) // console.log('表长度',result.length,tableName) if (result.length == 0) { + console.log('sqlsqlinsert00000') let INSERT_SQL = "INSERT INTO " + tableName + " (" + map[tableName].ACCOUNT_TABLE.columns.toString() + ") VALUES " @@ -105,6 +107,7 @@ function sqlInsertCommonFn(tableName, resultArr, context?, delFlag = true) { } INSERT_SQL += str }) + console.log('sqlsqlinsertINSERT_SQLINSERT_SQL', INSERT_SQL) accountTable.sqlOperate(INSERT_SQL, tableName, (val) => { console.log('sqlsqlinsert,', val, 'tableName', tableName) resolve(val) @@ -113,6 +116,9 @@ function sqlInsertCommonFn(tableName, resultArr, context?, delFlag = true) { else { if (delFlag) { await delSyncTable(tableName, context) + const result = await sqlInsertCommonFn(tableName, resultArr, context) + resolve(result) + return } const result = await sqlInsertCommonFn(tableName, resultArr, context) resolve(result) @@ -159,7 +165,11 @@ export async function getDataBaseTable(params, reqParam) { //依据数组和表名更新sql表 export async function upDateTableByArray(tableName, arr) { - sqlInsertCommonFn(tableName, arr) + return new Promise(async (reslove,reject)=>{ + const data =await sqlInsertCommonFn(tableName, arr) + console.log('sqlsqlinsertsqlsqlinsertkkk',data) + reslove(data) + }) } //更新双中心表 From 6abd03b0b8524edd8e5d770a6c32343578d3fb05 Mon Sep 17 00:00:00 2001 From: lvyuankang <1344032923@qq.com> Date: Fri, 2 Aug 2024 15:40:28 +0800 Subject: [PATCH 2/3] =?UTF-8?q?font-size=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- entry/src/main/ets/pages/UserInfo.ets | 60 +++++++++++++++------------ 1 file changed, 33 insertions(+), 27 deletions(-) diff --git a/entry/src/main/ets/pages/UserInfo.ets b/entry/src/main/ets/pages/UserInfo.ets index 05b9e4d7..ea3f1106 100644 --- a/entry/src/main/ets/pages/UserInfo.ets +++ b/entry/src/main/ets/pages/UserInfo.ets @@ -17,19 +17,15 @@ 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 @@ -48,9 +44,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 = [] @State list: Array = [] @@ -63,7 +62,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'; @@ -87,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' }, @@ -514,12 +516,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 } @@ -543,30 +545,30 @@ struct UserInfo { // 检测车门、熄火信号 async checkSignal(): Promise { 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) } @@ -847,7 +849,7 @@ struct UserInfo { } // loading - if(this.isLoadingPopupVisible){ + if (this.isLoadingPopupVisible) { LoadingPopup({ title: this.loadingText, }) @@ -887,7 +889,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) @@ -913,9 +915,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 }) From afd3dbd72d3fdb2ad6c04a4988a7bc6f57f4de14 Mon Sep 17 00:00:00 2001 From: lvyuankang <1344032923@qq.com> Date: Wed, 7 Aug 2024 08:57:40 +0800 Subject: [PATCH 3/3] udp --- entry/src/main/ets/common/utils/GlobalTcp.ts | 13 +--- entry/src/main/ets/common/utils/GlobalUdp.ts | 76 ++++++++++++++----- entry/src/main/ets/common/utils/TcpClient.ts | 5 +- entry/src/main/ets/pages/TerminalInfos.ets | 4 +- entry/src/main/ets/pages/UserInfo.ets | 15 ++-- .../ets/pages/compontents/SignDisplayCom.ets | 21 +++++ 6 files changed, 89 insertions(+), 45 deletions(-) diff --git a/entry/src/main/ets/common/utils/GlobalTcp.ts b/entry/src/main/ets/common/utils/GlobalTcp.ts index fe02808a..cf5545d6 100644 --- a/entry/src/main/ets/common/utils/GlobalTcp.ts +++ b/entry/src/main/ets/common/utils/GlobalTcp.ts @@ -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) => { diff --git a/entry/src/main/ets/common/utils/GlobalUdp.ts b/entry/src/main/ets/common/utils/GlobalUdp.ts index 253d906a..c2456651 100644 --- a/entry/src/main/ets/common/utils/GlobalUdp.ts +++ b/entry/src/main/ets/common/utils/GlobalUdp.ts @@ -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) => { 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) => { 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 = {} diff --git a/entry/src/main/ets/common/utils/TcpClient.ts b/entry/src/main/ets/common/utils/TcpClient.ts index e0765e65..1a5a398e 100644 --- a/entry/src/main/ets/common/utils/TcpClient.ts +++ b/entry/src/main/ets/common/utils/TcpClient.ts @@ -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() diff --git a/entry/src/main/ets/pages/TerminalInfos.ets b/entry/src/main/ets/pages/TerminalInfos.ets index 36e21ccf..88738196 100644 --- a/entry/src/main/ets/pages/TerminalInfos.ets +++ b/entry/src/main/ets/pages/TerminalInfos.ets @@ -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'] diff --git a/entry/src/main/ets/pages/UserInfo.ets b/entry/src/main/ets/pages/UserInfo.ets index 3d842956..574ba0b2 100644 --- a/entry/src/main/ets/pages/UserInfo.ets +++ b/entry/src/main/ets/pages/UserInfo.ets @@ -69,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; @@ -385,11 +386,15 @@ struct UserInfo { //获取下载考生 getExaminationStudentInfoFn() { - if (globalThis.singlePlay) { + 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(res => { + setTimeout(() => { + this.updateTimeLimit = true + }, 30000) + this.updateTimeLimit = false if (!res) { this.dataList = [] this.currentUser = EmptyCandidateObject @@ -757,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; diff --git a/entry/src/main/ets/pages/compontents/SignDisplayCom.ets b/entry/src/main/ets/pages/compontents/SignDisplayCom.ets index f8351370..b1a3ea80 100644 --- a/entry/src/main/ets/pages/compontents/SignDisplayCom.ets +++ b/entry/src/main/ets/pages/compontents/SignDisplayCom.ets @@ -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() {