dev #65
| @ -1,13 +1,15 @@ | ||||
| { | ||||
|   "lockfileVersion": 1, | ||||
|   "lockfileVersion": 2, | ||||
|   "ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.", | ||||
|   "specifiers": { | ||||
|     "@ohos/hypium@1.0.6": "@ohos/hypium@1.0.6" | ||||
|   }, | ||||
|   "packages": { | ||||
|     "@ohos/hypium@1.0.6": { | ||||
|       "resolved": "https://repo.harmonyos.com/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz", | ||||
|       "integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ==" | ||||
|       "resolved": "https://ohpm.openharmony.cn/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz", | ||||
|       "integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ==", | ||||
|       "registryType": "ohpm", | ||||
|       "shasum": "3f5fed65372633233264b3447705b0831dfe7ea1" | ||||
|     } | ||||
|   } | ||||
| } | ||||
| @ -1,41 +1,41 @@ | ||||
| //import UdpClient from './UdpClient';
 | ||||
| import UdpClientByCenter from './UdpClientByCenter'; | ||||
| import { getSyncData } from '../service/initable' | ||||
| import { getChuankouFn } from '../../common/service/indexService' | ||||
| import FileUtil from '../../common/utils/File' | ||||
| import { GlobalConfig } from '../../config/index' | ||||
| import {Array2Byte,fillZero,string2Bytes}from './tools' | ||||
| import emitter from '@ohos.events.emitter'; | ||||
| import { getSyncData } from '../service/initable'; | ||||
| import { getChuankouFn } from '../../common/service/indexService'; | ||||
| import FileUtil from '../../common/utils/File'; | ||||
| import { GlobalConfig } from '../../config/index'; | ||||
| import { Array2Byte, string2Bytes } from './tools'; | ||||
| 
 | ||||
| export async function sendMsg(val) { | ||||
|   // globalThis.udpClient1&&globalThis.udpClient1.sendMsg(val)
 | ||||
| } | ||||
| 
 | ||||
| export async function getUDP(context,errorFlag?) { | ||||
|   return new Promise(async (reslove,reject)=>{ | ||||
| export async function getUDP(context, errorFlag?) { | ||||
|   return new Promise(async (reslove, reject) => { | ||||
|     const fileUtil = new FileUtil(context) | ||||
|     const data = await fileUtil.readFile(GlobalConfig.comoonfileWriteAddress + '/config/ipConfig.txt'); | ||||
|     console.log('ttttt',data) | ||||
|     console.log('ttttt', data) | ||||
|     if (data === '' || data === undefined) { | ||||
|       console.log(` getUDP  has no IPConfigTable `); | ||||
|       globalThis.udpClient = {} | ||||
|       globalThis.host = '' | ||||
|       reslove('') | ||||
|     } else { | ||||
|       const result=JSON.parse(data) | ||||
|       const result = JSON.parse(data) | ||||
|       console.log(` getUDP  has IPConfigTable `); | ||||
|       if (globalThis.udpClient && globalThis.udpClient.closeUdp) { | ||||
|         console.log(` getUDP  has udclent close and rebind `); | ||||
|         globalThis.udpClient.closeUdp(() => { | ||||
|           setTimeout(() => { | ||||
|             globalThis.udpClient.rebindUdp(result.udplocalIp, result.udplocalIpPort, result.udpOppositeIp, result.udpOppositeIpPort) | ||||
|             globalThis.udpClient.rebindUdp(result.udplocalIp, result.udplocalIpPort, result.udpOppositeIp, | ||||
|               result.udpOppositeIpPort) | ||||
|             globalThis.udpClient.sendMsg('111', null) | ||||
|             globalThis.host = `http://${result.centerIp}:${result.centerPort}` | ||||
|             globalThis.udpClient.onError_Callback(()=>{ | ||||
|             globalThis.udpClient.onError_Callback(() => { | ||||
|               console.log('getUDPgetUDPgetUDP') | ||||
|               getUDP(context,true) | ||||
|               if(errorFlag&&globalThis.udpClient&&globalThis.udpClient.onMessage_1){ | ||||
|                 globalThis.udpClient.onMessage_1=globalThis.udpClient.onMessage_1 | ||||
|               getUDP(context, true) | ||||
|               if (errorFlag && globalThis.udpClient && globalThis.udpClient.onMessage_1) { | ||||
|                 globalThis.udpClient.onMessage_1 = globalThis.udpClient.onMessage_1 | ||||
|               } | ||||
|             }) | ||||
|             reslove(`http://${result.centerIp}:${result.centerPort}`) | ||||
| @ -44,25 +44,23 @@ export async function getUDP(context,errorFlag?) { | ||||
|           }, 1000) | ||||
|         }) | ||||
| 
 | ||||
|       } | ||||
|       else { | ||||
|       } else { | ||||
|         // 未绑定
 | ||||
|         console.log(` getUDP  has no  udclent and  bind `); | ||||
|         console.log('ttttttdata',JSON.stringify(result)) | ||||
|         const udpClient: UdpClientByCenter = new UdpClientByCenter(result.udplocalIp, result.udplocalIpPort, result.udpOppositeIp, result.udpOppositeIpPort) | ||||
|         console.log('ttttttdata', JSON.stringify(result)) | ||||
|         const udpClient: UdpClientByCenter = | ||||
|           new UdpClientByCenter(result.udplocalIp, result.udplocalIpPort, result.udpOppositeIp, | ||||
|             result.udpOppositeIpPort) | ||||
|         udpClient.bindUdp() | ||||
|         udpClient.sendMsg('111') | ||||
|         globalThis.host = `http://${result.centerIp}:${result.centerPort}` | ||||
|         globalThis.udpClient = udpClient | ||||
| 
 | ||||
|         globalThis.udpClient.onMessage_1(()=>{ | ||||
|           console.log('getUDPonMessage_1msgmsgByGloalUdp') | ||||
| 
 | ||||
|         }) | ||||
|         globalThis.udpClient.onError_Callback(()=>{ | ||||
|           getUDP(context,true) | ||||
|           if(errorFlag&&globalThis.udpClient&&globalThis.udpClient.onMessage_1){ | ||||
|             globalThis.udpClient.onMessage_1=globalThis.udpClient.onMessage_1 | ||||
|         globalThis.udpClient.onError_Callback(() => { | ||||
|           getUDP(context, true) | ||||
|           if (errorFlag && globalThis.udpClient && globalThis.udpClient.onMessage_1) { | ||||
|             globalThis.udpClient.onMessage_1 = globalThis.udpClient.onMessage_1 | ||||
|           } | ||||
|         }) | ||||
|         getChuankouFn() | ||||
| @ -79,14 +77,15 @@ export async function getUDP(context,errorFlag?) { | ||||
|           console.log(` getUDP  has udclent close and rebind `); | ||||
|           globalThis.udpClient.closeUdp(() => { | ||||
|             setTimeout(() => { | ||||
|               globalThis.udpClient.rebindUdp(result[0].udplocalIp, result[0].udplocalIpPort, result[0].udpOppositeIp, result[0].udpOppositeIpPort) | ||||
|               globalThis.udpClient.rebindUdp(result[0].udplocalIp, result[0].udplocalIpPort, result[0].udpOppositeIp, | ||||
|                 result[0].udpOppositeIpPort) | ||||
|               globalThis.udpClient.sendMsg('111', null) | ||||
|               globalThis.host = `http://${result[0].centerIp}:${result[0].centerPort}` | ||||
|               globalThis.udpClient.onError_Callback(()=>{ | ||||
|               globalThis.udpClient.onError_Callback(() => { | ||||
|                 console.log('getUDPgetUDPgetUDP') | ||||
|                 getUDP(true,context) | ||||
|                 if(errorFlag&&globalThis.udpClient&&globalThis.udpClient.onMessage_1){ | ||||
|                   globalThis.udpClient.onMessage_1=globalThis.udpClient.onMessage_1 | ||||
|                 getUDP(true, context) | ||||
|                 if (errorFlag && globalThis.udpClient && globalThis.udpClient.onMessage_1) { | ||||
|                   globalThis.udpClient.onMessage_1 = globalThis.udpClient.onMessage_1 | ||||
|                 } | ||||
|               }) | ||||
|               reslove(`http://${result[0].centerIp}:${result[0].centerPort}`) | ||||
| @ -95,24 +94,25 @@ export async function getUDP(context,errorFlag?) { | ||||
|             }, 1000) | ||||
|           }) | ||||
| 
 | ||||
|         } | ||||
|         else { | ||||
|         } else { | ||||
|           // 未绑定
 | ||||
|           console.log(` getUDP  has no  udclent and  bind `); | ||||
|           const udpClient: UdpClientByCenter = new UdpClientByCenter(result[0].udplocalIp, result[0].udplocalIpPort, result[0].udpOppositeIp, result[0].udpOppositeIpPort) | ||||
|           const udpClient: UdpClientByCenter = | ||||
|             new UdpClientByCenter(result[0].udplocalIp, result[0].udplocalIpPort, result[0].udpOppositeIp, | ||||
|               result[0].udpOppositeIpPort) | ||||
|           udpClient.bindUdp() | ||||
|           udpClient.sendMsg('111') | ||||
|           globalThis.host = `http://${result[0].centerIp}:${result[0].centerPort}` | ||||
|           globalThis.udpClient = udpClient | ||||
| 
 | ||||
|           globalThis.udpClient.onMessage_1(()=>{ | ||||
|           globalThis.udpClient.onMessage_1(() => { | ||||
|             console.log('getUDPonMessage_1msgmsgByGloalUdp') | ||||
| 
 | ||||
|           }) | ||||
|           globalThis.udpClient.onError_Callback(()=>{ | ||||
|             getUDP(true,context) | ||||
|             if(errorFlag&&globalThis.udpClient&&globalThis.udpClient.onMessage_1){ | ||||
|               globalThis.udpClient.onMessage_1=globalThis.udpClient.onMessage_1 | ||||
|           globalThis.udpClient.onError_Callback(() => { | ||||
|             getUDP(true, context) | ||||
|             if (errorFlag && globalThis.udpClient && globalThis.udpClient.onMessage_1) { | ||||
|               globalThis.udpClient.onMessage_1 = globalThis.udpClient.onMessage_1 | ||||
|             } | ||||
|           }) | ||||
|           // udpClient.onError_resend(globalThis.udpClient.onMessage_1?globalThis.udpClient.onMessage_1:()=>{})
 | ||||
| @ -140,61 +140,64 @@ export async function getUDP(context,errorFlag?) { | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| export async function getUDP2(context,errorFlag?) { | ||||
| export async function getUDP2(context, errorFlag?) { | ||||
|   const fileUtil = new FileUtil(context) | ||||
|   const data = await fileUtil.readFile(GlobalConfig.comoonfileWriteAddress + '/config/ipConfig.txt'); | ||||
|   if (data === '' || data === undefined) { | ||||
|     globalThis.udpClient2 = {} | ||||
|     globalThis.udpClient2.setMsgCallBack = () => { | ||||
|     } | ||||
|   }else{ | ||||
|     const result=JSON.parse(data) | ||||
|   } else { | ||||
|     const result = JSON.parse(data) | ||||
|     console.log(` getUDP2  has IPConfigTable `); | ||||
|     if (globalThis.udpClient2 && globalThis.udpClient2.closeUdp) { | ||||
|       console.log(` getUDP2  has udclent ,close and rebind `); | ||||
|       globalThis.udpClient2.closeUdp(async () => { | ||||
|         setTimeout(() => { | ||||
|           globalThis.udpClient2.rebindUdp(result.udplocalIp, '8800', globalThis.carInfo?.udpAddress, globalThis.carInfo?.messagePort) | ||||
|           globalThis.udpClient2.onError_Callback(()=>{ | ||||
|             getUDP2(context,true); | ||||
|             if(errorFlag&&globalThis.udpClient2&&globalThis.udpClient2.onMessage_2){ | ||||
|               globalThis.udpClient2.onMessage_2=globalThis.udpClient2.onMessage_2 | ||||
|           globalThis.udpClient2.rebindUdp(result.udplocalIp, '8800', globalThis.carInfo?.udpAddress, | ||||
|             globalThis.carInfo?.messagePort) | ||||
|           globalThis.udpClient2.onError_Callback(() => { | ||||
|             getUDP2(context, true); | ||||
|             if (errorFlag && globalThis.udpClient2 && globalThis.udpClient2.onMessage_2) { | ||||
|               globalThis.udpClient2.onMessage_2 = globalThis.udpClient2.onMessage_2 | ||||
|             } | ||||
|           }) | ||||
|         }, 1000) | ||||
|       }) | ||||
|     } | ||||
|     else { | ||||
|     } else { | ||||
|       // 未绑定
 | ||||
|       console.log(` getUDP2  has no  udclent and  bind `); | ||||
|       const udpClient2: UdpClientByCenter = new UdpClientByCenter(result.udplocalIp, '8800', globalThis.carInfo?.udpAddress, globalThis.carInfo?.messagePort) | ||||
|       const udpClient2: UdpClientByCenter = | ||||
|         new UdpClientByCenter(result.udplocalIp, '8800', globalThis.carInfo?.udpAddress, | ||||
|           globalThis.carInfo?.messagePort) | ||||
|       console.info('surenjun udp2=> ', globalThis.carInfo?.messagePort) | ||||
|       await udpClient2.bindUdp() | ||||
|       await udpClient2.onError_Callback(()=>{ | ||||
|         getUDP2(context,true); | ||||
|         if(errorFlag&&globalThis.udpClient2&&globalThis.udpClient2.onMessage_2){ | ||||
|           globalThis.udpClient2.onMessage_2=globalThis.udpClient2.onMessage_2 | ||||
|       udpClient2.bindUdp() | ||||
|       udpClient2.onError_Callback(() => { | ||||
|         getUDP2(context, true); | ||||
|         if (errorFlag && globalThis.udpClient2 && globalThis.udpClient2.onMessage_2) { | ||||
|           globalThis.udpClient2.onMessage_2 = globalThis.udpClient2.onMessage_2 | ||||
|         } | ||||
|       }) | ||||
|       if(!errorFlag){ | ||||
|         await udpClient2.onMessage_2((val) => { | ||||
|       if (!errorFlag) { | ||||
|         udpClient2.onMessage_2((val) => { | ||||
|           if (val.id == '32') { | ||||
|             globalThis.signNum = val.body[1] | ||||
|             if(val.body[0] == 5){ | ||||
|             if (val.body[0] == 5) { | ||||
|               console.info('surenjun', `接收到平台扣分请求,请求指令为:${val.body[1]}`) | ||||
|               globalThis.udpEvent.sendOnKf(val.body[1]) | ||||
|             } | ||||
|             if(val.body[0] == 11){ | ||||
|               console.info('surenjun','GlobalUdp收到beginExam事件') | ||||
|             if (val.body[0] == 11) { | ||||
|               console.info('surenjun', 'GlobalUdp收到beginExam事件') | ||||
|               globalThis.udpEvent.sendBeginExam(val.body[1]) | ||||
|             } | ||||
|             if(val.body[0] == 12){ | ||||
|               console.info('surenjun','GlobalUdp收到endExam事件') | ||||
|             if (val.body[0] == 12) { | ||||
|               console.info('surenjun', 'GlobalUdp收到endExam事件') | ||||
|               globalThis.udpEvent.sendEndExam(val.body[1]) | ||||
|             } | ||||
|           }if (val.id == '36'){ | ||||
|           } | ||||
|           if (val.id == '36') { | ||||
|             //获取远程扣分内容
 | ||||
|             console.info('surenjun','考车收到远程扣分项目内容,扣分代码:' + val.body[0]) | ||||
|             console.info('surenjun', '考车收到远程扣分项目内容,扣分代码:' + val.body[0]) | ||||
|             globalThis.udpEvent.sendKfContent(val.body[0]) | ||||
|           } else if (val.id == '46') { | ||||
|             let tmpList = [] | ||||
| @ -225,28 +228,30 @@ export async function getUDP2(context,errorFlag?) { | ||||
|         console.log(` getUDP2  has udclent ,close and rebind `); | ||||
|         globalThis.udpClient2.closeUdp(async () => { | ||||
|           setTimeout(() => { | ||||
|             globalThis.udpClient2.rebindUdp(result[0].udplocalIp, '8800', globalThis.carInfo?.udpAddress, globalThis.carInfo?.messagePort) | ||||
|             globalThis.udpClient2.onError_Callback(()=>{ | ||||
|             globalThis.udpClient2.rebindUdp(result[0].udplocalIp, '8800', globalThis.carInfo?.udpAddress, | ||||
|               globalThis.carInfo?.messagePort) | ||||
|             globalThis.udpClient2.onError_Callback(() => { | ||||
|               getUDP2(true); | ||||
|               if(errorFlag&&globalThis.udpClient2&&globalThis.udpClient2.onMessage_2){ | ||||
|                 globalThis.udpClient2.onMessage_2=globalThis.udpClient2.onMessage_2 | ||||
|               if (errorFlag && globalThis.udpClient2 && globalThis.udpClient2.onMessage_2) { | ||||
|                 globalThis.udpClient2.onMessage_2 = globalThis.udpClient2.onMessage_2 | ||||
|               } | ||||
|             }) | ||||
|           }, 1000) | ||||
|         }) | ||||
|       } | ||||
|       else { | ||||
|       } else { | ||||
|         // 未绑定
 | ||||
|         console.log(` getUDP2  has no  udclent and  bind `); | ||||
|         const udpClient2: UdpClientByCenter = new UdpClientByCenter(result[0].udplocalIp, '8800', globalThis.carInfo?.udpAddress, globalThis.carInfo?.messagePort) | ||||
|         const udpClient2: UdpClientByCenter = | ||||
|           new UdpClientByCenter(result[0].udplocalIp, '8800', globalThis.carInfo?.udpAddress, | ||||
|             globalThis.carInfo?.messagePort) | ||||
|         await udpClient2.bindUdp() | ||||
|         await udpClient2.onError_Callback(()=>{ | ||||
|         await udpClient2.onError_Callback(() => { | ||||
|           getUDP2(true); | ||||
|           if(errorFlag&&globalThis.udpClient2&&globalThis.udpClient2.onMessage_2){ | ||||
|             globalThis.udpClient2.onMessage_2=globalThis.udpClient2.onMessage_2 | ||||
|           if (errorFlag && globalThis.udpClient2 && globalThis.udpClient2.onMessage_2) { | ||||
|             globalThis.udpClient2.onMessage_2 = globalThis.udpClient2.onMessage_2 | ||||
|           } | ||||
|         }) | ||||
|         if(!errorFlag){ | ||||
|         if (!errorFlag) { | ||||
|           await udpClient2.onMessage_2((val) => { | ||||
|             if (val.id == '32') { | ||||
|               globalThis.signNum = val.body[1] | ||||
| @ -285,7 +290,7 @@ export async function setTopLineUdp() { | ||||
| 
 | ||||
|   // const config = await getSyncData('IpConfigTable');
 | ||||
|   if (config && config.udplocalIp) { | ||||
|     const {udplocalIp,udpOppositeIp,udpOppositeIpPort} = config; | ||||
|     const { udplocalIp, udpOppositeIp, udpOppositeIpPort } = config; | ||||
|     const udpClient: UdpClientByCenter = new UdpClientByCenter(udplocalIp, '55509', udpOppositeIp, udpOppositeIpPort) | ||||
|     udpClient.bindUdp() | ||||
| 
 | ||||
| @ -314,17 +319,19 @@ export async function setJudgeUdp() { | ||||
|   }, 1000); | ||||
| 
 | ||||
|   if (config && config.udplocalIp) { | ||||
|     const {udplocalIp} = config; | ||||
|     const { udplocalIp } = config; | ||||
|     const udpClientbyCenter: UdpClientByCenter = new UdpClientByCenter( | ||||
|       udplocalIp, '8080', | ||||
|       globalThis.carInfo?.udpAddress, | ||||
|       globalThis.carInfo?.hintPort | ||||
|     ) | ||||
|     console.info('surenjun hintPort=> ',globalThis.carInfo?.hintPort) | ||||
|     console.info('surenjun hintPort=> ', globalThis.carInfo?.hintPort) | ||||
| 
 | ||||
|     await udpClientbyCenter.onError_Callback(()=>{}) | ||||
|     await udpClientbyCenter.onError_Callback(() => { | ||||
|     }) | ||||
|     await udpClientbyCenter.bindUdp() | ||||
|     await udpClientbyCenter.onMessage_2((val) => {}) | ||||
|     await udpClientbyCenter.onMessage_2((val) => { | ||||
|     }) | ||||
| 
 | ||||
|     //远程监听开始考试、结束考试、扣分指令
 | ||||
| 
 | ||||
| @ -343,7 +350,7 @@ export async function setJudgeUdp() { | ||||
|       }, | ||||
| 
 | ||||
|       //申请远程扣分查询
 | ||||
|       askKf(directives){ | ||||
|       askKf(directives) { | ||||
|         globalThis.udpClient2.sendMsgExt({ | ||||
|           id: 35, | ||||
|           list: [directives], | ||||
| @ -354,10 +361,10 @@ export async function setJudgeUdp() { | ||||
|       }, | ||||
| 
 | ||||
|       //确定远程扣分
 | ||||
|       confirmKf(directives,code){ | ||||
|       confirmKf(directives, code) { | ||||
|         globalThis.udpClient2.sendMsgExt({ | ||||
|           id: 37, | ||||
|           list: Array2Byte([string2Bytes(directives,8),string2Bytes(code,8)]), | ||||
|           list: Array2Byte([string2Bytes(directives, 8), string2Bytes(code, 8)]), | ||||
|           carNo: globalThis.carInfo.carNo, | ||||
|           placeId: globalThis.carInfo.examinationRoomId | ||||
|         }) | ||||
| @ -367,4 +374,5 @@ export async function setJudgeUdp() { | ||||
|   } | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| // globalThis.udpClient.bindUdp()
 | ||||
|  | ||||
							
								
								
									
										121
									
								
								entry/src/main/ets/common/utils/UdpByOne.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										121
									
								
								entry/src/main/ets/common/utils/UdpByOne.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,121 @@ | ||||
| import socket from '@ohos.net.socket'; | ||||
| import { PLCGPSData } from '../../mock'; | ||||
| 
 | ||||
| export default class UdpByOne { | ||||
|   //   PLC udp
 | ||||
|   private PLCUDP: any; | ||||
|   // PLC localIp
 | ||||
|   private PLCLocalIp: string; | ||||
|   // PLC localIpPort
 | ||||
|   private PLCLocalIpPort: string; | ||||
|   // PLC oppositeIpPort
 | ||||
|   private PLCOppositeIpPort: string; | ||||
|   // PLC消息
 | ||||
|   private PLCMsg: string; | ||||
|   //   GPS udp
 | ||||
|   private GPSUDP: any; | ||||
|   // GPS localIp
 | ||||
|   private GPSLocalIp: string; | ||||
|   // GPS localIpPort
 | ||||
|   private GPSLocalIpPort: string; | ||||
|   // GPS oppositeIpPort
 | ||||
|   private GPSOppositeIpPort: string; | ||||
|   // GPS消息
 | ||||
|   private GPSMsg: string; | ||||
| 
 | ||||
|   constructor() { | ||||
|     //   初始化UDP
 | ||||
|     this.PLCUDP = socket.constructUDPSocketInstance(); | ||||
|     this.PLCUDP.bind(this.PLCLocalIp, this.PLCLocalIpPort); | ||||
|     this.GPSUDP = socket.constructUDPSocketInstance(); | ||||
|     this.GPSUDP.bind(this.GPSLocalIp, this.GPSLocalIpPort); | ||||
|   } | ||||
| 
 | ||||
|   //   重新绑定
 | ||||
|   public rebind() { | ||||
|     this.PLCUDP.bind(this.PLCLocalIp, this.PLCLocalIpPort); | ||||
|     this.GPSUDP.bind(this.GPSLocalIp, this.GPSLocalIpPort); | ||||
|   } | ||||
| 
 | ||||
|   //   PLC发送消息
 | ||||
|   public sendPLCMsg(msg: string) { | ||||
|     this.PLCUDP.sendTo(msg, this.PLCOppositeIpPort); | ||||
|   } | ||||
| 
 | ||||
|   //   GPS发送消息
 | ||||
|   public sendGPSMsg(msg: string) { | ||||
|     this.GPSUDP.sendTo(msg, this.GPSOppositeIpPort); | ||||
|   } | ||||
| 
 | ||||
|   // 接受消息
 | ||||
|   public receiveMsg(callback) { | ||||
|     this.GPSUDP.on("message", (message1, remoteInfo) => { | ||||
|       this.GPSMsg = message1; | ||||
|       this.PLCUDP.on("message", (message2, remoteInfo) => { | ||||
|         this.PLCMsg = message2; | ||||
|         //   组合数据
 | ||||
|         let newMessage = this.handleMsg() | ||||
|         callback(newMessage) | ||||
|       }) | ||||
|     }) | ||||
|   } | ||||
| 
 | ||||
|   // 处理消息
 | ||||
|   public handleMsg() { | ||||
|     this.GPSMsg = `$GPGGA,021126.00,2955.5885178,N,11953.8931034,E,5,12,0.8,13.191,M,6.838,M,2.000,0000*49
 | ||||
| $GPRMC,021126.00,A,2955.5885178,N,11953.8931034,E,4.881,318.3,170623,0.0,E,F*37 | ||||
| $GPGST,021126.00,3.30,1.77,3.30,0.0000,1.77,1.25,3.30*67 | ||||
| $PTNL,AVR,021126.00,+47.3119,Yaw,+0.4832,Tilt,,,0.817,3,1.7,25*09` | ||||
|     let newMessage = PLCGPSData; | ||||
|     //   海拔高度
 | ||||
|     // 原始GPS消息字符串
 | ||||
|     this.GPSMsg = `$GPGGA,021126.00,2955.5885178,N,11953.8931034,E,5,12,0.8,13.191,M,6.838,M,2.000,0000*49$GPRMC,021126.00,A,2955.5885178,N,11953.8931034,E,4.881,318.3,170623,0.0,E,F*37$GPGST,021126.00,3.30,1.77,3.30,0.0000,1.77,1.25,3.30*67$PTNL,AVR,021126.00,+47.3119,Yaw,+0.4832,Tilt,,,0.817,3,1.7,25*09`; | ||||
|     // 使用正则表达式提取$GPGGA消息
 | ||||
|     let GPGGAMsg = this.GPSMsg.match(/\$GPGGA[^$]*/)[0]; | ||||
|     let GPGGAMsgArr = GPGGAMsg.split(',').slice(0, 15); | ||||
|     //   使用正则提取$GPRMC消息
 | ||||
|     let GPRMCMsg = this.GPSMsg.match(/\$GPRMC[^$]*/)[0]; | ||||
|     let GPRMCMsgArr = GPRMCMsg.split(',').slice(0, 14); | ||||
|     //   使用正则表达式提取$GPGST消息]
 | ||||
|     let GPGSTMsg = this.GPSMsg.match(/\$GPGST[^$]*/)[0]; | ||||
|     let GPGSTMsgArr = GPGSTMsg.split(',').slice(0, 9); | ||||
|     //   使用正则提取$PTNL消息
 | ||||
|     let PTNLMsg = this.GPSMsg.match(/\$PTNL[^$]*/)[0]; | ||||
|     let PTNLMsgArr = PTNLMsg.split(',').slice(0, 14); | ||||
|     //   组合GPS数据
 | ||||
|     // 状态
 | ||||
|     // 收星数
 | ||||
|     // 海拔高
 | ||||
|      | ||||
|     // 高度差
 | ||||
|     // 龄期
 | ||||
|     // 维度因子
 | ||||
|     // 经度因子
 | ||||
|     // 航向角
 | ||||
|     // 俯仰角
 | ||||
|     // 航向角状态-收星数
 | ||||
|     // 年月日
 | ||||
|     // 时分秒
 | ||||
|     // 经度
 | ||||
|     // 纬度
 | ||||
|     // 速度
 | ||||
| 
 | ||||
| 
 | ||||
|   } | ||||
| 
 | ||||
|   //   PLC接收消息
 | ||||
|   public receivePLCMsg() { | ||||
|     this.PLCUDP.on("message", (message, remoteInfo) => { | ||||
|       console.log(`PLC receive message from ${remoteInfo.address}:${remoteInfo.port} : ${message}`); | ||||
|       this.PLCMsg = message; | ||||
|     }) | ||||
|   } | ||||
| 
 | ||||
|   //   GPS接收消息
 | ||||
|   public receiveGPSMsg() { | ||||
|     this.GPSUDP.on("message", (message, remoteInfo) => { | ||||
|       console.log(`GPS receive message from ${remoteInfo.address}:${remoteInfo.port} : ${message}`); | ||||
|       this.GPSMsg = message; | ||||
|     }) | ||||
|   } | ||||
| } | ||||
| @ -13,22 +13,19 @@ | ||||
|  * limitations under the License. | ||||
|  */ | ||||
| 
 | ||||
| // @ts-ignore
 | ||||
| import socket, { UDPSocket } from '@ohos.net.socket'; | ||||
| import { Array2Byte } from '../utils/tools' | ||||
| import FileUtil from '../../common/utils/File' | ||||
| import { fillZero, string2Bytes } from '../utils/tools' | ||||
| 
 | ||||
| const TAG = '[UdpDemo.UdpClient]' | ||||
| import hilog from '@ohos.hilog'; | ||||
| import prompt from '@ohos.prompt' | ||||
| import { Array2Byte, dateFormat, fillZero, string2Bytes } from '../utils/tools'; | ||||
| import FileUtil from '../../common/utils/File'; | ||||
| import prompt from '@ohos.prompt'; | ||||
| import promptAction from '@ohos.promptAction'; | ||||
| import { getUDP } from './GlobalUdp'; | ||||
| import { dateFormat } from '../utils/tools' | ||||
| import { getSyncData } from '../service/initable'; | ||||
| import UdpByOne from './UdpByOne'; | ||||
| 
 | ||||
| const TAG = '[UdpDemo.UdpClient]' | ||||
| 
 | ||||
| 
 | ||||
| export default class UdpClientByCenter { | ||||
|   public currentValue: string = '' | ||||
|   private localIp: string = '' | ||||
|   private localIpPort: string = '' | ||||
|   private oppositeIp: string = '' | ||||
| @ -43,15 +40,14 @@ export default class UdpClientByCenter { | ||||
|   private context | ||||
|   private folderPath | ||||
|   private stashFn: StashFunction | ||||
|   private errorStep: number=0 | ||||
|   private errorStep: number = 0 | ||||
|   private interval | ||||
|   private headLenth: number = 9 | ||||
|   //消息头长度
 | ||||
|   private isWorking: Boolean = false | ||||
|   private plcUdpError = false; | ||||
|   private initParam | ||||
|   private onMessage_1Callback:Function = ()=>{} | ||||
|   public  currentValue:string = '' | ||||
|   private UPDOne: any | ||||
| 
 | ||||
|   constructor(udplocalIp: string, udplocalIpPort: string, udpOppositeIp: string, udpOppositeIpPort: string) { | ||||
|     this.localIp = udplocalIp | ||||
| @ -62,14 +58,14 @@ export default class UdpClientByCenter { | ||||
|     } | ||||
|     this.udp = socket.constructUDPSocketInstance(); | ||||
|     this.initPath() | ||||
|     this.UPDOne = new UdpByOne() | ||||
|   } | ||||
| 
 | ||||
|   getStatus() { | ||||
|     return this.isWorking | ||||
|   } | ||||
| 
 | ||||
|   rebindUdp(localIp: string, localIpPort: string, oppositeIp: string, oppositeIpPort: string) | ||||
|   { | ||||
|   rebindUdp(localIp: string, localIpPort: string, oppositeIp: string, oppositeIpPort: string) { | ||||
|     this.localIp = localIp | ||||
|     this.oppositeIp = oppositeIp | ||||
|     this.localIpPort = localIpPort | ||||
| @ -90,10 +86,10 @@ export default class UdpClientByCenter { | ||||
|     }).catch(err => { | ||||
|       //globalThis.closeHeartSocket=true
 | ||||
|       this.isWorking = false | ||||
|      // this.writeLog({
 | ||||
|      //    time:dateFormat(new Date()),
 | ||||
|      //    PLC:`${TAG} getUDPudp rebind failed:${JSON.stringify(err)}`,
 | ||||
|      //  })
 | ||||
|       // this.writeLog({
 | ||||
|       //    time:dateFormat(new Date()),
 | ||||
|       //    PLC:`${TAG} getUDPudp rebind failed:${JSON.stringify(err)}`,
 | ||||
|       //  })
 | ||||
|       console.log(`${TAG} getUDPudp rebind failed:${JSON.stringify(err)}`); | ||||
|     }); | ||||
|   } | ||||
| @ -135,9 +131,6 @@ export default class UdpClientByCenter { | ||||
|     return view; | ||||
|   } | ||||
| 
 | ||||
|   //length消息体bufferlength   id消息类型id  bodyStr消息体string
 | ||||
|   // setMsyBody(id,bodyByte){
 | ||||
| 
 | ||||
|   // {id: 31,list:[0,1,'0000000000000'],carNo:489,placeId:62}
 | ||||
|   setWholeMsg(params) { | ||||
|     let head = this.setMsgHead(params); | ||||
| @ -150,14 +143,17 @@ export default class UdpClientByCenter { | ||||
| 
 | ||||
|   } | ||||
| 
 | ||||
|   setMsgHead({id, list, placeId=62, carNo=489}) { | ||||
|   //length消息体bufferlength   id消息类型id  bodyStr消息体string
 | ||||
|   // setMsyBody(id,bodyByte){
 | ||||
| 
 | ||||
|   setMsgHead({ id, list, placeId=62, carNo=489 }) { | ||||
|     let a = string2Bytes(`${id}${fillZero(placeId, 3)}`, 2 * 8); | ||||
|     let b = string2Bytes(`${fillZero(carNo, 4)}${globalThis.lshNo}`, 4 * 8); | ||||
|     let c = string2Bytes(list.length, 2 * 8); | ||||
|     return [...a, ...b, ...c]; | ||||
|   } | ||||
| 
 | ||||
|   setMsgBody({id,list}) { | ||||
|   setMsgBody({ id, list }) { | ||||
|     let tmpList = [] | ||||
|     tmpList = list | ||||
| 
 | ||||
| @ -171,15 +167,14 @@ export default class UdpClientByCenter { | ||||
|     console.log('getUDPsendHeadMsg exit') | ||||
|   } | ||||
| 
 | ||||
|   sendMsg(msg, sendCallback?) | ||||
|   { | ||||
|     if (!this.isWorking ) { | ||||
|   sendMsg(msg, sendCallback?) { | ||||
|     if (!this.isWorking) { | ||||
|       // console.log(`${TAG}getUDPudpCLient sendMsg  is closed return `);
 | ||||
|       // this.writeLog({
 | ||||
|       //   time:dateFormat(new Date()),
 | ||||
|       //   PLC:`${TAG}getUDPudpCLient  sendMsg  is closed return oppositeIp:${this.oppositeIp},oppositeIpPort:${this.oppositeIpPort},localIp:${this.localIp},localIpPort:${this.localIpPort}`,
 | ||||
|       // })
 | ||||
|       if(sendCallback) { | ||||
|       if (sendCallback) { | ||||
|         sendCallback() | ||||
|       } | ||||
|       return; | ||||
| @ -205,8 +200,8 @@ export default class UdpClientByCenter { | ||||
|       //   PLC:`${TAG}getUDPudpCLient udp send fail:oppositeIp${this.oppositeIp},oppositeIpPort:${this.oppositeIpPort},localIp:${this.localIp},localIpPort,${this.localIpPort}${JSON.stringify(err)}`,
 | ||||
|       // })
 | ||||
|       promptAction.showToast({ | ||||
|         message:`${TAG}getUDPudpCLient udp send fail:oppositeIp${this.oppositeIp},oppositeIpPort:${this.oppositeIpPort},localIp:${this.localIp},localIpPort,${this.localIpPort}`, | ||||
|         duration:4000 | ||||
|         message: `${TAG}getUDPudpCLient udp send fail:oppositeIp${this.oppositeIp},oppositeIpPort:${this.oppositeIpPort},localIp:${this.localIp},localIpPort,${this.localIpPort}`, | ||||
|         duration: 4000 | ||||
|       }) | ||||
|     }); | ||||
|   } | ||||
| @ -243,6 +238,7 @@ export default class UdpClientByCenter { | ||||
|     this.stashFn = callback ? callback : () => { | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   //中心udp回执
 | ||||
|   onMessage_2(callback, type?) { | ||||
|     this.udp.on('message', (value, remoteInfo) => { | ||||
| @ -261,14 +257,19 @@ export default class UdpClientByCenter { | ||||
|         list.push(arr[i]) | ||||
|       } | ||||
|       this.stashFn({ | ||||
|         id, length, body: list, sendId: this.sendId | ||||
|         id, | ||||
|         length, | ||||
|         body: list, | ||||
|         sendId: this.sendId | ||||
|       }) | ||||
|       callback({ | ||||
|         id, length, body: list, sendId: this.sendId | ||||
|         id, | ||||
|         length, | ||||
|         body: list, | ||||
|         sendId: this.sendId | ||||
|       }) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|       // this.interval=setInterval(()=>{
 | ||||
|       //
 | ||||
|       // },3000)
 | ||||
| @ -297,19 +298,22 @@ export default class UdpClientByCenter { | ||||
|     }) | ||||
|   } | ||||
| 
 | ||||
|   // TODO 赋值onMessage_1
 | ||||
|   //plc
 | ||||
|   onMessage_1(callback?) { | ||||
|     this.onMessage_1Callback = callback; | ||||
|     this.udp&&this.udp.on('message', this.message_1Fn); | ||||
|     this.UPDOne.receiveMsg(callback); | ||||
|     this.udp && this.udp.on('message', this.message_1Fn); | ||||
|   } | ||||
| 
 | ||||
|   closeMessage_1(){ | ||||
| 
 | ||||
|   closeMessage_1() { | ||||
|     console.info('surenjun', 'getUDP关闭udp message监听事件') | ||||
|     this.udp.off('message',this.message_1Fn); | ||||
|     this.udp.off('message', this.message_1Fn); | ||||
|     console.info('surenjun', 'getUDP关闭udp message监听事件 成功') | ||||
|   } | ||||
| 
 | ||||
|   message_1Fn = (value)=>{ | ||||
|   message_1Fn = (value) => { | ||||
|     let callback = this.onMessage_1Callback | ||||
|     // 收到的是ArrayBuffer 需要进行转换解析
 | ||||
|     this.plcUdpError = false | ||||
| @ -336,15 +340,15 @@ export default class UdpClientByCenter { | ||||
|       //   time:dateFormat(new Date()),
 | ||||
|       //   PLC: JSON.stringify(newArr.toString()),
 | ||||
|       // })
 | ||||
|       if(strachArr[83]!='4'){ | ||||
|         console.log('差分状态异常',strachArr[83],strachArr[92]) | ||||
|       if (strachArr[83] != '4') { | ||||
|         console.log('差分状态异常', strachArr[83], strachArr[92]) | ||||
|         this.writeLog({ | ||||
|           time:dateFormat(new Date()), | ||||
|           time: dateFormat(new Date()), | ||||
|           PLC: `${TAG}差分状态异常,${strachArr[83]},${strachArr[92]}`, | ||||
|         }) | ||||
|       }else{ | ||||
|         globalThis.dialogOpen=false | ||||
|         this.chafenFlag=0 | ||||
|       } else { | ||||
|         globalThis.dialogOpen = false | ||||
|         this.chafenFlag = 0 | ||||
|       } | ||||
|       callback && callback(newArr.toString()) | ||||
|       this.currentValue = newArr.toString(); | ||||
| @ -354,15 +358,18 @@ export default class UdpClientByCenter { | ||||
| 
 | ||||
|     this.testIfUdpConnetced(callback) | ||||
|   } | ||||
|   async  writeLog(param){ | ||||
| 
 | ||||
|   async writeLog(param) { | ||||
|     // const fileUtil = new FileUtil(globalThis.context)
 | ||||
|     // fileUtil.editFile(`${this.folderPath}/plcLog.txt`, JSON.stringify(param)+`\n`)
 | ||||
|   } | ||||
|   async initPath(){ | ||||
| 
 | ||||
|   async initPath() { | ||||
|     // const fileUtil = new FileUtil(globalThis.context)
 | ||||
|     // const date=dateFormat(new Date).split(' ')[0]
 | ||||
|     // this.folderPath = await fileUtil.initFolder(`/PLC/${date}`);
 | ||||
|   } | ||||
| 
 | ||||
|   //获取当前UDP信号
 | ||||
|   getCurrentMessage = () => { | ||||
|     return this.currentValue | ||||
| @ -376,7 +383,7 @@ export default class UdpClientByCenter { | ||||
|     const arrRedBuffer = Array2Byte(arrRed).buffer | ||||
|     const arrGreenBugger = Array2Byte(arrGreen).buffer | ||||
|     let num = 0 | ||||
|     globalThis.dialogOpen=false | ||||
|     globalThis.dialogOpen = false | ||||
| 
 | ||||
|     //监听udp是否断开
 | ||||
|     clearInterval(globalThis.messageTimer) | ||||
| @ -389,15 +396,15 @@ export default class UdpClientByCenter { | ||||
|         if (this.plcUdpError) { | ||||
|           num++ | ||||
|           this.writeLog({ | ||||
|             time:dateFormat(new Date()), | ||||
|             time: dateFormat(new Date()), | ||||
|             PLC: 'plc udp信号丢失', | ||||
|           }) | ||||
|           console.log(TAG, 'plc udp信号丢失') | ||||
|           if (num == 3) { | ||||
|             getUDP(globalThis.context,true) | ||||
|             globalThis.title='plc udp信号丢失' | ||||
|             globalThis.type='3' | ||||
|             if(!globalThis.dialogOpen){ | ||||
|             getUDP(globalThis.context, true) | ||||
|             globalThis.title = 'plc udp信号丢失' | ||||
|             globalThis.type = '3' | ||||
|             if (!globalThis.dialogOpen) { | ||||
|               // AppStorage.SetOrCreate('errorCode', 1);
 | ||||
|               // if(this.errorStep!=1){
 | ||||
|               //   console.log('sys.v_valuesys.v_valuesys.v_value11221')
 | ||||
| @ -437,6 +444,9 @@ export default class UdpClientByCenter { | ||||
|     }, 2000) | ||||
|   } | ||||
| 
 | ||||
|   private onMessage_1Callback: Function = () => { | ||||
|   } | ||||
| 
 | ||||
|   // initHeartSendMsg(param,context){
 | ||||
|   //     console.log('1111param',JSON.stringify(param))
 | ||||
|   //     this.initParam=param
 | ||||
|  | ||||
							
								
								
									
										0
									
								
								entry/src/main/ets/common/utils/UdpUtils.ets
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								entry/src/main/ets/common/utils/UdpUtils.ets
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										126
									
								
								entry/src/main/ets/common/utils/new/udp.ets
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										126
									
								
								entry/src/main/ets/common/utils/new/udp.ets
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,126 @@ | ||||
| import socket from '@ohos.net.socket'; | ||||
| 
 | ||||
| /** | ||||
|  * UDP工具类 | ||||
|  * 功能:创建UDP Socket、发送消息、接收消息、广播控制、关闭连接 | ||||
|  */ | ||||
| export class UdpTool { | ||||
|   private udpSocket: socket.UDPSocket | null = null; | ||||
|   private receiveCallback: ((data: string, remoteInfo: RemoteInfo) => void) | null = null; | ||||
|   private errorCallback: ((error: Error) => void) | null = null; | ||||
| 
 | ||||
|   /** | ||||
|    * 初始化UDP Socket | ||||
|    * @param port 绑定端口号 | ||||
|    * @param callback 接收消息回调 | ||||
|    */ | ||||
|   async initialize(port: number, callback?: (data: string, remoteInfo: RemoteInfo) => void): Promise<void> { | ||||
|     try { | ||||
|       // 1. 创建UDP Socket实例 | ||||
|       this.udpSocket = socket.constructUDPSocketInstance(); | ||||
| 
 | ||||
|       // 2. 绑定本地端口 | ||||
|       await this.udpSocket.bind({ address: '0.0.0.0', port: port, family: 1 }); | ||||
| 
 | ||||
|       // 3. 注册消息监听 | ||||
|       this.udpSocket.on('message', (payload: { | ||||
|         message: ArrayBuffer, | ||||
|         remoteInfo | ||||
|       }) => { | ||||
|         const msg = this.arrayBufferToString(payload.message); | ||||
|         this.receiveCallback?.(msg, payload.remoteInfo); | ||||
|       }); | ||||
|       // 4. 注册错误监听 | ||||
|       this.udpSocket.on('error', (err) => { | ||||
|         this.errorCallback?.(new Error(`Socket error: ${err.code} - ${err.message}`)); | ||||
|       }); | ||||
| 
 | ||||
|       if (callback) { | ||||
|         this.receiveCallback = callback; | ||||
|       } | ||||
|     } catch (error) { | ||||
|       throw new Error(`UDP初始化失败: ${error.message}`); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * 发送UDP消息 | ||||
|    * @param message 发送内容 | ||||
|    * @param address 目标地址 | ||||
|    * @param port 目标端口 | ||||
|    */ | ||||
|   async send(message: string, address: string, port: number): Promise<void> { | ||||
|     if (!this.udpSocket) { | ||||
|       throw new Error('Socket未初始化'); | ||||
|     } | ||||
| 
 | ||||
|     try { | ||||
|       const data = this.stringToArrayBuffer(message); | ||||
|       await this.udpSocket.send({ | ||||
|         data: data, | ||||
|         address: { address: address, port: port, family: 1 } | ||||
|       }); | ||||
|     } catch (error) { | ||||
|       throw new Error(`消息发送失败: ${error.message}`); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * 设置广播模式 | ||||
|    * @param enable 是否启用广播 | ||||
|    */ | ||||
|   setBroadcast(enable: boolean): void { | ||||
|     if (!this.udpSocket) { | ||||
|       throw new Error('Socket未初始化'); | ||||
|     } | ||||
| 
 | ||||
|     try { | ||||
|       this.udpSocket.setExtraOptions({ broadcast: enable }); | ||||
|     } catch (error) { | ||||
|       throw new Error(`广播设置失败: ${error.message}`); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * 关闭Socket连接 | ||||
|    */ | ||||
|   close(): void { | ||||
|     if (this.udpSocket) { | ||||
|       this.udpSocket.off('message'); | ||||
|       this.udpSocket.off('error'); | ||||
|       this.udpSocket.close(); | ||||
|       this.udpSocket = null; | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * 设置错误回调 | ||||
|    */ | ||||
|   onError(callback: (error: Error) => void): void { | ||||
|     this.errorCallback = callback; | ||||
|   } | ||||
| 
 | ||||
|   // 工具方法:ArrayBuffer转String | ||||
|   private arrayBufferToString(buffer: ArrayBuffer): string { | ||||
|     return String.fromCharCode(...new Uint8Array(buffer)); | ||||
|   } | ||||
| 
 | ||||
|   // 工具方法:String转ArrayBuffer | ||||
|   private stringToArrayBuffer(str: string): ArrayBuffer { | ||||
|     const buffer = new ArrayBuffer(str.length); | ||||
|     const view = new Uint8Array(buffer); | ||||
|     for (let i = 0; i < str.length; i++) { | ||||
|       view[i] = str.charCodeAt(i); | ||||
|     } | ||||
|     return buffer; | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * 远程设备信息类型 | ||||
|  */ | ||||
| interface RemoteInfo { | ||||
|   address: string; | ||||
|   port: number; | ||||
|   family: number; | ||||
| } | ||||
							
								
								
									
										101
									
								
								entry/src/main/ets/mock/PLCGPSData.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										101
									
								
								entry/src/main/ets/mock/PLCGPSData.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,101 @@ | ||||
| export const PLCGPSData = [ | ||||
|   "#DN_GD", | ||||
|   "$PLC", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0_0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0_0_0_0", | ||||
|   "0.0.0.0", | ||||
|   "V9.1_V2.1_1", | ||||
|   "65535", | ||||
|   "1", | ||||
|   "V7.8", | ||||
|   "0/0", | ||||
|   "0/0", | ||||
|   "0", | ||||
|   "0/0", | ||||
|   "100*200-2-2-。。", | ||||
|   "1", | ||||
|   "2", | ||||
|   "3", | ||||
|   "4", | ||||
|   "5", | ||||
|   "6", | ||||
|   "7", | ||||
|   "8", | ||||
|   "9", | ||||
|   "A", | ||||
|   "B", | ||||
|   "C", | ||||
|   "D", | ||||
|   "E", | ||||
|   "F", | ||||
|   "G", | ||||
|   "H", | ||||
|   "I", | ||||
|   "J", | ||||
|   "#END$GPS", | ||||
|   "1", | ||||
|   "16", | ||||
|   "6.068", | ||||
|   "1.301", | ||||
|   "0", | ||||
|   "1.07", | ||||
|   "0.64", | ||||
|   "0", | ||||
|   "0", | ||||
|   "0-12", | ||||
|   "91022", | ||||
|   "80109.2", | ||||
|   "3155.6715075", | ||||
|   "11851.9196718", | ||||
|   "0.012", | ||||
|   "#END", | ||||
| ]; | ||||
| @ -1,9 +0,0 @@ | ||||
| export * from "./CandidateData" | ||||
| 
 | ||||
| export * from "./VideoData" | ||||
| 
 | ||||
| export * from "./Judge" | ||||
| 
 | ||||
| export * from "./SignDisplay" | ||||
| 
 | ||||
| export * from "./CarCheck" | ||||
| @ -6,4 +6,6 @@ export * from "./Judge" | ||||
| 
 | ||||
| export * from "./SignDisplay" | ||||
| 
 | ||||
| export * from "./CarCheck" | ||||
| export * from "./CarCheck" | ||||
| 
 | ||||
| export * from "./PLCGPSData" | ||||
| @ -1,6 +1,6 @@ | ||||
| { | ||||
|   "hvigorVersion": "3.0.9", | ||||
|   "hvigorVersion": "3.2.4", | ||||
|   "dependencies": { | ||||
|     "@ohos/hvigor-ohos-plugin": "3.0.9" | ||||
|     "@ohos/hvigor-ohos-plugin": "3.2.4" | ||||
|   } | ||||
| } | ||||
| @ -1,13 +1,15 @@ | ||||
| { | ||||
|   "lockfileVersion": 1, | ||||
|   "lockfileVersion": 2, | ||||
|   "ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.", | ||||
|   "specifiers": { | ||||
|     "@ohos/hypium@1.0.6": "@ohos/hypium@1.0.6" | ||||
|   }, | ||||
|   "packages": { | ||||
|     "@ohos/hypium@1.0.6": { | ||||
|       "resolved": "https://repo.harmonyos.com/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz", | ||||
|       "integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ==" | ||||
|       "resolved": "https://ohpm.openharmony.cn/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz", | ||||
|       "integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ==", | ||||
|       "registryType": "ohpm", | ||||
|       "shasum": "3f5fed65372633233264b3447705b0831dfe7ea1" | ||||
|     } | ||||
|   } | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user