表修改

This commit is contained in:
lvyuankang 2024-07-03 16:19:55 +08:00
parent da0db68a59
commit 9c83bdae52
9 changed files with 136 additions and 185 deletions

View File

@ -62,6 +62,8 @@ const centerToMap={
'SystemParm':MA_SYSTEMPARM, 'SystemParm':MA_SYSTEMPARM,
'mapCollectList':MA_MAP_COLLECT, 'mapCollectList':MA_MAP_COLLECT,
'mapCollectshapeList':MA_MAP_COLLECT_SHAPE, 'mapCollectshapeList':MA_MAP_COLLECT_SHAPE,
'Map_Collect': MA_MAP_COLLECT,
'Map_Collect_Shape': MA_MAP_COLLECT_SHAPE,
'Map_ItemClass':MA_MAP_ITEMCLASS, 'Map_ItemClass':MA_MAP_ITEMCLASS,
'Map_Point':MA_MAP_POINT, 'Map_Point':MA_MAP_POINT,
'Map_Point_Item':MA_MAP_POINT_ITEM, 'Map_Point_Item':MA_MAP_POINT_ITEM,
@ -166,9 +168,9 @@ export async function getDataBaseTable(params,reqParam) {
let str='(' let str='('
map[params.tableName].ACCOUNT_TABLE.columns.map((res,index)=>{ map[params.tableName].ACCOUNT_TABLE.columns.map((res,index)=>{
if(map[params.tableName].ACCOUNT_TABLE.columns.length-1==index){ if(map[params.tableName].ACCOUNT_TABLE.columns.length-1==index){
str+=`"${data[res]||'1'}"` str+=data[res]?`"${data[res]}"`:'NULL'
}else{ }else{
str+=`"${data[res]||'1'}"`+',' str+=(data[res]?`"${data[res]}"`:'NULL')+','
} }
}) })
if(i==res.body[params.tableName].length-1){ if(i==res.body[params.tableName].length-1){
@ -400,8 +402,8 @@ function setSyncCenterSqlData(key,res,param){
'ItemInfo':'MA_ITEMINFO', 'ItemInfo':'MA_ITEMINFO',
'MarkRule':'MA_MARKRULE', 'MarkRule':'MA_MARKRULE',
'SystemParm':'MA_SYSTEMPARM', 'SystemParm':'MA_SYSTEMPARM',
'MA_MAP_COLLECT':'MA_MAP_COLLECT', 'Map_Collect': 'MA_MAP_COLLECT',
'MA_MAP_COLLECT_SHAPE':'MA_MAP_COLLECT_SHAPE', 'Map_Collect_Shape': 'MA_MAP_COLLECT_SHAPE',
'Map_ItemClass':'MA_MAP_ITEMCLASS', 'Map_ItemClass':'MA_MAP_ITEMCLASS',
'Map_Point':'MA_MAP_POINT', 'Map_Point':'MA_MAP_POINT',
'Map_Point_Item':'MA_MAP_POINT_ITEM', 'Map_Point_Item':'MA_MAP_POINT_ITEM',
@ -418,7 +420,6 @@ function setSyncCenterSqlData(key,res,param){
} }
// const accountTable = new AccountTable(() => { // const accountTable = new AccountTable(() => {
// }, centerToMap[key],param.context); // }, centerToMap[key],param.context);
console.log('kkkkkkkkk',key)
let arrList let arrList
if(res.initializationRsp.body[key].record instanceof Array){ if(res.initializationRsp.body[key].record instanceof Array){
arrList =res.initializationRsp.body[key].record arrList =res.initializationRsp.body[key].record

View File

@ -1,105 +1,60 @@
import TcpClient from './TcpClient'; import TcpClient from './TcpClient';
import { getSyncData} from '../service/initable' import { getSyncData} from '../service/initable'
import hilog from '@ohos.hilog'; import hilog from '@ohos.hilog';
export async function getTCP() {
export async function getTCP(flag?) {
getSyncData('IpConfigTable').then(async (result:Array<any>)=>{ getSyncData('IpConfigTable').then(async (result:Array<any>)=>{
console.log('result222',JSON.stringify(result)) console.log('result222',JSON.stringify(result))
if(result.length){ if(result.length){
if(globalThis.TcpClient&&globalThis.TcpClient.closeTcp){ if(globalThis.TcpClient&&globalThis.TcpClient.closeTcp){
globalThis.TcpClient.closeTcp(async ()=>{ globalThis.TcpClient.closeTcp(async ()=>{
if(!flag){ // const tcpClient: TcpClient =new TcpClient(result[0].tcplocalIp, result[0].tcplocalIpPort,result[0].tcpOppositeIp,result[0].tcpOppositePort)
return // globalThis.TcpClient = tcpClient
}
setTimeout(async ()=>{ setTimeout(async ()=>{
await globalThis.TcpClient.rebindTcp(result[0].tcplocalIp, result[0].tcplocalIpPort,result[0].tcpOppositeIp,result[0].tcpOppositePort) await globalThis.TcpClient.rebindTcp(result[0].tcplocalIp, result[0].tcplocalIpPort,result[0].tcpOppositeIp,result[0].tcpOppositePort)
await globalThis.TcpClient.connectTcp() await globalThis.TcpClient.connectTcp()
await globalThis.TcpClient.sendMsg(globalThis.carInfo?.carNo || '402') //1002 await globalThis.TcpClient.sendMsg('1002')//1002
globalThis.TcpClient.onError()
await globalThis.TcpClient.onMessage((val)=>{ await globalThis.TcpClient.onMessage((val)=>{
hilog.info(0x0000, 'testTag', "valvalval1" + JSON.stringify(val));
// console.log('valvalval',val)
setTimeout(()=>{ setTimeout(()=>{
globalThis.TcpClient.sendMsg(globalThis.carInfo?.carNo || '402') //1002 globalThis.TcpClient.sendMsg('1002')//1002
if (val && globalThis.udpClient && globalThis.udpClient.sendMsg) { if(val&&!globalThis.closeUDPSocket){
// const msg=val.substring(5,val.length-1) // const msg=val.substring(5,val.length-1)
console.log('socketTag[PLC.UdpClient]closeUDPSocket',globalThis.closeUDPSocket)
globalThis.udpClient?.sendMsg(val) globalThis.udpClient?.sendMsg(val)
} }
},1000) },1000)
}) })
globalThis.TcpClient.onError(async () => { },2000)
await globalThis.TcpClient.rebindTcp(result[0].tcplocalIp, result[0].tcplocalIpPort, result[0].tcpOppositeIp, result[0].tcpOppositePort)
await globalThis.TcpClient.connectTcp()
await globalThis.TcpClient.sendMsg(globalThis.carInfo?.carNo || '402') //1002
await globalThis.TcpClient.onMessage((val) => {
hilog.info(0x0000, 'testTag', "valvalval1" + JSON.stringify(val));
// console.log('valvalval',val)
setTimeout(() => {
globalThis.TcpClient.sendMsg(globalThis.carInfo?.carNo || '402') //1002
if (val && globalThis.udpClient && globalThis.udpClient.sendMsg) {
// const msg=val.substring(5,val.length-1)
globalThis.udpClient?.sendMsg(val)
}
}, 1000)
})
})
},1000)
}) })
} }else{
else {
// prompt.showToast({
// message:'初始化localIp'+ result[0].localIp+ result[0].localIpPort+'oppositeIp'+result[0].oppositeIp+result[0].oppositeIpPort,
// duration: 1000
// });
const tcpClient: TcpClient =new TcpClient(result[0].tcplocalIp, result[0].tcplocalIpPort,result[0].tcpOppositeIp,result[0].tcpOppositePort) const tcpClient: TcpClient =new TcpClient(result[0].tcplocalIp, result[0].tcplocalIpPort,result[0].tcpOppositeIp,result[0].tcpOppositePort)
globalThis.TcpClient = tcpClient globalThis.TcpClient = tcpClient
await globalThis.TcpClient.bindTcp() await globalThis.TcpClient.bindTcp()
await globalThis.TcpClient.connectTcp() await globalThis.TcpClient.connectTcp()
await globalThis.TcpClient.sendMsg(globalThis.carInfo?.carNo || '402') //1002 await globalThis.TcpClient.sendMsg('1002')//1002
globalThis.TcpClient.onError()
await globalThis.TcpClient.onMessage((val)=>{ await globalThis.TcpClient.onMessage((val)=>{
hilog.info(0x0000, 'testTag', "valvalval2" + JSON.stringify(val)); hilog.info(0x0000, 'testTag', "valvalval2" + JSON.stringify(val));
setTimeout(()=>{ setTimeout(()=>{
globalThis.TcpClient.sendMsg(globalThis.carInfo?.carNo || '402') //1002 globalThis.TcpClient.sendMsg('1002')//1002
if (val && globalThis.udpClient && globalThis.udpClient.sendMsg) { if(val&&!globalThis.closeUDPSocket){
// const msg=val.substring(5,val.length-1) // const msg=val.substring(5,val.length-1)
console.log('socketTag[PLC.UdpClient]closeUDPSocket',globalThis.closeUDPSocket)
globalThis.udpClient?.sendMsg(val) globalThis.udpClient?.sendMsg(val)
} }
},1000) },1000)
}) })
globalThis.TcpClient.onError(async () => {
const tcpClient: TcpClient = new TcpClient(result[0].tcplocalIp, result[0].tcplocalIpPort, result[0].tcpOppositeIp, result[0].tcpOppositePort)
globalThis.TcpClient = tcpClient
await globalThis.TcpClient.bindTcp()
await globalThis.TcpClient.connectTcp()
await globalThis.TcpClient.sendMsg(globalThis.carInfo?.carNo || '402') //1002
await globalThis.TcpClient.onMessage((val) => {
hilog.info(0x0000, 'testTag', "valvalval2" + JSON.stringify(val));
setTimeout(() => {
globalThis.TcpClient.sendMsg(globalThis.carInfo?.carNo || '402') //1002
if (val && globalThis.udpClient && globalThis.udpClient.sendMsg) {
// const msg=val.substring(5,val.length-1)
globalThis.udpClient?.sendMsg(val)
}
}, 1000)
})
})
} }
// globalThis.udpClient = new UdpClient(result[0].localIp, result[0].localIpPort,result[0].oppositeIp,result[0].oppositeIpPort) // globalThis.udpClient = new UdpClient(result[0].localIp, result[0].localIpPort,result[0].oppositeIp,result[0].oppositeIpPort)
}else{ }else{
globalThis.TcpClient={} globalThis.TcpClient={}
globalThis.TcpClient.onMessage = () => { globalThis.TcpClient.onMessage=()=>{}
}
} }
}) })
} }

View File

@ -1,7 +1,7 @@
import socket from '@ohos.net.socket'; import socket from '@ohos.net.socket';
import buffer from '@ohos.buffer'; import buffer from '@ohos.buffer';
const TAG = '[TcpDemo.TcpClient]' const TAG = 'socketTag[TcpDemo.TcpClient]'
import prompt from '@ohos.prompt' import prompt from '@ohos.prompt'
import hilog from '@ohos.hilog'; import hilog from '@ohos.hilog';
@ -18,12 +18,12 @@ export default class TcpClient {
this.oppositeIp = tcpOppositeIp this.oppositeIp = tcpOppositeIp
this.localIpPort = tcplocalIpPort this.localIpPort = tcplocalIpPort
this.oppositeIpPort = tcpOppositePort this.oppositeIpPort = tcpOppositePort
console.log('tcp1111',this.localIp,this.localIpPort,this.oppositeIp,this.oppositeIpPort) console.log(TAG,'new Tcp',this.localIp,this.localIpPort,this.oppositeIp,this.oppositeIpPort)
this.tcp = socket.constructTCPSocketInstance(); this.tcp = socket.constructTCPSocketInstance();
} }
onError(callback?){ onError(callback?){
this.tcp.on('error', err => { this.tcp.on('error', err => {
hilog.info(0x0000, 'testTag', "on error, err:" + JSON.stringify(err)); console.log(TAG,'tcpOnerror', JSON.stringify(err))
callback&&callback() callback&&callback()
// this.closeUdp(()=>{ // this.closeUdp(()=>{
// this.bindUdp() // this.bindUdp()
@ -32,11 +32,11 @@ export default class TcpClient {
} }
rebindTcp(localIp: string, localIpPort:string,oppositeIp: string,oppositeIpPort:string){ rebindTcp(localIp: string, localIpPort:string,oppositeIp: string,oppositeIpPort:string){
return new Promise((resolve, reject)=>{ return new Promise((resolve, reject)=>{
this.localIp = localIp this.localIp = localIp
this.oppositeIp = oppositeIp this.oppositeIp = oppositeIp
this.localIpPort = localIpPort this.localIpPort = localIpPort
this.oppositeIpPort = oppositeIpPort this.oppositeIpPort = oppositeIpPort
console.log(TAG,'tcpreBind', this.localIp,this.localIpPort)
let promise=this.tcp.bind({ address: this.localIp, port:parseInt(this.localIpPort), family: 1 }, err => { let promise=this.tcp.bind({ address: this.localIp, port:parseInt(this.localIpPort), family: 1 }, err => {
if (err) { if (err) {
hilog.info(0x0000, 'testTag', "tcpreBinderror:" + JSON.stringify(err)); hilog.info(0x0000, 'testTag', "tcpreBinderror:" + JSON.stringify(err));
@ -57,7 +57,7 @@ export default class TcpClient {
} }
bindTcp() { bindTcp() {
console.log('tcpoppositeIp',this.oppositeIp,'localIp',this.localIp) console.log(TAG,'tcpbind',this.localIp,'localIp',this.localIpPort)
return new Promise((resolve,reject)=>{ return new Promise((resolve,reject)=>{
let promise=this.tcp.bind({ address: this.localIp, port:parseInt(this.localIpPort), family: 1 }, err => { let promise=this.tcp.bind({ address: this.localIp, port:parseInt(this.localIpPort), family: 1 }, err => {
if (err) { if (err) {
@ -82,8 +82,7 @@ export default class TcpClient {
} }
connectTcp(){ connectTcp(){
console.log('testTagtcbpoppositeIp',this.oppositeIp,this.oppositeIpPort,'localIp',this.localIp,this.localIpPort) console.log(TAG,'tcpConnect',this.oppositeIp,'localIp',this.oppositeIpPort)
console.log('22323')
return new Promise((resolve,reject)=>{ return new Promise((resolve,reject)=>{
let promise = this.tcp.connect({ address: {address: this.oppositeIp, port: parseInt(this.oppositeIpPort), family: 1} , timeout: 6000}); let promise = this.tcp.connect({ address: {address: this.oppositeIp, port: parseInt(this.oppositeIpPort), family: 1} , timeout: 6000});
promise.then(() => { promise.then(() => {
@ -112,7 +111,7 @@ export default class TcpClient {
} }
sendMsg(msg: string) { sendMsg(msg: string) {
console.log('testTagsendoppositeIp',this.oppositeIp) console.log(TAG,'tcpSend',msg.length,msg)
return new Promise((reslove,reject)=>{ return new Promise((reslove,reject)=>{
let promise = this.tcp.send({ let promise = this.tcp.send({
data:msg data:msg
@ -123,29 +122,12 @@ export default class TcpClient {
reslove(false) reslove(false)
}); });
}) })
// let promise = this.udp.send({
// data: msg,
// address: {
// // address: '192.168.7.124',
// // port: 30013,
// // address: '192.168.7.124',
// // port: 20022,
// address: this.oppositeIp,
// port: parseInt(this.oppositeIpPort),
// family: 1
// }
// });
// promise.then(() => {
// console.log(`${TAG} udp send success:${msg}`);
// }).catch(err => {
// console.log(`${TAG} udp send fail:${JSON.stringify(err)}`);
// });
} }
onMessage(callback?) { onMessage(callback?) {
this.tcp.on('message', value => { this.tcp.on('message', value => {
console.log(TAG,'Tcponmessage',value.length,value)
// console.log('messageLengt',,value.message.length)) // console.log('messageLengt',,value.message.length))
console.log('testTagtcpmsg') console.log('testTagtcpmsg')
// console.log("on message, message:" + value.message+ ", remoteInfo:" ) // console.log("on message, message:" + value.message+ ", remoteInfo:" )
@ -160,39 +142,22 @@ export default class TcpClient {
} }
// callback(value.message) // callback(value.message)
}); });
// this.udp.on('message', value => {
// // 收到的是ArrayBuffer 需要进行转换解析
// if (value) {
// let dataView = new DataView(value.message)
// // console.log(`${TAG} udp message 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
// }
// }
// console.log(`${TAG} udp on message array buffer:${str}`);
// callback(str)
// }else{
// callback('')
// }
//
//
// });
} }
offTcp(callback) { offTcp(callback) {
console.log(TAG,'tcpofff')
this.tcp.off('testTagofmessg', callback); this.tcp.off('testTagofmessg', callback);
} }
closeTcp(callback) { closeTcp(callback) {
return new Promise((reslove,reject)=>{ return new Promise((reslove,reject)=>{
console.log(TAG,'tcpClose')
let promise = this.tcp.close(); let promise = this.tcp.close();
promise.then(() => { promise.then(() => {
console.log('testTagclose success'); console.log(TAG,'tcpCloseSuccess')
callback() callback()
reslove(true) reslove(true)
}).catch(err => { }).catch(err => {
console.log('testTagclose fail'); console.log(TAG,'tcpClosefailed')
reslove(false) reslove(false)
}); });
}) })

View File

@ -17,10 +17,11 @@ import socket from '@ohos.net.socket';
import { Array2Byte } from '../utils/tools' import { Array2Byte } from '../utils/tools'
import {getChuankouFn} from '../../common/service/indexService' import {getChuankouFn} from '../../common/service/indexService'
const TAG = '[PLC.UdpClient]' const TAG = 'socketTag[PLC.UdpClient]'
import prompt from '@ohos.prompt' import prompt from '@ohos.prompt'
import hilog from '@ohos.hilog'; import hilog from '@ohos.hilog';
let num=0
export default class UdpClient { export default class UdpClient {
private localIp: string = '' private localIp: string = ''
private localIpPort: string = '' private localIpPort: string = ''
@ -36,39 +37,40 @@ export default class UdpClient {
this.localIpPort = udplocalIpPort this.localIpPort = udplocalIpPort
this.oppositeIpPort = udpOppositeIpPort this.oppositeIpPort = udpOppositeIpPort
getChuankouFn() getChuankouFn()
console.log(TAG,'newUdp')
// this.stashFn=()=>{} // this.stashFn=()=>{}
this.udp = socket.constructUDPSocketInstance(); this.udp = socket.constructUDPSocketInstance();
} }
rebindUdp(localIp: string, localIpPort: string, oppositeIp: string, oppositeIpPort: string) { rebindUdp(localIp: string, localIpPort: string, oppositeIp: string, oppositeIpPort: string) {
console.log(TAG,'rebindUdp',this.localIp,this.localIpPort)
this.localIp = localIp this.localIp = localIp
this.oppositeIp = oppositeIp this.oppositeIp = oppositeIp
this.localIpPort = localIpPort this.localIpPort = localIpPort
this.oppositeIpPort = oppositeIpPort this.oppositeIpPort = oppositeIpPort
hilog.info(0x0000, 'udpCLient', 'rebind'+this.localIp+this.localIpPort);
let promise = this.udp.bind({ let promise = this.udp.bind({
address: this.localIp, port: parseInt(this.localIpPort), family: 1 address: this.localIp, port: parseInt(this.localIpPort), family: 1
}); });
promise.then(() => { promise.then(() => {
console.log(`${TAG}udpCLient udp rebind success`); globalThis.closeUDPSocket=false
console.log(`${TAG},udpCLient udp rebind success`);
}).catch(err => { }).catch(err => {
console.log(`${TAG}udpCLient udp rebind failed:${JSON.stringify(err)}`); console.log(`${TAG},udpCLient udp rebind failed:${JSON.stringify(err)}`);
}); });
} }
bindUdp() { bindUdp() {
console.log('localIp', this.localIp) console.log(TAG,'udpbind',this.localIp,this.localIpPort)
console.log('localIpPort', this.localIpPort)
hilog.info(0x0000, 'udpCLient', 'bind'+ this.localIp+this.localIpPort);
let promise = this.udp.bind({ let promise = this.udp.bind({
// address: '192.168.7.170', port: 20122, family: 1 // address: '192.168.7.170', port: 20122, family: 1
// address: '192.168.7.170', port: 31013, family: 1 // address: '192.168.7.170', port: 31013, family: 1
address: this.localIp, port: parseInt(this.localIpPort), family: 1 address: this.localIp, port: parseInt(this.localIpPort), family: 1
}); });
promise.then(() => { promise.then(() => {
globalThis.closeUDPSocket=false
console.log(`${TAG}udpCLient udp bind success`); console.log(`${TAG}udpCLient udp bind success`);
}).catch(err => { }).catch(err => {
@ -79,9 +81,7 @@ export default class UdpClient {
// this.stashFn=callback?callback:()=>{} // this.stashFn=callback?callback:()=>{}
} }
sendMsg(msg) { sendMsg(msg) {
console.log('sendsnd01') console.log(TAG,'UdpSend1111',this.oppositeIp,this.oppositeIpPort)
hilog.info(0x0000, 'udpCLient', 'send');
console.log('udpdiushisend')
let promise = this.udp.send({ let promise = this.udp.send({
data: msg, data: msg,
@ -96,16 +96,14 @@ export default class UdpClient {
} }
}); });
promise.then(() => { promise.then(() => {
console.log(`${TAG}udpCLient udp send success:${msg}`); console.log(`${TAG}udpCLient udp send success:oppositeIp${this.oppositeIp},oppositeIpPort:${this.oppositeIpPort},localIp:${this.localIp},localIpPort,${this.localIpPort}`);
}).catch(err => { }).catch(err => {
console.log(`${TAG}udpCLient udp send fail:${JSON.stringify(err)}`); console.log(`${TAG}udpCLient udp send fail:oppositeIp${this.oppositeIp},oppositeIpPort:${this.oppositeIpPort},localIp:${this.localIp},localIpPort,${this.localIpPort}`);
}); });
} }
onError(callback?){ onError(callback?){
this.udp.on('error',async err => { this.udp.on('error',async err => {
console.log('udpdiushierroring') console.log(TAG,'udpError',JSON.stringify(err))
hilog.info(0x0000, 'udpCLientonerror', 'error'+ JSON.stringify(err));
console.log("on error, err:" + JSON.stringify(err))
await this.bindUdp() await this.bindUdp()
await this.sendMsg('111') await this.sendMsg('111')
await this.onMessage(callback) await this.onMessage(callback)
@ -119,11 +117,8 @@ export default class UdpClient {
onMessage(callback?) { onMessage(callback?) {
this.udp.on('message', value => { this.udp.on('message', value => {
console.log('udpdiushimsg') console.log(TAG,'udponmessage')
// 收到的是ArrayBuffer 需要进行转换解析 // 收到的是ArrayBuffer 需要进行转换解析
hilog.info(0x0000, 'udpCLient', 'onmessage');
globalThis.plcUdpError = false globalThis.plcUdpError = false
if (value) { if (value) {
@ -169,10 +164,18 @@ export default class UdpClient {
globalThis.messageTimer = setInterval(() => { globalThis.messageTimer = setInterval(() => {
const lightLineUdp = globalThis.lightLineUdp const lightLineUdp = globalThis.lightLineUdp
const isJudge = globalThis.isJudge const isJudge = globalThis.isJudge
setTimeout(() => { setTimeout(async () => {
//程序断开 //程序断开
lightLineUdp?.send(globalThis.plcUdpError ? arrRedBuffer : (isJudge ? arrGreenBugger : arrBlueBuffer)); lightLineUdp?.send(globalThis.plcUdpError ? arrRedBuffer : (isJudge ? arrGreenBugger : arrBlueBuffer));
if (globalThis.plcUdpError) { if (globalThis.plcUdpError) {
num++
console.log(TAG,'plc udp信号丢失')
if(num==3){
await this.bindUdp()
await this.sendMsg('111')
await this.onMessage(callback)
num=0
}
prompt.showToast({ prompt.showToast({
message: 'plc udp信号丢失', message: 'plc udp信号丢失',
duration: 2000 duration: 2000
@ -184,12 +187,12 @@ export default class UdpClient {
} }
closeUdp(callback) { closeUdp(callback) {
globalThis.closeUDPSocket=true
this.udp.close(err => { this.udp.close(err => {
hilog.info(0x0000, 'udpCLient', 'close'); hilog.info(0x0000,TAG, 'udpCLient', 'close');
if (err) { if (err) {
hilog.info(0x0000, 'udpCLient', 'closeonerror'); hilog.info(0x0000,TAG, 'udpCLient', 'closeonerror');
} else { } else {
this.udp.getState((err, data) => { this.udp.getState((err, data) => {

View File

@ -61,6 +61,7 @@ export default class UdpClientByCenter {
}); });
promise.then(() => { promise.then(() => {
globalThis.closeHeartSocket=false
console.log(`${TAG} udp bind success`); console.log(`${TAG} udp bind success`);
}).catch(err => { }).catch(err => {
@ -77,6 +78,7 @@ export default class UdpClientByCenter {
address: this.localIp, port: parseInt(this.localIpPort), family: 1 address: this.localIp, port: parseInt(this.localIpPort), family: 1
}); });
promise.then(() => { promise.then(() => {
globalThis.closeHeartSocket=false
console.log(`${TAG} udp bind success`); console.log(`${TAG} udp bind success`);
}).catch(err => { }).catch(err => {
@ -149,6 +151,15 @@ export default class UdpClientByCenter {
console.log(`${TAG} udpLine send fail:${JSON.stringify(err)}`); console.log(`${TAG} udpLine send fail:${JSON.stringify(err)}`);
}); });
} }
onError(callback?){
this.udp.on('error',async err => {
callback&&callback()
// callback&&callback()
// this.closeUdp(()=>{
// this.bindUdp()
// })
});
}
setMsgCallBack(callback){ setMsgCallBack(callback){
this.stashFn=callback?callback:()=>{} this.stashFn=callback?callback:()=>{}
} }
@ -182,7 +193,6 @@ export default class UdpClientByCenter {
} }
onMessage(callback,type?) { onMessage(callback,type?) {
this.udp.on('message', value => { this.udp.on('message', value => {
console.log('tttttttt')
let arr=[] let arr=[]
let dataView = new DataView(value.message) let dataView = new DataView(value.message)
for (let i = 0;i < dataView?.byteLength; ++i) { for (let i = 0;i < dataView?.byteLength; ++i) {
@ -204,6 +214,7 @@ export default class UdpClientByCenter {
} }
closeUdp(callback) { closeUdp(callback) {
globalThis.closeHeartSocket=true
this.udp.close(err=>{ this.udp.close(err=>{
if(err){ if(err){

View File

@ -86,7 +86,11 @@ export default async function request(req: any) {
}); });
} }
} catch (e) { } catch (e) {
const code = e.code; if(!e||!(e?.message)){
return false
}
const code = e?.code;
prompt.showToast({ prompt.showToast({
message: e?.message, message: e?.message,
duration: 5000 duration: 5000

View File

@ -71,13 +71,8 @@ export default struct Index {
username: this.inputTextArr[0], username: this.inputTextArr[0],
password: Md5.Instance.get_md5(this.inputTextArr[1]) password: Md5.Instance.get_md5(this.inputTextArr[1])
} }
console.log('paramparam', JSON.stringify(globalThis.carInfo)) console.log('carInfo', JSON.stringify(globalThis.carInfo))
examinerLoginService(param).then(res => { examinerLoginService(param).then(res => {
// this.vocObj.playAudio({
// type: 1,
// name: 'media_button.wav'
// })
// this.url='pages/userInfo'
router.pushUrl({ router.pushUrl({
url: 'pages/UserInfo', url: 'pages/UserInfo',
}, router.RouterMode.Single); }, router.RouterMode.Single);

View File

@ -1,4 +1,5 @@
import { VideoConfig } from './interfaces'; // @ts-nocheck
import { VideoConfig } from './interfaces'
import common from '@ohos.app.ability.common'; 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';
@ -13,8 +14,7 @@ import { getTCP } from '../common/utils/GlobalTcp';
import { getliushuiNum, setliushuiNum } from '../common/service/indexService'; import { getliushuiNum, setliushuiNum } from '../common/service/indexService';
import abilityAccessCtrl, { Permissions } from '@ohos.abilityAccessCtrl'; import abilityAccessCtrl, { Permissions } from '@ohos.abilityAccessCtrl';
import worker, { MessageEvents } from '@ohos.worker'; import worker, { MessageEvents } from '@ohos.worker';
import Prompt from '@system.prompt'; import promptAction from '@ohos.promptAction'
import { VideoConfigData } from '../mock';
@Entry @Entry
@Component @Component
@ -29,7 +29,7 @@ struct Index {
@State ratio: number = 1700 / 960 @State ratio: number = 1700 / 960
@State loading: boolean = true @State loading: boolean = true
@State fd: number = -1; @State fd: number = -1;
@State param: VideoConfig = VideoConfigData @State num: number = 0;
fileHelper = null; fileHelper = null;
private fileUtil: FileUtil private fileUtil: FileUtil
private interval = null; private interval = null;
@ -53,10 +53,28 @@ struct Index {
}) })
Image($r('app.media.btn_back')).width('14.4%').height('12.2%') Image($r('app.media.btn_back')).width('14.4%').height('12.2%')
.onClick(() => { .onClick(() => {
if (this.loading) { promptAction.showDialog({
return title: '提示',
message: '确认是否退出应用',
buttons: [
{
text: '确认',
color: '#000000',
},
{
text: '取消',
color: '#000000',
} }
],
})
.then(data => {
if (data.index == 0) {
router.back() router.back()
}
})
.catch(err => {
// reslove(false)
})
}) })
} }
} }
@ -77,7 +95,7 @@ struct Index {
}, 1000) }, 1000)
this.angle = 0 this.angle = 0
if (!globalThis.timeInfo) { if (!globalThis.timeInfo) {
Prompt.showToast({ promptAction.showToast({
message: `网络连接失败`, message: `网络连接失败`,
duration: 3000 duration: 3000
}); });
@ -219,13 +237,6 @@ struct Index {
}, router.RouterMode.Single) }, router.RouterMode.Single)
} }
this.loading = false this.loading = false
// let workData: WorkData = e.data;
// if (workData) {
// this.isComplete = workData.isComplete;
// this.json_Str = workData.jsonStr;
// console.log("baoyihu after postMessage json_Str:"+this.json_Str);
// workerInstance.terminate();
// }
} }
} }
@ -247,8 +258,10 @@ struct Index {
placeId: globalThis.carInfo.examinationRoomId placeId: globalThis.carInfo.examinationRoomId
} }
// globalThis.udpClient2.initHeartSendMsg(param,this.context) // globalThis.udpClient2.initHeartSendMsg(param,this.context)
if (!globalThis.closeHeartSocket) {
globalThis.udpClient2.sendMsg(param, this.context) globalThis.udpClient2.sendMsg(param, this.context)
} }
}
onPageShow() { onPageShow() {
this.loading = false this.loading = false
@ -256,11 +269,15 @@ struct Index {
this.userAuth(); this.userAuth();
getUDP() getUDP()
getUDP2() getUDP2()
this.num=0
clearInterval(this.interval) clearInterval(this.interval)
this.interval = setInterval(() => { this.interval = setInterval(() => {
this.num++
setliushuiNum(this.context) setliushuiNum(this.context)
getliushuiNum(this.context) getliushuiNum(this.context)
if(this.num>=3){
this.heartMsg() this.heartMsg()
}
}, 1000) }, 1000)
// takePhotoFn(this.context) // takePhotoFn(this.context)

View File

@ -3,7 +3,7 @@
//考试回放开关 //考试回放开关
export const judgeConfig = { export const judgeConfig = {
//本地目录开关 //本地目录开关
isTrajectoryOpen: true, isTrajectoryOpen: false,
//是否开启Udp //是否开启Udp
udpOpen:false, udpOpen:false,
// 本地模型地址 // 本地模型地址