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()
|