t-comm
Version:
专业、稳定、纯粹的工具库
155 lines (150 loc) • 5.48 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var tslib_es6 = require('../tslib.es6-01322ba9.js');
var time_time = require('../time/time.js');
var wecomRobot_batchSend = require('../wecom-robot/batch-send.js');
var rainbowHistoryMode_api = require('./api.js');
require('../wecom-robot/base.js');
require('../wecom-robot/helper.js');
require('axios');
require('../wecom-robot/send-img.js');
require('../node-img/img.js');
require('../rainbow-to-cos/api.js');
require('../node/fs-util.js');
require('fs');
require('path');
require('../fs/fs.js');
require('../rainbow/rainbow-admin.js');
require('../rainbow/helper/helper.js');
require('../rainbow/helper/rainbow-base-request.js');
require('../rainbow/helper/rainbow-signature.js');
require('../rainbow/rainbow-user.js');
require('../rainbow/sdk.js');
require('../json/json-parse.js');
require('../list/flat.js');
require('../rainbow-to-cos/helper/helper.js');
require('../tencent-cloud/cos/link.js');
require('../rainbow-to-cos/helper/value-type.js');
require('../string/string.js');
function getHistoryModeConfigDiffAndSendRobot(_a) {
var secretInfo = _a.secretInfo,
appName = _a.appName,
key = _a.key,
chatId = _a.chatId,
webhookUrl = _a.webhookUrl,
mentions = _a.mentions,
fetchRainbowConfigOptions = _a.fetchRainbowConfigOptions,
_b = _a.heartbeat,
heartbeat = _b === void 0 ? false : _b;
return tslib_es6.__awaiter(this, void 0, void 0, function () {
var res, equal, addedMap, deletedMap, parsed, message;
return tslib_es6.__generator(this, function (_c) {
switch (_c.label) {
case 0:
return [4 /*yield*/, rainbowHistoryMode_api.getHistoryModeConfigDiff({
secretInfo: secretInfo,
appName: appName,
key: key,
fetchRainbowConfigOptions: fetchRainbowConfigOptions
})];
case 1:
res = _c.sent();
equal = res.equal, addedMap = res.addedMap, deletedMap = res.deletedMap, parsed = res.parsed;
if (equal && !heartbeat) {
return [2 /*return*/, {
message: '',
equal: equal,
addedMap: addedMap,
deletedMap: deletedMap
}];
}
message = '';
if (heartbeat) {
message = getHeartbeatMessage({
parsed: parsed,
mentions: mentions
});
} else {
message = genMessage({
addedMap: addedMap,
deletedMap: deletedMap,
mentions: mentions,
parsed: parsed
});
}
try {
if (chatId && webhookUrl) {
wecomRobot_batchSend.batchSendWxRobotMarkdown({
chatId: chatId,
content: message,
webhookUrl: webhookUrl
});
}
} catch (err) {
console.log('[sendRainbowInfoToRobot] err: \n', err);
}
return [2 /*return*/, {
message: message,
equal: equal,
addedMap: addedMap,
deletedMap: deletedMap
}];
}
});
});
}
function getHeartbeatMessage(_a) {
var _b;
var parsed = _a.parsed,
mentions = _a.mentions;
var mentionStr = ((_b = mentions === null || mentions === void 0 ? void 0 : mentions.map(function (item) {
return "<@".concat(item, ">");
})) === null || _b === void 0 ? void 0 : _b.join('')) || '';
var result = ["\u3010History \u6A21\u5F0F\u5B50\u5DE5\u7A0B\u7EDF\u8BA1\u3011".concat(time_time.timeStampFormat(new Date().getTime(), 'yyyy-MM-dd')).concat(mentionStr)];
result.push("- ".concat(getStatisticsMessage({
parsed: parsed
})));
return result.join('\n');
}
function getStatisticsMessage(_a) {
var parsed = _a.parsed;
var validDomainLength = Object.keys(parsed).filter(function (domain) {
return parsed[domain].length;
}).length;
var totalSubProjects = Object.keys(parsed).reduce(function (acc, item) {
return acc + (parsed[item].length || 0);
}, 0);
return "\u5F53\u524D\u4F7F\u7528`history`\u6A21\u5F0F\u7684\u57DF\u540D\u5171`".concat(validDomainLength, "`\u4E2A\uFF0C\u5B50\u5DE5\u7A0B\u5171`").concat(totalSubProjects, "`\u4E2A");
}
function genMessage(_a) {
var _b;
var addedMap = _a.addedMap,
deletedMap = _a.deletedMap,
mentions = _a.mentions,
parsed = _a.parsed;
var mentionStr = ((_b = mentions === null || mentions === void 0 ? void 0 : mentions.map(function (item) {
return "<@".concat(item, ">");
})) === null || _b === void 0 ? void 0 : _b.join('')) || '';
var result = ["> \u26A0\uFE0F \u3010History \u6A21\u5F0F\u5B50\u5DE5\u7A0B\u66F4\u65B0\u3011".concat(mentionStr)];
Object.keys(addedMap).forEach(function (domain) {
var list = addedMap[domain].map(function (item) {
return "`".concat(item, "`");
});
if (list.length) {
result.push("- `".concat(domain, "`\u65B0\u589E: ").concat(list.join('、')));
}
});
Object.keys(deletedMap).forEach(function (domain) {
var list = deletedMap[domain].map(function (item) {
return "`".concat(item, "`");
});
if (list.length) {
result.push("- `".concat(domain, "`\u5220\u9664: ").concat(list.join('、')));
}
});
result.push(getStatisticsMessage({
parsed: parsed
}));
return result.join('\n');
}
exports.getHistoryModeConfigDiffAndSendRobot = getHistoryModeConfigDiffAndSendRobot;