wangzhongjie da6a85f02a Merge branch 'main' into wangzhongjie
# Conflicts:
#	entry/src/main/ets/pages/TerminalInfos.ets
#	entry/src/main/ets/pages/VideoConfig.ets
#	entry/src/main/ets/pages/compontents/SignDisplayCom.ets
2024-06-04 11:23:06 +08:00

135 lines
4.6 KiB
TypeScript

import UdpClient from './UdpClient';
import UdpClientByCenter from './UdpClientByCenter';
import { getSyncData} from '../service/initable'
import { dateFormat } from '../../common/utils/tools'
import prompt from '@ohos.prompt'
import TcpClient from './TcpClient';
import {string2Bytes} from '../../common/utils/tools'
export async function sendMsg(val){
// globalThis.udpClient1&&globalThis.udpClient1.sendMsg(val)
}
export async function getUDP(flag:Boolean=false) {
getSyncData('IpConfigTable').then((result:Array<any>)=>{
if(result.length){
if(!flag){
return
}
if(globalThis.udpClient&&globalThis.udpClient.closeUdp){
globalThis.udpClient.closeUdp(()=>{
globalThis.udpClient.rebindUdp(result[0].udplocalIp, result[0].udplocalIpPort,result[0].udpOppositeIp,result[0].udpOppositeIpPort)
globalThis.udpClient.sendMsg('111')
globalThis.host=`http://${result[0].centerIp}:${result[0].centerPort}`
globalThis.udpClient.onError(globalThis.udpClient.onMessage?globalThis.udpClient.onMessage:()=>{})
})
}else{
const udpClient: UdpClient =new UdpClient(result[0].udplocalIp, result[0].udplocalIpPort,result[0].udpOppositeIp,result[0].udpOppositeIpPort)
udpClient.bindUdp()
udpClient.sendMsg('111')
globalThis.udpClient = udpClient
globalThis.host=`http://${result[0].centerIp}:${result[0].centerPort}`
globalThis.udpClient.onError(globalThis.udpClient.onMessage?globalThis.udpClient.onMessage:()=>{})
}
}else{
globalThis.udpClient={}
globalThis.udpClient.onMessage=()=>{}
globalThis.host=''
}
})
}
export async function getUDP2(flag:Boolean=false) {
getSyncData('IpConfigTable').then(async (result:Array<any>)=>{
if(result.length){
if(globalThis.udpClient2&&globalThis.udpClient2.closeUdp){
if(!flag){
return
}
globalThis.udpClient2.closeUdp(async ()=>{
globalThis.udpClient2.rebindUdp(result[0].udplocalIp, '8800',globalThis.carInfo?.udpAddress,globalThis.carInfo?.messagePort)
globalThis.udpClient2.onMessage((val)=>{
})
globalThis.udpClient2.onError()
globalThis.udpClient2.setMsgCallBack=()=>{}
})
}else{
const udpClient: UdpClientByCenter =new UdpClientByCenter(result[0].udplocalIp, '8800',globalThis.carInfo?.udpAddress,globalThis.carInfo?.messagePort)
globalThis.udpClient2 = udpClient
globalThis.udpClient2.bindUdp()
globalThis.udpClient2.onError()
globalThis.udpClient2.onMessage((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)
}
})
}
}else{
globalThis.udpClient2={}
globalThis.udpClient2.onMessage=()=>{}
globalThis.udpClient2.setMsgCallBack=()=>{}
}
})
}
export async function setTopLineUdp(){
const config = await getSyncData('IpConfigTable');
if(config && config[0] && config[0].udplocalIp){
const {udplocalIp,udpOppositeIp,udpOppositeIpPort} = config[0];
const udpClient: UdpClientByCenter = new UdpClientByCenter(udplocalIp, '55509',udpOppositeIp,udpOppositeIpPort)
udpClient.bindUdp()
return {
send(bytes){
udpClient.sendHeadMsg(bytes)
}
}
}
}
//
export async function setJudgeUdp(){
const config = await getSyncData('IpConfigTable');
let udpIndex = 0;
let currentUdpIndex = 0;
let judgeUdpTimer
clearInterval(judgeUdpTimer)
judgeUdpTimer = setInterval(()=>{
udpIndex += 1;
},1000);
if(config && config[0] && config[0].udplocalIp){
const {udplocalIp} = config[0];
const udpClient: UdpClientByCenter = new UdpClientByCenter(udplocalIp, '8080',globalThis.carInfo?.gpsAddress,globalThis.carInfo?.hintPort)
udpClient.bindUdp()
udpClient.onMessage((val)=>{
console.log('valval',val)
})
globalThis.judgeUdpClient = udpClient;
return {
send(bytes){
if(udpIndex > currentUdpIndex){
udpClient.sendMsg({id:45,list:bytes,carNo:globalThis.carInfo.carNo,placeId:globalThis.carInfo.examinationRoomId})
currentUdpIndex = udpIndex
}
}
}
}
}
// globalThis.udpClient.bindUdp()