import macaddress from 'macaddress';
let macId = '';
const getMacId = async () => {
if (macId) {
return macId;
}
return new Promise(resolve => {
macaddress.one((err, mac) => {
macId = err ? '' : mac;
resolve(macId);
});
});
};
const monitorOptions = JSON.stringify({
autoCapture: false,
});
const bmMonitorBase = `
`;
const bmMonitor = `
`;
const ga = `
`;
const deer = `
`;
const render = (template: string, model: Object): string => {
return template.replace(/{{ (\w+) }}/g, (str, key) => model[key]);
};
const getScripts = async () => {
const macAddress = await 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],
},
};
};
export default getScripts;