// 解析数据包 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; };