From 5a9af48cd945410fbcb6cae147bd6d9f2029a989 Mon Sep 17 00:00:00 2001 From: lvyuankang <1344032923@qq.com> Date: Mon, 26 Aug 2024 15:09:13 +0800 Subject: [PATCH] wirteLog --- entry/src/main/ets/common/service/initable.ts | 4 ++ entry/src/main/ets/common/utils/TcpClient.ts | 35 ++++++++++-- .../ets/common/utils/UdpClientByCenter.ts | 53 ++++++++++++++----- entry/src/main/ets/common/utils/UdpJudge.ts | 22 +++++--- entry/src/main/ets/common/utils/request.ts | 22 +++----- entry/src/main/ets/common/utils/tools.ts | 7 +++ entry/src/main/ets/pages/Index.ets | 25 +++++---- 7 files changed, 120 insertions(+), 48 deletions(-) diff --git a/entry/src/main/ets/common/service/initable.ts b/entry/src/main/ets/common/service/initable.ts index 6606f76b..8c18e11d 100644 --- a/entry/src/main/ets/common/service/initable.ts +++ b/entry/src/main/ets/common/service/initable.ts @@ -446,6 +446,10 @@ function setSyncCenterSqlData(key, res, param) { console.log('mapName[key]', mapName[key], key) sqlInsertCommonFn(mapName[key], arrList, param.context).then((result) => { console.log(key, '表建立成功') + writeLog('PLC',{ + time:dateFormat(new Date()), + PLC:`${key} 表建立成功`, + }) if (result) { resolve(true) } else { diff --git a/entry/src/main/ets/common/utils/TcpClient.ts b/entry/src/main/ets/common/utils/TcpClient.ts index 5f378a36..d5f02aec 100644 --- a/entry/src/main/ets/common/utils/TcpClient.ts +++ b/entry/src/main/ets/common/utils/TcpClient.ts @@ -2,6 +2,8 @@ import socket from '@ohos.net.socket'; import hilog from '@ohos.hilog'; import { getTCP } from './GlobalTcp'; import prompt from '@ohos.prompt'; +import FileUtil from './File'; +import { dateFormat } from './tools'; const TAG = 'socketTag[TcpDemo.TcpClient]' @@ -25,6 +27,10 @@ export default class TcpClient { onError(callback?) { this.tcp.on('error', err => { + this.writeLog({ + time:dateFormat(new Date()), + PLC:`${TAG} tcpOnerror ${JSON.stringify(err)}`, + }) console.log(TAG, 'tcpOnerror', JSON.stringify(err)) setTimeout(async () => { getTCP() @@ -72,6 +78,10 @@ export default class TcpClient { address: this.localIp, port: parseInt(this.localIpPort), family: 1 }, err => { if (err) { + this.writeLog({ + time:dateFormat(new Date()), + PLC:`${TAG} testTag tcp bind faile ${JSON.stringify(err)}`, + }) console.log('testTag tcp bind faile'); globalThis.getCloseTcp = true hilog.info(0x0000, 'testTag', "tcpBinderror:" + JSON.stringify(err)); @@ -80,6 +90,10 @@ export default class TcpClient { } globalThis.getCloseTcp = false console.log('testTag tcp bind success'); + this.writeLog({ + time:dateFormat(new Date()), + PLC:`${TAG} testTag tcp bind success`, + }) resolve(false) }) }) @@ -108,7 +122,10 @@ export default class TcpClient { keepAlive: true, }, err => { if (err) { - console.log('testTagtestTag000,error') + this.writeLog({ + time:dateFormat(new Date()), + PLC:`${TAG} tcp connect rebind success`, + }) if(this.num>3){ return } @@ -133,8 +150,10 @@ export default class TcpClient { getTCP() resolve(false) }, 2000) - console.log('testTagtestTag000,error') - + this.writeLog({ + time:dateFormat(new Date()), + PLC:`${TAG} tcp connect error`, + }) }); }) } @@ -155,6 +174,10 @@ export default class TcpClient { onMessage(callback?) { this.tcp.on('message', value => { + this.writeLog({ + time:dateFormat(new Date()), + PLC:`${TAG} Tcponmessage`, + }) console.log(TAG, 'Tcponmessage', value) globalThis.tcpUdpError = false @@ -188,7 +211,13 @@ export default class TcpClient { // callback(value.message) }); } + async writeLog(param){ + const fileUtil = new FileUtil(globalThis.context) + const date=dateFormat(new Date).split(' ')[0] + const folderPath = await fileUtil.initFolder(`/PLC/${date}`); + fileUtil.editFile(`${folderPath}/plcLog.txt`, JSON.stringify(param)+`\n`) + } offTcp(callback) { console.log(TAG, 'tcpofff') diff --git a/entry/src/main/ets/common/utils/UdpClientByCenter.ts b/entry/src/main/ets/common/utils/UdpClientByCenter.ts index 6ed6a885..d14f934e 100644 --- a/entry/src/main/ets/common/utils/UdpClientByCenter.ts +++ b/entry/src/main/ets/common/utils/UdpClientByCenter.ts @@ -86,9 +86,17 @@ export default class UdpClientByCenter { // globalThis.closeHeartSocket=false this.isWorking = true console.log(`${TAG} getUDPudp rebind success`); + this.writeLog({ + time:dateFormat(new Date()), + PLC:`${TAG} getUDPudp rebind success`, + }) }).catch(err => { //globalThis.closeHeartSocket=true this.isWorking = false + this.writeLog({ + time:dateFormat(new Date()), + PLC:`${TAG} getUDPudp rebind failed:${JSON.stringify(err)}`, + }) console.log(`${TAG} getUDPudp rebind failed:${JSON.stringify(err)}`); }); } @@ -99,10 +107,16 @@ export default class UdpClientByCenter { }); promise.then(() => { this.isWorking = true - console.log(`${TAG} getUDPudp bind success`); + this.writeLog({ + time:dateFormat(new Date()), + PLC:`${TAG} getUDPudp bind success`, + }) }).catch(err => { this.isWorking = false - console.log(`${TAG} getUDPudp bind failed:${JSON.stringify(err)}`); + this.writeLog({ + time:dateFormat(new Date()), + PLC:`${TAG} getUDPudp bind error${JSON.stringify(err)},localIp:${this.localIpPort},port:${this.localIpPort}`, + }) }); } @@ -166,9 +180,12 @@ export default class UdpClientByCenter { sendMsg(msg, sendCallback?) { - console.log(`${TAG}getUDPudpCLient sendMsg enter oppositeIp:${this.oppositeIp},oppositeIpPort:${this.oppositeIpPort},localIp:${this.localIp},localIpPort:${this.localIpPort}`); if (!this.isWorking ) { console.log(`${TAG}getUDPudpCLient sendMsg is closed return `); + this.writeLog({ + time:dateFormat(new Date()), + PLC:`${TAG}getUDPudpCLient sendMsg is closed return oppositeIp:${this.oppositeIp},oppositeIpPort:${this.oppositeIpPort},localIp:${this.localIp},localIpPort:${this.localIpPort}`, + }) if(sendCallback) { sendCallback() } @@ -185,9 +202,15 @@ export default class UdpClientByCenter { if (sendCallback) { sendCallback() } - console.log(`${TAG}getUDPudpCLient udp send success:oppositeIp${this.oppositeIp},oppositeIpPort:${this.oppositeIpPort},localIp:${this.localIp},localIpPort,${this.localIpPort}`); + this.writeLog({ + time:dateFormat(new Date()), + PLC:`${TAG}getUDPudpCLient udp send success: oppositeIp:${this.oppositeIp},oppositeIpPort:${this.oppositeIpPort},localIp:${this.localIp},localIpPort:${this.localIpPort}`, + }) }).catch(err => { - console.log(`${TAG}getUDPudpCLient udp send fail:oppositeIp${this.oppositeIp},oppositeIpPort:${this.oppositeIpPort},localIp:${this.localIp},localIpPort,${this.localIpPort}`); + this.writeLog({ + time:dateFormat(new Date()), + PLC:`${TAG}getUDPudpCLient udp send fail:oppositeIp${this.oppositeIp},oppositeIpPort:${this.oppositeIpPort},localIp:${this.localIp},localIpPort,${this.localIpPort}${JSON.stringify(err)}`, + }) promptAction.showToast({ message:`${TAG}getUDPudpCLient udp send fail:oppositeIp${this.oppositeIp},oppositeIpPort:${this.oppositeIpPort},localIp:${this.localIp},localIpPort,${this.localIpPort}`, duration:4000 @@ -208,7 +231,10 @@ export default class UdpClientByCenter { onError_Callback(callback?) { this.udp.on('error', async err => { this.isWorking = false; - console.log('getUDPUdpClientByCenter onError err:' + JSON.stringify(err),this.oppositeIpPort); + this.writeLog({ + time:dateFormat(new Date()), + PLC:'getUDPUdpClientByCenter onError err:' + JSON.stringify(err)+this.oppositeIpPort, + }) callback && callback() }); } @@ -216,10 +242,7 @@ export default class UdpClientByCenter { onError_resend(callback?) { this.udp.on('error', async err => { this.isWorking = false; - console.log(TAG, 'getUDPudpError', JSON.stringify(err)) - await this.bindUdp() - await this.sendMsg('111', null) - await this.onMessage_1(callback) + callback && callback() }); } @@ -265,13 +288,19 @@ export default class UdpClientByCenter { console.log('getUDPUdpClientByCenter enter closeUdp ip:' + this.localIp + ' port:' + this.localIpPort); this.udp.close(err => { if (err) { - console.log('getUDPUdpClientByCenter closeUdp failed ip:' + this.localIp + ' port:' + this.localIpPort + ' err:' + JSON.stringify(err)); + this.writeLog({ + time:dateFormat(new Date()), + PLC:'getUDPUdpClientByCenter closeUdp err:' + JSON.stringify(err)+this.oppositeIpPort, + }) } else { this.isWorking = false if (callback != null) { callback() } - console.log('getUDPUdpClientByCenter closeUdp succeed ip:' + this.localIp + ' port:' + this.localIpPort); + this.writeLog({ + time:dateFormat(new Date()), + PLC:'getUDPUdpClientByCenter closeUdp succeed:' + JSON.stringify(err)+this.oppositeIpPort, + }) } }) } diff --git a/entry/src/main/ets/common/utils/UdpJudge.ts b/entry/src/main/ets/common/utils/UdpJudge.ts index e72a75cb..0e75acc5 100644 --- a/entry/src/main/ets/common/utils/UdpJudge.ts +++ b/entry/src/main/ets/common/utils/UdpJudge.ts @@ -5,7 +5,7 @@ import { judgeConfig } from '../../pages/judgeSDK/utils/judgeConfig'; import { setJudgeUdp, setTopLineUdp } from './GlobalUdp'; import { convertGpsCoord2 } from '../utils/tools'; import {examCalcGpsDistance} from '../../pages/judgeSDK/api' -import GetDistance from './GetDistance' +import GetDistance from '../utils/GetDistance' export const initJudgeUdp = async () => { globalThis.serialIndex = 0; globalThis.udpIndex = 0; @@ -35,7 +35,7 @@ export const initJudgeUdp = async () => { const jd = convertGpsCoord2(msgArr[96]*1); const wd = convertGpsCoord2(msgArr[95]*1 || 0); udp.send(bytes) - if(prevJd){ + if(prevJd && msgArr[83] == 4){ const distance = await examCalcGpsDistance({ jd1:prevJd, wd1:preWd, @@ -43,7 +43,11 @@ export const initJudgeUdp = async () => { wd2:wd, h:msgArr[90]*1 || 1, }) - globalThis.distanceClass.setTimeData(Math.floor(distance/100)) + if(distance < 1){ + return + } + //@ts-ignore + globalThis.distanceClass.setTimeData(((distance / 100).toFixed(2)) * 1) } prevJd = jd; preWd = wd; @@ -59,7 +63,7 @@ export const getMessageHeartbeat = async (msg) => { const {fourInOneScreen:{gpsDigit}} = judgeConfig const asclshArr = stringToASC(fillZero( globalThis.singlePlay - ?'1111111111111' + ? '1111111111111' : globalThis.lsh, 13)); const ascksyhArr = stringToASC(fillZero('1111111111111', 13)) @@ -70,7 +74,7 @@ export const getMessageHeartbeat = async (msg) => { const examType = examSubject == 2?2:3 const {sensor,gps} = tempData; const {zfxd,yfxd,shtd,ygd,jgd,skd,dh1,dh2,lhq,jsc,ssc,fsc,lb,mkg,aqd,ygq,cs,fdjzs} = sensor - const {jd,wd, hxj, fyj, hbg,} = gps + const {jd,wd, hxj, fyj, hbg,sd} = gps const translateSignals = getTranslateSignals( [zfxd, yfxd, shtd, ygd, jgd, skd, dh1, dh2, lhq, jsc, ssc, fsc, lb, mkg, aqd, 0, 0, 0, 0, 0, 0, ygq, sensor.wd, 0] ) @@ -81,6 +85,12 @@ export const getMessageHeartbeat = async (msg) => { const translateWd = convertGpsCoord2(jd).toFixed(gpsDigit) * Math.pow(10, gpsDigit) //@ts-ignore const translateProjects = translateProject.map(numStr => string2Bytes(parseInt(numStr, 2), 8)[0]) + //@ts-ignore + let tempSd = (sd * 1.852).toFixed(0) * 1 + if(tempSd < 1){ + tempSd = 0 + } + const arr = [ //考生号 asclshArr.map(lsh => string2Bytes(lsh, 8)[0]), @@ -92,7 +102,7 @@ export const getMessageHeartbeat = async (msg) => { string2Bytes(serialIndex, 2 * 8), translateSignals, //@ts-ignore - string2Bytes(Math.floor(gps.sd*1.852) * 100, 2 * 8), string2Bytes(fdjzs / 100, 8), string2Bytes(translateJd, 4 * 8), string2Bytes(translateWd, 4 * 8), string2Bytes(1, 8), + string2Bytes(tempSd * 100, 2 * 8), string2Bytes(fdjzs / 100, 8), string2Bytes(translateJd, 4 * 8), string2Bytes(translateWd, 4 * 8), string2Bytes(1, 8), //GPS东向距离 string2Bytes(0, 4 * 8), //GPS北向距离 diff --git a/entry/src/main/ets/common/utils/request.ts b/entry/src/main/ets/common/utils/request.ts index e0ff201c..42e33456 100644 --- a/entry/src/main/ets/common/utils/request.ts +++ b/entry/src/main/ets/common/utils/request.ts @@ -70,11 +70,7 @@ export default async function request(req: any) { if(res.head.resultCode === '0'){ return res }else{ - globalThis.type='1' const resultMessage = res?.body?.resultMessage || res?.head?.resultMessage - // AppStorage.SetOrCreate('errorMsg', 1); - globalThis.title=decodeURIComponent(resultMessage) - globalThis.errorDialog.open() prompt.showToast({ message: decodeURIComponent(resultMessage), duration: 3000 @@ -89,14 +85,6 @@ export default async function request(req: any) { if(resObj.resultCode === '0') { return res }else { - globalThis.type='1' - if(!host){ - // AppStorage.SetOrCreate('errorMsg', 1); - globalThis.title=decodeURIComponent(resObj.resultMessage) - globalThis.errorDialog.open() - - } - prompt.showToast({ message: decodeURIComponent(resObj.resultMessage), duration: 3000 @@ -162,8 +150,9 @@ function handleCenterCode(msgXml,isNewCenter){ const {code,message,keystr} = result if(code != '1'){ const rMessage = decodeURIComponent(message as string) - globalThis.title=rMessage - globalThis.errorDialog.open() + // globalThis.title=rMessage + // globalThis.type='1' + // globalThis.errorDialog.open() prompt.showToast({ message:rMessage, duration: 3000 @@ -186,8 +175,9 @@ function handleCenterCode(msgXml,isNewCenter){ message: decodeURIComponent(message as string), duration: 3000 }); - globalThis.title=decodeURIComponent(message as string) - globalThis.errorDialog.open() + // globalThis.type='1' + // globalThis.title=decodeURIComponent(message as string) + // globalThis.errorDialog.open() return {code,message:decodeURIComponent(message)} }else{ return { code } diff --git a/entry/src/main/ets/common/utils/tools.ts b/entry/src/main/ets/common/utils/tools.ts index 35b3a55b..185efdc6 100644 --- a/entry/src/main/ets/common/utils/tools.ts +++ b/entry/src/main/ets/common/utils/tools.ts @@ -1,7 +1,14 @@ //@ts-ignore import systemTime from '@ohos.systemDateTime'; import { expect } from '@ohos/hypium'; +import FileUtil from './File'; +export async function writeLog(path,param){ + const fileUtil = new FileUtil(globalThis.context) + const date=dateFormat(new Date).split(' ')[0] + const folderPath = await fileUtil.initFolder(`/${path}/${date}`); + fileUtil.editFile(`${folderPath}/plcLog.txt`, JSON.stringify(param)+`\n`) +} ///**时间格式化*/ //export function dateFormat(fmt, date) { // var ret; diff --git a/entry/src/main/ets/pages/Index.ets b/entry/src/main/ets/pages/Index.ets index 83bc9464..485eb300 100644 --- a/entry/src/main/ets/pages/Index.ets +++ b/entry/src/main/ets/pages/Index.ets @@ -10,7 +10,7 @@ import FileUtil from '../common/utils/File'; import { getUDP, getUDP2 } from '../common/utils/GlobalUdp'; import { initJudgeUdp } from '../common/utils/UdpJudge'; import { getTCP } from '../common/utils/GlobalTcp'; -import { getliushuiNum, setliushuiNum, takePhotoFn,deleteAllFIleLog } from '../common/service/indexService'; +import { getliushuiNum, setliushuiNum, takePhotoFn, deleteAllFIleLog } from '../common/service/indexService'; import abilityAccessCtrl, { Permissions } from '@ohos.abilityAccessCtrl'; import worker, { MessageEvents } from '@ohos.worker'; import promptAction from '@ohos.promptAction' @@ -18,6 +18,8 @@ import { voiceService } from '../common/service/voiceService'; import errorMsgDialog from './compontents/errorMsgDialog' import { getSyncData } from '../common/service/initable'; import GetDistance from '../common/utils/GetDistance' +// import VoiceAnnounce from './judgeSDK/utils/voiceAnnouncements'; + @Entry @Component struct Index { @@ -106,8 +108,8 @@ struct Index { }, 1000) this.angle = 0 if (!globalThis.timeInfo) { - globalThis.type='1' - globalThis.title='时间同步接口连接失败' + globalThis.type = '1' + globalThis.title = '时间同步接口连接失败' this.errorDialog.open() promptAction.showToast({ message: `时间同步接口连接失败`, @@ -121,8 +123,8 @@ struct Index { message: `车辆信息接口获取失败`, duration: 3000 }); - globalThis.type='1' - globalThis.title='车辆信息接口获取失败' + globalThis.type = '1' + globalThis.title = '车辆信息接口获取失败' this.errorDialog.open() this.loading = false return @@ -289,7 +291,7 @@ struct Index { this.angle = 0 this.loading = false globalThis.lsh = '1111111111111' - globalThis.errorDialog=this.errorDialog + globalThis.errorDialog = this.errorDialog const distanceClass = new GetDistance(globalThis.context) await distanceClass.initFolder() globalThis.distanceClass = distanceClass @@ -312,7 +314,7 @@ struct Index { centerHost: globalThis.timeInfo.url, singlePlay: globalThis.singlePlay } - console.log('globalThis.timeInfo',JSON.stringify(globalThis.timeInfo),'globalThis.carInfo',JSON.stringify(globalThis.carInfo)) + console.log('globalThis.timeInfo', JSON.stringify(globalThis.timeInfo), 'globalThis.carInfo', JSON.stringify(globalThis.carInfo)) this.loading = true workerInstance.postMessage(param); workerInstance.onmessage = (e: MessageEvents): void => { @@ -330,15 +332,16 @@ struct Index { } async heartMsg() { + console.log('kkkkmmm') const arr = [globalThis.signNum || 0, globalThis.statue || 1] - let tmpList = [];d + let tmpList = []; tmpList.push(string2Bytes(arr[0], 1 * 8)[0]) tmpList.push(string2Bytes(arr[1], 1 * 8)[0]) const str = globalThis.lsh || '0000000000000' for (let i = 0; i < str.length; i++) { tmpList.push(string2Bytes(str.charCodeAt(i), 1 * 8)[0]) } - console.log('globalThis.carInfo', JSON.stringify(globalThis.carInfo)) + console.log('kkkkmmm.carInfo', JSON.stringify(globalThis.carInfo)) const param = { id: 31, @@ -409,7 +412,7 @@ struct Index { } async initParams() { - deleteAllFIleLog() + deleteAllFIleLog(GlobalConfig.comoonfileWriteAddress + '/PLC/') //设置plc udp 同步requesthost await getUDP(this.context, false) this.loading = false @@ -425,9 +428,9 @@ struct Index { this.hasAuth = globalThis.hasAuth; initJudgeUdp() takePhotoFn(this.context) - console.log('deviceIddeviceId', globalThis.deviceNo, this.deviceNo) clearInterval(this.interval) this.interval = setInterval(() => { + console.log('kkkkmmm') this.num++ setliushuiNum(this.context) getliushuiNum(this.context)