136 lines
4.6 KiB
TypeScript
Raw Normal View History

2024-01-05 11:11:15 +08:00
import UdpClient from './UdpClient';
import UdpClientByCenter from './UdpClientByCenter';
2024-02-23 15:23:48 +08:00
import { getSyncData} from '../service/initable'
2024-01-05 11:11:15 +08:00
import { dateFormat } from '../../common/utils/tools'
import prompt from '@ohos.prompt'
import TcpClient from './TcpClient';
2024-03-12 15:32:48 +08:00
import {string2Bytes} from '../../common/utils/tools'
2024-02-23 15:23:48 +08:00
export async function sendMsg(val){
2024-05-16 09:53:10 +08:00
// globalThis.udpClient1&&globalThis.udpClient1.sendMsg(val)
2024-01-05 11:11:15 +08:00
}
2024-05-30 15:52:03 +08:00
export async function getUDP(flag?) {
2024-02-23 15:23:48 +08:00
getSyncData('IpConfigTable').then((result:Array<any>)=>{
if(result.length){
if(globalThis.udpClient&&globalThis.udpClient.closeUdp){
globalThis.udpClient.closeUdp(()=>{
2024-05-30 15:52:03 +08:00
setTimeout(()=>{
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:()=>{})
2024-05-27 17:25:20 +08:00
2024-05-30 15:52:03 +08:00
},1000)
2024-01-05 11:11:15 +08:00
})
2024-02-23 15:23:48 +08:00
}else{
2024-01-05 11:11:15 +08:00
2024-02-23 15:23:48 +08:00
const udpClient: UdpClient =new UdpClient(result[0].udplocalIp, result[0].udplocalIpPort,result[0].udpOppositeIp,result[0].udpOppositeIpPort)
2024-01-05 11:11:15 +08:00
udpClient.bindUdp()
udpClient.sendMsg('111')
globalThis.udpClient = udpClient
2024-05-09 13:42:56 +08:00
globalThis.host=`http://${result[0].centerIp}:${result[0].centerPort}`
2024-05-27 17:25:20 +08:00
globalThis.udpClient.onError(globalThis.udpClient.onMessage?globalThis.udpClient.onMessage:()=>{})
2024-01-05 11:11:15 +08:00
}
2024-02-23 15:23:48 +08:00
}else{
globalThis.udpClient={}
globalThis.udpClient.onMessage=()=>{}
2024-05-09 13:42:56 +08:00
globalThis.host=''
2024-01-05 11:11:15 +08:00
}
})
}
2024-05-30 15:52:03 +08:00
export async function getUDP2(flag?) {
2024-02-23 15:23:48 +08:00
getSyncData('IpConfigTable').then(async (result:Array<any>)=>{
if(result.length){
if(globalThis.udpClient2&&globalThis.udpClient2.closeUdp){
2024-05-29 10:13:37 +08:00
if(!flag){
return
}
2024-02-23 15:23:48 +08:00
globalThis.udpClient2.closeUdp(async ()=>{
2024-05-30 15:52:03 +08:00
setTimeout(()=>{
globalThis.udpClient2.rebindUdp(result[0].udplocalIp, '8800',globalThis.carInfo?.udpAddress,globalThis.carInfo?.messagePort)
globalThis.udpClient2.onMessage((val)=>{
})
globalThis.udpClient2.onError()
globalThis.udpClient2.setMsgCallBack=()=>{}
},1000)
2024-01-05 11:11:15 +08:00
})
2024-02-23 15:23:48 +08:00
}else{
const udpClient: UdpClientByCenter =new UdpClientByCenter(result[0].udplocalIp, '8800',globalThis.carInfo?.udpAddress,globalThis.carInfo?.messagePort)
2024-01-05 11:11:15 +08:00
globalThis.udpClient2 = udpClient
globalThis.udpClient2.bindUdp()
2024-05-27 17:25:20 +08:00
globalThis.udpClient2.onError()
2024-02-23 15:23:48 +08:00
globalThis.udpClient2.onMessage((val)=>{
if(val.id=='32'){
globalThis.signNum=val.body[1]
2024-03-12 15:32:48 +08:00
2024-02-23 15:23:48 +08:00
}else if(val.id=='46'){
2024-01-05 11:11:15 +08:00
let tmpList = []
const str = globalThis.lsh
2024-02-23 15:23:48 +08:00
for (let i = 0;i < str.length; i++) {
2024-01-05 11:11:15 +08:00
tmpList.push(this.string2Bytes(str.charCodeAt(i), 1 * 8)[0])
}
2024-02-23 15:23:48 +08:00
const param = { id: 47, list: tmpList, carNo: globalThis.carInfo.carNo, placeId: globalThis.carInfo.examinationRoomId }
2024-01-05 11:11:15 +08:00
globalThis.udpClient2.send(param)
}
})
}
2024-02-23 15:23:48 +08:00
}else{
globalThis.udpClient2={}
globalThis.udpClient2.onMessage=()=>{}
2024-05-09 13:42:56 +08:00
globalThis.udpClient2.setMsgCallBack=()=>{}
2024-01-05 11:11:15 +08:00
}
})
}
2024-02-20 10:22:33 +08:00
2024-02-23 15:23:48 +08:00
export async function setTopLineUdp(){
2024-01-05 11:11:15 +08:00
const config = await getSyncData('IpConfigTable');
2024-02-23 15:23:48 +08:00
if(config && config[0] && config[0].udplocalIp){
2024-01-05 11:11:15 +08:00
const {udplocalIp,udpOppositeIp,udpOppositeIpPort} = config[0];
2024-02-23 15:23:48 +08:00
const udpClient: UdpClientByCenter = new UdpClientByCenter(udplocalIp, '55509',udpOppositeIp,udpOppositeIpPort)
2024-01-05 11:11:15 +08:00
udpClient.bindUdp()
return {
2024-02-23 15:23:48 +08:00
send(bytes){
2024-01-05 11:11:15 +08:00
udpClient.sendHeadMsg(bytes)
}
}
}
}
2024-05-09 13:42:56 +08:00
//
2024-02-23 15:23:48 +08:00
export async function setJudgeUdp(){
2024-01-05 11:11:15 +08:00
const config = await getSyncData('IpConfigTable');
2024-05-09 13:42:56 +08:00
let udpIndex = 0;
let currentUdpIndex = 0;
let judgeUdpTimer
clearInterval(judgeUdpTimer)
judgeUdpTimer = setInterval(()=>{
udpIndex += 1;
},1000);
2024-02-23 15:23:48 +08:00
if(config && config[0] && config[0].udplocalIp){
const {udplocalIp} = config[0];
const udpClient: UdpClientByCenter = new UdpClientByCenter(udplocalIp, '8080',globalThis.carInfo?.gpsAddress,globalThis.carInfo?.hintPort)
2024-01-05 11:11:15 +08:00
udpClient.bindUdp()
2024-02-23 15:23:48 +08:00
udpClient.onMessage((val)=>{
2024-03-12 15:32:48 +08:00
console.log('valval',val)
2024-01-05 11:11:15 +08:00
})
globalThis.judgeUdpClient = udpClient;
return {
2024-02-23 15:23:48 +08:00
send(bytes){
2024-05-09 13:42:56 +08:00
if(udpIndex > currentUdpIndex){
udpClient.sendMsg({id:45,list:bytes,carNo:globalThis.carInfo.carNo,placeId:globalThis.carInfo.examinationRoomId})
currentUdpIndex = udpIndex
}
2024-01-05 11:11:15 +08:00
}
}
}
}
// globalThis.udpClient.bindUdp()