lv_chengmai #23
@ -62,6 +62,8 @@ const centerToMap={
 | 
			
		||||
  'SystemParm':MA_SYSTEMPARM,
 | 
			
		||||
  'mapCollectList':MA_MAP_COLLECT,
 | 
			
		||||
  'mapCollectshapeList':MA_MAP_COLLECT_SHAPE,
 | 
			
		||||
  'Map_Collect': MA_MAP_COLLECT,
 | 
			
		||||
  'Map_Collect_Shape': MA_MAP_COLLECT_SHAPE,
 | 
			
		||||
  'Map_ItemClass':MA_MAP_ITEMCLASS,
 | 
			
		||||
  'Map_Point':MA_MAP_POINT,
 | 
			
		||||
  'Map_Point_Item':MA_MAP_POINT_ITEM,
 | 
			
		||||
@ -166,9 +168,9 @@ export async function getDataBaseTable(params,reqParam) {
 | 
			
		||||
            let str='('
 | 
			
		||||
            map[params.tableName].ACCOUNT_TABLE.columns.map((res,index)=>{
 | 
			
		||||
              if(map[params.tableName].ACCOUNT_TABLE.columns.length-1==index){
 | 
			
		||||
                str+=`"${data[res]||'1'}"`
 | 
			
		||||
                str+=data[res]?`"${data[res]}"`:'NULL'
 | 
			
		||||
              }else{
 | 
			
		||||
                str+=`"${data[res]||'1'}"`+','
 | 
			
		||||
                str+=(data[res]?`"${data[res]}"`:'NULL')+','
 | 
			
		||||
              }
 | 
			
		||||
            })
 | 
			
		||||
            if(i==res.body[params.tableName].length-1){
 | 
			
		||||
@ -400,8 +402,8 @@ function setSyncCenterSqlData(key,res,param){
 | 
			
		||||
      'ItemInfo':'MA_ITEMINFO',
 | 
			
		||||
      'MarkRule':'MA_MARKRULE',
 | 
			
		||||
      'SystemParm':'MA_SYSTEMPARM',
 | 
			
		||||
      'MA_MAP_COLLECT':'MA_MAP_COLLECT',
 | 
			
		||||
      'MA_MAP_COLLECT_SHAPE':'MA_MAP_COLLECT_SHAPE',
 | 
			
		||||
      'Map_Collect': 'MA_MAP_COLLECT',
 | 
			
		||||
      'Map_Collect_Shape': 'MA_MAP_COLLECT_SHAPE',
 | 
			
		||||
      'Map_ItemClass':'MA_MAP_ITEMCLASS',
 | 
			
		||||
      'Map_Point':'MA_MAP_POINT',
 | 
			
		||||
      'Map_Point_Item':'MA_MAP_POINT_ITEM',
 | 
			
		||||
@ -418,7 +420,6 @@ function setSyncCenterSqlData(key,res,param){
 | 
			
		||||
    }
 | 
			
		||||
    // const accountTable = new AccountTable(() => {
 | 
			
		||||
    // }, centerToMap[key],param.context);
 | 
			
		||||
    console.log('kkkkkkkkk',key)
 | 
			
		||||
    let arrList
 | 
			
		||||
    if(res.initializationRsp.body[key].record instanceof  Array){
 | 
			
		||||
      arrList =res.initializationRsp.body[key].record
 | 
			
		||||
 | 
			
		||||
@ -1,105 +1,60 @@
 | 
			
		||||
import TcpClient from './TcpClient';
 | 
			
		||||
import { getSyncData} from '../service/initable'
 | 
			
		||||
import hilog from '@ohos.hilog';
 | 
			
		||||
 | 
			
		||||
export async function getTCP(flag?) {
 | 
			
		||||
export async function getTCP() {
 | 
			
		||||
 | 
			
		||||
  getSyncData('IpConfigTable').then(async (result:Array<any>)=>{
 | 
			
		||||
    console.log('result222',JSON.stringify(result))
 | 
			
		||||
    if(result.length){
 | 
			
		||||
      if(globalThis.TcpClient&&globalThis.TcpClient.closeTcp){
 | 
			
		||||
        globalThis.TcpClient.closeTcp(async ()=>{
 | 
			
		||||
          if(!flag){
 | 
			
		||||
            return
 | 
			
		||||
          }
 | 
			
		||||
          // const tcpClient: TcpClient =new TcpClient(result[0].tcplocalIp, result[0].tcplocalIpPort,result[0].tcpOppositeIp,result[0].tcpOppositePort)
 | 
			
		||||
          // globalThis.TcpClient = tcpClient
 | 
			
		||||
          setTimeout(async ()=>{
 | 
			
		||||
            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.sendMsg('1002')//1002
 | 
			
		||||
            globalThis.TcpClient.onError()
 | 
			
		||||
            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) {
 | 
			
		||||
                globalThis.TcpClient.sendMsg('1002')//1002
 | 
			
		||||
                if(val&&!globalThis.closeUDPSocket){
 | 
			
		||||
                  // const msg=val.substring(5,val.length-1)
 | 
			
		||||
                  console.log('socketTag[PLC.UdpClient]closeUDPSocket',globalThis.closeUDPSocket)
 | 
			
		||||
                  globalThis.udpClient?.sendMsg(val)
 | 
			
		||||
                }
 | 
			
		||||
              },1000)
 | 
			
		||||
 | 
			
		||||
            })
 | 
			
		||||
            globalThis.TcpClient.onError(async () => {
 | 
			
		||||
              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)
 | 
			
		||||
          },2000)
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
      }
 | 
			
		||||
      else {
 | 
			
		||||
        // prompt.showToast({
 | 
			
		||||
        //   message:'初始化localIp'+ result[0].localIp+ result[0].localIpPort+'oppositeIp'+result[0].oppositeIp+result[0].oppositeIpPort,
 | 
			
		||||
        //   duration: 1000
 | 
			
		||||
        // });
 | 
			
		||||
      }else{
 | 
			
		||||
        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.sendMsg('1002')//1002
 | 
			
		||||
        globalThis.TcpClient.onError()
 | 
			
		||||
        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) {
 | 
			
		||||
            globalThis.TcpClient.sendMsg('1002')//1002
 | 
			
		||||
            if(val&&!globalThis.closeUDPSocket){
 | 
			
		||||
              // const msg=val.substring(5,val.length-1)
 | 
			
		||||
              console.log('socketTag[PLC.UdpClient]closeUDPSocket',globalThis.closeUDPSocket)
 | 
			
		||||
 | 
			
		||||
              globalThis.udpClient?.sendMsg(val)
 | 
			
		||||
            }
 | 
			
		||||
          },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)
 | 
			
		||||
 | 
			
		||||
    }else{
 | 
			
		||||
      globalThis.TcpClient={}
 | 
			
		||||
      globalThis.TcpClient.onMessage = () => {
 | 
			
		||||
      }
 | 
			
		||||
      globalThis.TcpClient.onMessage=()=>{}
 | 
			
		||||
    }
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
import socket from '@ohos.net.socket';
 | 
			
		||||
import buffer from '@ohos.buffer';
 | 
			
		||||
 | 
			
		||||
const TAG = '[TcpDemo.TcpClient]'
 | 
			
		||||
const TAG = 'socketTag[TcpDemo.TcpClient]'
 | 
			
		||||
import prompt from '@ohos.prompt'
 | 
			
		||||
import hilog from '@ohos.hilog';
 | 
			
		||||
 | 
			
		||||
@ -18,12 +18,12 @@ export default class TcpClient {
 | 
			
		||||
        this.oppositeIp = tcpOppositeIp
 | 
			
		||||
        this.localIpPort = tcplocalIpPort
 | 
			
		||||
        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();
 | 
			
		||||
    }
 | 
			
		||||
    onError(callback?){
 | 
			
		||||
        this.tcp.on('error', err => {
 | 
			
		||||
            hilog.info(0x0000, 'testTag', "on error, err:" + JSON.stringify(err));
 | 
			
		||||
            console.log(TAG,'tcpOnerror', JSON.stringify(err))
 | 
			
		||||
            callback&&callback()
 | 
			
		||||
            // this.closeUdp(()=>{
 | 
			
		||||
            //   this.bindUdp()
 | 
			
		||||
@ -32,11 +32,11 @@ export default class TcpClient {
 | 
			
		||||
    }
 | 
			
		||||
    rebindTcp(localIp: string, localIpPort:string,oppositeIp: string,oppositeIpPort:string){
 | 
			
		||||
        return new Promise((resolve, reject)=>{
 | 
			
		||||
 | 
			
		||||
            this.localIp = localIp
 | 
			
		||||
            this.oppositeIp = oppositeIp
 | 
			
		||||
            this.localIpPort = localIpPort
 | 
			
		||||
            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 => {
 | 
			
		||||
                if (err) {
 | 
			
		||||
                    hilog.info(0x0000, 'testTag', "tcpreBinderror:" + JSON.stringify(err));
 | 
			
		||||
@ -57,7 +57,7 @@ export default class TcpClient {
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
    bindTcp() {
 | 
			
		||||
        console.log('tcpoppositeIp',this.oppositeIp,'localIp',this.localIp)
 | 
			
		||||
        console.log(TAG,'tcpbind',this.localIp,'localIp',this.localIpPort)
 | 
			
		||||
        return new Promise((resolve,reject)=>{
 | 
			
		||||
            let promise=this.tcp.bind({ address:  this.localIp, port:parseInt(this.localIpPort), family: 1 }, err => {
 | 
			
		||||
                if (err) {
 | 
			
		||||
@ -82,8 +82,7 @@ export default class TcpClient {
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
    connectTcp(){
 | 
			
		||||
        console.log('testTagtcbpoppositeIp',this.oppositeIp,this.oppositeIpPort,'localIp',this.localIp,this.localIpPort)
 | 
			
		||||
        console.log('22323')
 | 
			
		||||
        console.log(TAG,'tcpConnect',this.oppositeIp,'localIp',this.oppositeIpPort)
 | 
			
		||||
        return new Promise((resolve,reject)=>{
 | 
			
		||||
            let promise = this.tcp.connect({ address: {address: this.oppositeIp, port:  parseInt(this.oppositeIpPort), family: 1} , timeout: 6000});
 | 
			
		||||
            promise.then(() => {
 | 
			
		||||
@ -112,7 +111,7 @@ export default class TcpClient {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    sendMsg(msg: string) {
 | 
			
		||||
        console.log('testTagsendoppositeIp',this.oppositeIp)
 | 
			
		||||
        console.log(TAG,'tcpSend',msg.length,msg)
 | 
			
		||||
        return new Promise((reslove,reject)=>{
 | 
			
		||||
            let promise = this.tcp.send({
 | 
			
		||||
                data:msg
 | 
			
		||||
@ -123,29 +122,12 @@ export default class TcpClient {
 | 
			
		||||
                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?) {
 | 
			
		||||
        this.tcp.on('message', value => {
 | 
			
		||||
            console.log(TAG,'Tcponmessage',value.length,value)
 | 
			
		||||
 | 
			
		||||
            // console.log('messageLengt',,value.message.length))
 | 
			
		||||
            console.log('testTagtcpmsg')
 | 
			
		||||
            // console.log("on message, message:" + value.message+ ", remoteInfo:" )
 | 
			
		||||
@ -160,39 +142,22 @@ export default class TcpClient {
 | 
			
		||||
            }
 | 
			
		||||
            // 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) {
 | 
			
		||||
        console.log(TAG,'tcpofff')
 | 
			
		||||
 | 
			
		||||
        this.tcp.off('testTagofmessg', callback);
 | 
			
		||||
    }
 | 
			
		||||
    closeTcp(callback) {
 | 
			
		||||
        return new Promise((reslove,reject)=>{
 | 
			
		||||
            console.log(TAG,'tcpClose')
 | 
			
		||||
            let promise = this.tcp.close();
 | 
			
		||||
            promise.then(() => {
 | 
			
		||||
                console.log('testTagclose success');
 | 
			
		||||
                console.log(TAG,'tcpCloseSuccess')
 | 
			
		||||
                callback()
 | 
			
		||||
                reslove(true)
 | 
			
		||||
            }).catch(err => {
 | 
			
		||||
                console.log('testTagclose fail');
 | 
			
		||||
                console.log(TAG,'tcpClosefailed')
 | 
			
		||||
                reslove(false)
 | 
			
		||||
            });
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
@ -17,10 +17,11 @@ import socket from '@ohos.net.socket';
 | 
			
		||||
import { Array2Byte } from '../utils/tools'
 | 
			
		||||
import {getChuankouFn} from '../../common/service/indexService'
 | 
			
		||||
 | 
			
		||||
const TAG = '[PLC.UdpClient]'
 | 
			
		||||
const TAG = 'socketTag[PLC.UdpClient]'
 | 
			
		||||
import prompt from '@ohos.prompt'
 | 
			
		||||
 | 
			
		||||
import hilog from '@ohos.hilog';
 | 
			
		||||
let num=0
 | 
			
		||||
export default class UdpClient {
 | 
			
		||||
  private localIp: string = ''
 | 
			
		||||
  private localIpPort: string = ''
 | 
			
		||||
@ -36,39 +37,40 @@ export default class UdpClient {
 | 
			
		||||
    this.localIpPort = udplocalIpPort
 | 
			
		||||
    this.oppositeIpPort = udpOppositeIpPort
 | 
			
		||||
    getChuankouFn()
 | 
			
		||||
    console.log(TAG,'newUdp')
 | 
			
		||||
    // this.stashFn=()=>{}
 | 
			
		||||
    this.udp = socket.constructUDPSocketInstance();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  rebindUdp(localIp: string, localIpPort: string, oppositeIp: string, oppositeIpPort: string) {
 | 
			
		||||
    console.log(TAG,'rebindUdp',this.localIp,this.localIpPort)
 | 
			
		||||
 | 
			
		||||
    this.localIp = localIp
 | 
			
		||||
    this.oppositeIp = oppositeIp
 | 
			
		||||
    this.localIpPort = localIpPort
 | 
			
		||||
    this.oppositeIpPort = oppositeIpPort
 | 
			
		||||
    hilog.info(0x0000, 'udpCLient', 'rebind'+this.localIp+this.localIpPort);
 | 
			
		||||
    let promise = this.udp.bind({
 | 
			
		||||
      address: this.localIp, port: parseInt(this.localIpPort), family: 1
 | 
			
		||||
    });
 | 
			
		||||
    promise.then(() => {
 | 
			
		||||
      console.log(`${TAG}udpCLient udp rebind success`);
 | 
			
		||||
      globalThis.closeUDPSocket=false
 | 
			
		||||
 | 
			
		||||
      console.log(`${TAG},udpCLient udp rebind success`);
 | 
			
		||||
    }).catch(err => {
 | 
			
		||||
 | 
			
		||||
      console.log(`${TAG}udpCLient udp rebind failed:${JSON.stringify(err)}`);
 | 
			
		||||
      console.log(`${TAG},udpCLient udp rebind failed:${JSON.stringify(err)}`);
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  bindUdp() {
 | 
			
		||||
    console.log('localIp', this.localIp)
 | 
			
		||||
    console.log('localIpPort', this.localIpPort)
 | 
			
		||||
    hilog.info(0x0000, 'udpCLient', 'bind'+ this.localIp+this.localIpPort);
 | 
			
		||||
 | 
			
		||||
    console.log(TAG,'udpbind',this.localIp,this.localIpPort)
 | 
			
		||||
    let promise = this.udp.bind({
 | 
			
		||||
      // address: '192.168.7.170', port: 20122, family: 1
 | 
			
		||||
      // address: '192.168.7.170', port: 31013, family: 1
 | 
			
		||||
      address: this.localIp, port: parseInt(this.localIpPort), family: 1
 | 
			
		||||
    });
 | 
			
		||||
    promise.then(() => {
 | 
			
		||||
      globalThis.closeUDPSocket=false
 | 
			
		||||
      console.log(`${TAG}udpCLient udp bind success`);
 | 
			
		||||
    }).catch(err => {
 | 
			
		||||
 | 
			
		||||
@ -79,9 +81,7 @@ export default class UdpClient {
 | 
			
		||||
    // this.stashFn=callback?callback:()=>{}
 | 
			
		||||
  }
 | 
			
		||||
  sendMsg(msg) {
 | 
			
		||||
    console.log('sendsnd01')
 | 
			
		||||
    hilog.info(0x0000, 'udpCLient', 'send');
 | 
			
		||||
    console.log('udpdiushisend')
 | 
			
		||||
    console.log(TAG,'UdpSend1111',this.oppositeIp,this.oppositeIpPort)
 | 
			
		||||
 | 
			
		||||
    let promise = this.udp.send({
 | 
			
		||||
      data: msg,
 | 
			
		||||
@ -96,16 +96,14 @@ export default class UdpClient {
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
    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 => {
 | 
			
		||||
      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?){
 | 
			
		||||
   this.udp.on('error',async err => {
 | 
			
		||||
     console.log('udpdiushierroring')
 | 
			
		||||
     hilog.info(0x0000, 'udpCLientonerror', 'error'+ JSON.stringify(err));
 | 
			
		||||
     console.log("on error, err:" + JSON.stringify(err))
 | 
			
		||||
     console.log(TAG,'udpError',JSON.stringify(err))
 | 
			
		||||
     await this.bindUdp()
 | 
			
		||||
     await this.sendMsg('111')
 | 
			
		||||
     await this.onMessage(callback)
 | 
			
		||||
@ -119,11 +117,8 @@ export default class UdpClient {
 | 
			
		||||
  onMessage(callback?) {
 | 
			
		||||
 | 
			
		||||
    this.udp.on('message', value => {
 | 
			
		||||
      console.log('udpdiushimsg')
 | 
			
		||||
 | 
			
		||||
      console.log(TAG,'udponmessage')
 | 
			
		||||
      // 收到的是ArrayBuffer 需要进行转换解析
 | 
			
		||||
      hilog.info(0x0000, 'udpCLient', 'onmessage');
 | 
			
		||||
 | 
			
		||||
      globalThis.plcUdpError = false
 | 
			
		||||
      if (value) {
 | 
			
		||||
 | 
			
		||||
@ -169,10 +164,18 @@ export default class UdpClient {
 | 
			
		||||
    globalThis.messageTimer = setInterval(() => {
 | 
			
		||||
      const lightLineUdp = globalThis.lightLineUdp
 | 
			
		||||
      const isJudge = globalThis.isJudge
 | 
			
		||||
      setTimeout(() => {
 | 
			
		||||
      setTimeout(async () => {
 | 
			
		||||
        //程序断开
 | 
			
		||||
        lightLineUdp?.send(globalThis.plcUdpError ? arrRedBuffer : (isJudge ? arrGreenBugger : arrBlueBuffer));
 | 
			
		||||
        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({
 | 
			
		||||
            message: 'plc udp信号丢失',
 | 
			
		||||
            duration: 2000
 | 
			
		||||
@ -184,12 +187,12 @@ export default class UdpClient {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  closeUdp(callback) {
 | 
			
		||||
 | 
			
		||||
    globalThis.closeUDPSocket=true
 | 
			
		||||
    this.udp.close(err => {
 | 
			
		||||
      hilog.info(0x0000, 'udpCLient', 'close');
 | 
			
		||||
      hilog.info(0x0000,TAG, 'udpCLient', 'close');
 | 
			
		||||
 | 
			
		||||
      if (err) {
 | 
			
		||||
        hilog.info(0x0000, 'udpCLient', 'closeonerror');
 | 
			
		||||
        hilog.info(0x0000,TAG, 'udpCLient', 'closeonerror');
 | 
			
		||||
 | 
			
		||||
      } else {
 | 
			
		||||
        this.udp.getState((err, data) => {
 | 
			
		||||
 | 
			
		||||
@ -61,6 +61,7 @@ export default class UdpClientByCenter {
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        promise.then(() => {
 | 
			
		||||
            globalThis.closeHeartSocket=false
 | 
			
		||||
            console.log(`${TAG} udp bind success`);
 | 
			
		||||
        }).catch(err => {
 | 
			
		||||
 | 
			
		||||
@ -77,6 +78,7 @@ export default class UdpClientByCenter {
 | 
			
		||||
            address: this.localIp, port: parseInt(this.localIpPort), family: 1
 | 
			
		||||
        });
 | 
			
		||||
        promise.then(() => {
 | 
			
		||||
            globalThis.closeHeartSocket=false
 | 
			
		||||
            console.log(`${TAG} udp bind success`);
 | 
			
		||||
        }).catch(err => {
 | 
			
		||||
 | 
			
		||||
@ -149,6 +151,15 @@ export default class UdpClientByCenter {
 | 
			
		||||
            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){
 | 
			
		||||
        this.stashFn=callback?callback:()=>{}
 | 
			
		||||
    }
 | 
			
		||||
@ -182,7 +193,6 @@ export default class UdpClientByCenter {
 | 
			
		||||
    }
 | 
			
		||||
    onMessage(callback,type?) {
 | 
			
		||||
        this.udp.on('message', value => {
 | 
			
		||||
            console.log('tttttttt')
 | 
			
		||||
            let arr=[]
 | 
			
		||||
            let dataView = new DataView(value.message)
 | 
			
		||||
            for (let i = 0;i < dataView?.byteLength; ++i) {
 | 
			
		||||
@ -204,6 +214,7 @@ export default class UdpClientByCenter {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    closeUdp(callback) {
 | 
			
		||||
        globalThis.closeHeartSocket=true
 | 
			
		||||
        this.udp.close(err=>{
 | 
			
		||||
            if(err){
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -86,7 +86,11 @@ export default async function request(req: any) {
 | 
			
		||||
            });
 | 
			
		||||
        }
 | 
			
		||||
    } catch (e) {
 | 
			
		||||
        const code = e.code;
 | 
			
		||||
        if(!e||!(e?.message)){
 | 
			
		||||
            return false
 | 
			
		||||
        }
 | 
			
		||||
        const code = e?.code;
 | 
			
		||||
 | 
			
		||||
        prompt.showToast({
 | 
			
		||||
            message: e?.message,
 | 
			
		||||
            duration: 5000
 | 
			
		||||
 | 
			
		||||
@ -71,13 +71,8 @@ export default struct Index {
 | 
			
		||||
                    username: this.inputTextArr[0],
 | 
			
		||||
                    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 => {
 | 
			
		||||
                    // this.vocObj.playAudio({
 | 
			
		||||
                    //   type: 1,
 | 
			
		||||
                    //   name: 'media_button.wav'
 | 
			
		||||
                    // })
 | 
			
		||||
                    // this.url='pages/userInfo'
 | 
			
		||||
                    router.pushUrl({
 | 
			
		||||
                      url: 'pages/UserInfo',
 | 
			
		||||
                    }, router.RouterMode.Single);
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,5 @@
 | 
			
		||||
import { VideoConfig } from './interfaces';
 | 
			
		||||
// @ts-nocheck
 | 
			
		||||
import { VideoConfig } from './interfaces'
 | 
			
		||||
import common from '@ohos.app.ability.common';
 | 
			
		||||
import router from '@ohos.router';
 | 
			
		||||
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 abilityAccessCtrl, { Permissions } from '@ohos.abilityAccessCtrl';
 | 
			
		||||
import worker, { MessageEvents } from '@ohos.worker';
 | 
			
		||||
import Prompt from '@system.prompt';
 | 
			
		||||
import { VideoConfigData } from '../mock';
 | 
			
		||||
import promptAction from '@ohos.promptAction'
 | 
			
		||||
 | 
			
		||||
@Entry
 | 
			
		||||
@Component
 | 
			
		||||
@ -29,7 +29,7 @@ struct Index {
 | 
			
		||||
  @State ratio: number = 1700 / 960
 | 
			
		||||
  @State loading: boolean = true
 | 
			
		||||
  @State fd: number = -1;
 | 
			
		||||
  @State param: VideoConfig = VideoConfigData
 | 
			
		||||
  @State num: number = 0;
 | 
			
		||||
  fileHelper = null;
 | 
			
		||||
  private fileUtil: FileUtil
 | 
			
		||||
  private interval = null;
 | 
			
		||||
@ -53,10 +53,28 @@ struct Index {
 | 
			
		||||
              })
 | 
			
		||||
            Image($r('app.media.btn_back')).width('14.4%').height('12.2%')
 | 
			
		||||
              .onClick(() => {
 | 
			
		||||
                if (this.loading) {
 | 
			
		||||
                  return
 | 
			
		||||
                promptAction.showDialog({
 | 
			
		||||
                  title: '提示',
 | 
			
		||||
                  message: '确认是否退出应用',
 | 
			
		||||
                  buttons: [
 | 
			
		||||
                    {
 | 
			
		||||
                      text: '确认',
 | 
			
		||||
                      color: '#000000',
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                      text: '取消',
 | 
			
		||||
                      color: '#000000',
 | 
			
		||||
                    }
 | 
			
		||||
                  ],
 | 
			
		||||
                })
 | 
			
		||||
                  .then(data => {
 | 
			
		||||
                    if (data.index == 0) {
 | 
			
		||||
                      router.back()
 | 
			
		||||
                    }
 | 
			
		||||
                  })
 | 
			
		||||
                  .catch(err => {
 | 
			
		||||
                    // reslove(false)
 | 
			
		||||
                  })
 | 
			
		||||
              })
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
@ -77,7 +95,7 @@ struct Index {
 | 
			
		||||
              }, 1000)
 | 
			
		||||
              this.angle = 0
 | 
			
		||||
              if (!globalThis.timeInfo) {
 | 
			
		||||
                Prompt.showToast({
 | 
			
		||||
                promptAction.showToast({
 | 
			
		||||
                  message: `网络连接失败`,
 | 
			
		||||
                  duration: 3000
 | 
			
		||||
                });
 | 
			
		||||
@ -219,13 +237,6 @@ struct Index {
 | 
			
		||||
        }, router.RouterMode.Single)
 | 
			
		||||
      }
 | 
			
		||||
      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
 | 
			
		||||
    }
 | 
			
		||||
    // globalThis.udpClient2.initHeartSendMsg(param,this.context)
 | 
			
		||||
    if (!globalThis.closeHeartSocket) {
 | 
			
		||||
      globalThis.udpClient2.sendMsg(param, this.context)
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  onPageShow() {
 | 
			
		||||
    this.loading = false
 | 
			
		||||
@ -256,11 +269,15 @@ struct Index {
 | 
			
		||||
    this.userAuth();
 | 
			
		||||
    getUDP()
 | 
			
		||||
    getUDP2()
 | 
			
		||||
    this.num=0
 | 
			
		||||
    clearInterval(this.interval)
 | 
			
		||||
    this.interval = setInterval(() => {
 | 
			
		||||
      this.num++
 | 
			
		||||
      setliushuiNum(this.context)
 | 
			
		||||
      getliushuiNum(this.context)
 | 
			
		||||
      if(this.num>=3){
 | 
			
		||||
        this.heartMsg()
 | 
			
		||||
      }
 | 
			
		||||
    }, 1000)
 | 
			
		||||
    // takePhotoFn(this.context)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -3,7 +3,7 @@
 | 
			
		||||
//考试回放开关
 | 
			
		||||
export const judgeConfig = {
 | 
			
		||||
  //本地目录开关
 | 
			
		||||
  isTrajectoryOpen: true,
 | 
			
		||||
  isTrajectoryOpen: false,
 | 
			
		||||
  //是否开启Udp
 | 
			
		||||
  udpOpen:false,
 | 
			
		||||
  // 本地模型地址
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user