@wangofnextdoor/zzd-config
Version:
浙政钉配置和流量分析工具包
70 lines (69 loc) • 2.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.initWpkLog = void 0;
// 动态加载脚本
const loadScript = (url) => {
return new Promise((resolve, reject) => {
if (typeof document === 'undefined') {
reject(new Error('Document is not available'));
return;
}
const script = document.createElement('script');
script.src = url;
script.crossOrigin = 'true';
script.onload = () => resolve();
script.onerror = (err) => reject(err);
document.head.appendChild(script);
});
};
/**
* 初始化wpkReporter
* @param config WPK配置
* @returns 是否初始化成功
*/
const initWpkReporter = (config) => {
try {
const defaultConfig = {
bid: 'xjyq_zzdpro',
signkey: '1234567890abcdef',
gateway: 'https://wpkgate-emas.ding.zj.gov.cn',
...config,
};
if (typeof window === 'undefined' || !window.wpkReporter) {
console.error('WPK Reporter not available');
return false;
}
const wpk = new window.wpkReporter(defaultConfig);
wpk.installAll();
window._wpk = wpk;
return true;
}
catch (err) {
console.error('WpkReporter初始化失败', err);
return false;
}
};
/**
* 初始化WPK日志
* @param config 可选的配置参数
* @returns 是否初始化成功
*/
const initWpkLog = async (config) => {
try {
// 检查环境
if (typeof window === 'undefined' || typeof document === 'undefined') {
console.warn('WPK日志只能在浏览器环境中使用');
return false;
}
await loadScript('https://g.alicdn.com/gdt/jsapi/1.9.6/index.js');
await loadScript('https://wpkgate-emas.ding.zj.gov.cn/static/wpk-jssdk.1.0.2/wpkReporter.js');
// 钉钉远程调试
return initWpkReporter(config);
}
catch (err) {
console.error('加载wpkReporter脚本失败', err);
return false;
}
};
exports.initWpkLog = initWpkLog;
exports.default = exports.initWpkLog;