"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.normalizeHtml = normalizeHtml;
exports.default = void 0;
function _react() {
const data = _interopRequireDefault(require("react"));
_react = function _react() {
return data;
};
return data;
}
function _umi() {
const data = require("umi");
_umi = function _umi() {
return data;
};
return data;
}
function _macaddress() {
const data = _interopRequireDefault(require("macaddress"));
_macaddress = function _macaddress() {
return data;
};
return data;
}
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
const cheerio = _umi().utils.cheerio; // 添加埋点脚本
function normalizeHtml(html, scripts) {
const bigfishScripts = scripts.bigfishScripts,
umiScripts = scripts.umiScripts;
const $ = cheerio.load(html); // basementMonitor
$('head').append('');
$('body').append(``);
if (process.env.BIGFISH_COMPAT) {
$('body').append(``);
} // not local dev and not test env
if (!process.env.LOCAL_DEBUG && !process.env.UMI_UI_TEST) {
const headScript = process.env.BIGFISH_COMPAT ? bigfishScripts.head.join('\n') : umiScripts.head.join('\n');
$('head').append(headScript);
const footScript = process.env.BIGFISH_COMPAT ? bigfishScripts.foot.join('\n') : umiScripts.foot.join('\n');
$('body').append(footScript);
}
return html;
}
let macId = '';
const getMacId = /*#__PURE__*/function () {
var _ref = _asyncToGenerator(function* () {
if (macId) {
return macId;
}
return new Promise(resolve => {
_macaddress().default.one((err, mac) => {
macId = err ? '' : mac;
resolve(macId);
});
});
});
return function getMacId() {
return _ref.apply(this, arguments);
};
}();
const monitorOptions = JSON.stringify({
autoCapture: false
});
const bmMonitorBase = `
`;
const bmMonitor = `
`;
const ga = `
`;
const deer = `
`;
const render = (template, model) => template.replace(/{{ (\w+) }}/g, (str, key) => model[key]);
const getScripts = /*#__PURE__*/function () {
var _ref2 = _asyncToGenerator(function* () {
const macAddress = yield getMacId();
const modal = {
roleId: macAddress,
version: process.env.BIGFISH_VERSION || process.env.UMI_VERSION || '',
type: process.env.BIGFISH_COMPAT ? 'bigfish' : 'umi'
};
const deerScript = render(deer, modal);
const bmMonitorScript = render(bmMonitor, modal);
const gaScript = render(ga, modal);
return {
bigfishScripts: {
head: [bmMonitorBase, deerScript],
foot: []
},
umiScripts: {
head: [bmMonitorBase, bmMonitorScript],
foot: [gaScript]
}
};
});
return function getScripts() {
return _ref2.apply(this, arguments);
};
}();
var _default = getScripts;
exports.default = _default;