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;