Files
bd-short-message-platform/app/middleware/packageBuild/packageBuild.js

26 lines
1.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// 构造发送包,传入参数nowData和resendData
// nowData为当前数据段,resendData为重发数据段
// nowData和resendData都为数组,数组元素的内容为:信息类型编号 + 信息内容长度 + 信息内容
module.exports = (app, nowData, resendData) => {
const utils = app.middleware.utils;
utils.intrinsic.packageNumber++;
let now = new Date();
let sendTime = utils.packageItem(2, now.getFullYear()) +
utils.packageItem(1, now.getMonth() + 1) +
utils.packageItem(1, now.getDate());
let packageMsg = utils.packageItem(2, app.config.socketClient.id) +
utils.packageItem(2, app.config.socketClient.destination) +
utils.packageItem(4, utils.intrinsic.packageNumber) +
utils.packageItem(1, nowData.length) +
utils.packageItem(2, utils.arrItemLength(nowData)) +
(resendData ? '01' : '00') +
(resendData ? utils.packageItem(1, resendData.length) : '00') +
(resendData ? utils.packageItem(2, utils.arrItemLength(resendData)) : '0000') +
sendTime +
utils.arrTotalItem(nowData) +
(resendData ? sendTime : '') +
(resendData ? utils.arrTotalItem(resendData) : '') +
utils.intrinsic.separateIdentifiers;
const buffer = Buffer.from(packageMsg, 'hex');
return buffer;
};