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

26 lines
1.3 KiB
JavaScript
Raw Normal View History

2026-03-27 17:51:58 +08:00
// 构造发送包,传入参数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;
};