北斗短报文通信服务平台
This commit is contained in:
32
app/middleware/parseDataPackage/parseDataPackage.js
Normal file
32
app/middleware/parseDataPackage/parseDataPackage.js
Normal file
@@ -0,0 +1,32 @@
|
||||
// 解析数据包
|
||||
module.exports = (middleware, data) => {
|
||||
const utils = middleware.utils;
|
||||
const shunt = middleware.shunt;
|
||||
let msg;
|
||||
if (data == 'e5bf83e8b7b3') {
|
||||
msg = 'e5bf83e8b7b37878787888888888';
|
||||
} else {
|
||||
let regex = /..?/g,
|
||||
arr = data.match(regex),
|
||||
baseArr = utils.getArr(arr, 0, 14),
|
||||
baseObj = {
|
||||
infoSource: { label: "信源", data: parseInt(baseArr[0] + baseArr[1], 16) },
|
||||
destination: { label: "信宿", data: parseInt(baseArr[2] + baseArr[3], 16) },
|
||||
packageNumber: { label: "包序号", data: parseInt(baseArr[4] + baseArr[5] + baseArr[6] + baseArr[7], 16) },
|
||||
dataItem: { label: "当前数据项", data: parseInt(baseArr[8], 16) },
|
||||
dataLength: { label: "当前数据段总长度", data: parseInt(baseArr[9] + baseArr[10], 16) },
|
||||
resendFlag: { label: "重发标志", data: parseInt(baseArr[11], 16) },
|
||||
resendItem: { label: "重发数据项", data: parseInt(baseArr[12], 16) },
|
||||
resendLength: { label: "重发数据段总长度", data: parseInt(baseArr[13] + baseArr[14], 16) },
|
||||
dataContent: { label: "数据段", }
|
||||
};
|
||||
if (baseObj.dataItem.data !== 0) {
|
||||
shunt.selectXFType(middleware, 'now', baseObj, arr);
|
||||
}
|
||||
if (baseObj.resendFlag.data !== 0) {
|
||||
shunt.selectXFType(middleware, 'resend', baseObj, arr);
|
||||
}
|
||||
msg = baseObj;
|
||||
}
|
||||
return msg;
|
||||
};
|
||||
Reference in New Issue
Block a user