vue-baidu-analytics/dist/vue-baidu-analytics.js.map
2021-01-11 11:36:52 +08:00

1 line
11 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"version":3,"file":"vue-baidu-analytics.js","sources":["../src/modules/baidu.ts","../src/modules/pushBAIDU.ts","../src/modules/getVueVersion.ts","../src/modules/getRouterMode.ts","../src/main.ts"],"sourcesContent":["/** \n * 定义基础配置\n * 官方文档 https://tongji.baidu.com/open/api/more?p=guide_overview\n */\nclass BAIDU {\n siteId: string;\n isDebug: boolean;\n\n constructor (siteId: string = '', isDebug: boolean = false) {\n this.siteId = siteId;\n this.isDebug = isDebug;\n }\n\n /** \n * 初始化\n */\n init () {\n window._hmt = window._hmt ? window._hmt : [];\n const SCRIPT = document.createElement('script');\n SCRIPT['async'] = true;\n SCRIPT['src'] = `https://hm.baidu.com/hm.js?${this.siteId}`;\n document.querySelector('head').appendChild(SCRIPT);\n\n if ( this.isDebug ) {\n console.log(`[vue-baidu-analytics] siteId load done.\\nsiteId: ${this.siteId}`);\n }\n }\n\n /** \n * 设置要响应的站点\n */\n setAccount () {\n window._hmt.push(['_setAccount', this.siteId]);\n }\n\n /** \n * 提交PV、UV\n */\n trackPageview (pageUrl: string) {\n // 如果页面链接没传或者无效链接,则默认为根域名\n if ( !pageUrl || typeof pageUrl !== 'string' ) {\n pageUrl = '/';\n }\n\n // 如果页面链接带上了域名,则需要过滤掉\n if ( pageUrl.includes('http') ) {\n const PAGE_CUT = pageUrl.split('/');\n const HOST_NAME = `${PAGE_CUT[0]}//${PAGE_CUT[2]}`;\n pageUrl = pageUrl.replace(HOST_NAME, '');\n }\n\n // 设置响应id并提交数据\n this.setAccount();\n window._hmt.push(['_trackPageview', pageUrl]);\n\n if ( this.isDebug ) {\n console.log(`[vue-baidu-analytics] track pv done.\\nsiteId: ${this.siteId}\\npageUrl: ${pageUrl}`);\n }\n }\n\n /** \n * 提交点击事件\n */\n trackEvent (category: string, action: string, label: string, value: number) {\n // 前两个是必填项\n if ( typeof category !== 'string' || typeof action !== 'string' || !category || !action ) {\n throw new Error('[vue-baidu-analytics] Missing necessary category and operation information, and must be of type string.');\n return false;\n }\n\n // 重置一些无效的默认值\n if ( !label || typeof label !== 'string' ) {\n label = '';\n }\n\n if ( !Number(value) ) {\n value = 1;\n }\n\n // 设置响应id并提交数据\n this.setAccount();\n window._hmt.push(['_trackEvent', category, action, label, value]);\n\n if ( this.isDebug ) {\n console.log(`[vue-baidu-analytics] track event done.\\nsiteId: ${this.siteId}\\ncategory: ${category}\\naction: ${action}\\nlabel: ${label}\\nvalue: ${value}`);\n }\n }\n}\n\nexport default BAIDU;","import BAIDU from '@m/baidu'\n\n/** \n * 定义推送操作\n */\nclass PushBAIDU {\n siteIdList: string[];\n isDebug: boolean;\n\n constructor (siteIdList: string[], isDebug: boolean) {\n this.siteIdList = siteIdList;\n this.isDebug = isDebug;\n }\n\n /** \n * 批量部署站点\n */\n init () {\n this.siteIdList.forEach( (siteId: string) => {\n const SITE = new BAIDU(siteId, this.isDebug);\n SITE.init();\n });\n }\n\n /** \n * 批量提交pv上报\n */\n pv (pageUrl: string) {\n this.siteIdList.forEach( (siteId: string) => {\n const SITE = new BAIDU(siteId, this.isDebug);\n SITE.trackPageview(pageUrl);\n });\n }\n\n /** \n * 批量提交事件上报\n */\n event (category: string, action: string, label: string, value: number) {\n this.siteIdList.forEach( (siteId: string) => {\n const SITE = new BAIDU(siteId, this.isDebug);\n SITE.trackEvent(category, action, label, value);\n });\n }\n\n}\n\nexport default PushBAIDU;","/** \r\n * 获取Vue的版本\r\n * @return 2=Vue2.x, 3=Vue3.x\r\n */\r\nconst getVueVersion = (Vue: Vue): number => {\r\n let version: number = 2;\r\n\r\n // 获取Vue的版本号\r\n const VUE_VERSION: string = String(Vue.version);\r\n\r\n // Vue 2.x\r\n if ( VUE_VERSION.slice(0, 2) === '2.' ) {\r\n version = 2; \r\n }\r\n \r\n // Vue 3.x\r\n if ( VUE_VERSION.slice(0, 2) === '3.' ) {\r\n version = 3; \r\n }\r\n \r\n return version;\r\n}\r\n\r\nexport default getVueVersion;","/** \r\n * 获取Vue的版本\r\n * @param {number} vueVersion - vue版本号2=Vue2.x, 3=Vue3.x\r\n * @param {object} router - vue路由\r\n * @return hash=hash模式、history=history模式\r\n */\r\nconst getRouterMode = (vueVersion: number, router: any): string => {\r\n let mode: string = 'history';\r\n\r\n // 2.x直接读取mode即可\r\n if ( vueVersion === 2 ) {\r\n mode = router.mode;\r\n }\r\n\r\n // 3.x需要判断一下\r\n if ( vueVersion === 3 ) {\r\n const BASE: string = router.options.history.base || '';\r\n if ( BASE.includes('#') ) {\r\n mode = 'hash';\r\n }\r\n }\r\n \r\n return mode;\r\n}\r\n\r\nexport default getRouterMode;","import PushBAIDU from '@m/pushBAIDU'\nimport getVueVersion from '@m/getVueVersion'\nimport getRouterMode from '@m/getRouterMode'\n\n/** \n * 定义插件\n */\nexport default function install (Vue: Vue, { router, siteIdList, isDebug = false }: Partial<Options>) {\n\n /** \n * 一些环境和参数的检查\n */\n if ( typeof document === 'undefined' || typeof window === 'undefined' ) {\n return false;\n }\n\n if ( !router ) {\n throw new Error('[vue-baidu-analytics] Must pass a Vue-Router instance to vue-baidu-analytics.');\n }\n\n if ( !siteIdList ) {\n throw new Error('[vue-baidu-analytics] Missing tracking domain ID, add at least one of baidu analytics.');\n }\n\n /** \n * 挂载推送的方法\n */\n const pushBAIDU: any = new PushBAIDU(siteIdList, isDebug);\n \n // 获取Vue版本获取失败则默认为2\n const VUE_VERSION: number = getVueVersion(Vue) || 2;\n\n // 2.x可以直接挂载到原型上\n if ( VUE_VERSION === 2 ) {\n Vue.prototype.$pushBAIDU = pushBAIDU;\n }\n\n // 3.x必须使用这个方式来挂载\n if ( VUE_VERSION === 3 ) {\n Vue.config.globalProperties.$pushBAIDU = pushBAIDU;\n }\n\n /** \n * 部署站点并初始化\n */\n if ( siteIdList ) {\n pushBAIDU.init();\n }\n\n /** \n * 路由切换时执行PV上报\n */\n router.afterEach( (to: To) => {\n // 根据Vue版本获取路由模式\n const ROUTER_MODE: string = getRouterMode(VUE_VERSION, router);\n \n // 获取页面的url信息\n const PAGE_PATH_DIR_COUNT = window.location.pathname.split('/').length;\n const PAGE_PATH = window.location.pathname.split('/').slice(0, PAGE_PATH_DIR_COUNT - 1).join('/');\n\n // 根据路由模式生成要上报的链接\n const PAGE_URL = ROUTER_MODE === 'hash' ? `${PAGE_PATH}/#${to.fullPath}` : `${PAGE_PATH}${to.fullPath}`;\n \n // 上报数据\n pushBAIDU.pv(PAGE_URL);\n });\n}"],"names":[],"mappings":";;;;;;;;;;;EAIA;MAIE,eAAa,MAAmB,EAAE,OAAwB;UAA7C,uBAAA,EAAA,WAAmB;UAAE,wBAAA,EAAA,eAAwB;UACxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;UACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;OACxB;MAKD,oBAAI,GAAJ;UACE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;UAC7C,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;UAChD,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;UACvB,MAAM,CAAC,KAAK,CAAC,GAAG,gCAA8B,IAAI,CAAC,MAAQ,CAAC;UAC5D,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;UAEnD,IAAK,IAAI,CAAC,OAAO,EAAG;cAClB,OAAO,CAAC,GAAG,CAAC,yDAAuD,IAAI,CAAC,MAAQ,CAAC,CAAC;WACnF;OACF;MAKD,0BAAU,GAAV;UACE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;OAChD;MAKD,6BAAa,GAAb,UAAe,OAAe;UAE5B,IAAK,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAG;cAC7C,OAAO,GAAG,GAAG,CAAC;WACf;UAGD,IAAK,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAG;cAC9B,IAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;cACpC,IAAM,SAAS,GAAM,QAAQ,CAAC,CAAC,CAAC,UAAK,QAAQ,CAAC,CAAC,CAAG,CAAC;cACnD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;WAC1C;UAGD,IAAI,CAAC,UAAU,EAAE,CAAC;UAClB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;UAE9C,IAAK,IAAI,CAAC,OAAO,EAAG;cAClB,OAAO,CAAC,GAAG,CAAC,sDAAoD,IAAI,CAAC,MAAM,qBAAgB,OAAS,CAAC,CAAC;WACvG;OACF;MAKD,0BAAU,GAAV,UAAY,QAAgB,EAAE,MAAc,EAAE,KAAa,EAAE,KAAa;UAExE,IAAK,OAAO,QAAQ,KAAK,QAAQ,IAAK,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAG;cACzF,MAAM,IAAI,KAAK,CAAC,yGAAyG,CAAC,CAAC;WAE5H;UAGD,IAAK,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAI;cAC1C,KAAK,GAAG,EAAE,CAAC;WACZ;UAED,IAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAG;cACpB,KAAK,GAAG,CAAC,CAAC;WACX;UAGD,IAAI,CAAC,UAAU,EAAE,CAAC;UAClB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;UAElE,IAAK,IAAI,CAAC,OAAO,EAAG;cAClB,OAAO,CAAC,GAAG,CAAC,wDAAsD,IAAI,CAAC,MAAM,oBAAe,QAAQ,oBAAe,MAAM,oBAAe,KAAK,oBAAe,KAAO,CAAC,CAAC;WACtK;OACF;MACH,YAAC;EAAD,CAAC;;EClFD;MAIE,mBAAa,UAAoB,EAAE,OAAgB;UACjD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;UAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;OACxB;MAKD,wBAAI,GAAJ;UAAA,iBAKC;UAJC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAE,UAAC,MAAc;cACtC,IAAM,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,KAAI,CAAC,OAAO,CAAC,CAAC;cAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;WACb,CAAC,CAAC;OACJ;MAKD,sBAAE,GAAF,UAAI,OAAe;UAAnB,iBAKC;UAJC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAE,UAAC,MAAc;cACtC,IAAM,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,KAAI,CAAC,OAAO,CAAC,CAAC;cAC7C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;WAC7B,CAAC,CAAC;OACJ;MAKD,yBAAK,GAAL,UAAO,QAAgB,EAAE,MAAc,EAAE,KAAa,EAAE,KAAa;UAArE,iBAKC;UAJC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAE,UAAC,MAAc;cACtC,IAAM,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,KAAI,CAAC,OAAO,CAAC,CAAC;cAC7C,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;WACjD,CAAC,CAAC;OACJ;MAEH,gBAAC;EAAD,CAAC;;ECxCD,IAAM,aAAa,GAAG,UAAC,GAAQ;MAC7B,IAAI,OAAO,GAAW,CAAC,CAAC;MAGxB,IAAM,WAAW,GAAW,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;MAGhD,IAAK,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAG;UACtC,OAAO,GAAG,CAAC,CAAC;OACb;MAGD,IAAK,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAG;UACtC,OAAO,GAAG,CAAC,CAAC;OACb;MAED,OAAO,OAAO,CAAC;EACjB,CAAC;;ECfD,IAAM,aAAa,GAAG,UAAC,UAAkB,EAAE,MAAW;MACpD,IAAI,IAAI,GAAW,SAAS,CAAC;MAG7B,IAAK,UAAU,KAAK,CAAC,EAAG;UACtB,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;OACpB;MAGD,IAAK,UAAU,KAAK,CAAC,EAAG;UACtB,IAAM,IAAI,GAAW,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;UACvD,IAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAG;cACxB,IAAI,GAAG,MAAM,CAAC;WACf;OACF;MAED,OAAO,IAAI,CAAC;EACd,CAAC;;WChBuB,OAAO,CAAE,GAAQ,EAAE,EAAyD;UAAvD,MAAM,YAAA,EAAE,UAAU,gBAAA,EAAE,eAAe,EAAf,OAAO,mBAAG,KAAK,KAAA;MAK9E,IAAK,OAAO,QAAQ,KAAK,WAAW,IAAI,OAAO,MAAM,KAAK,WAAW,EAAG;UACtE,OAAO,KAAK,CAAC;OACd;MAED,IAAK,CAAC,MAAM,EAAG;UACb,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;OAClG;MAED,IAAK,CAAC,UAAU,EAAG;UACjB,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;OAC3G;MAKD,IAAM,SAAS,GAAQ,IAAI,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;MAG1D,IAAM,WAAW,GAAW,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;MAGpD,IAAK,WAAW,KAAK,CAAC,EAAG;UACvB,GAAG,CAAC,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC;OACtC;MAGD,IAAK,WAAW,KAAK,CAAC,EAAG;UACvB,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,GAAG,SAAS,CAAC;OACpD;MAKD,IAAK,UAAU,EAAG;UAChB,SAAS,CAAC,IAAI,EAAE,CAAC;OAClB;MAKD,MAAM,CAAC,SAAS,CAAE,UAAC,EAAM;UAEvB,IAAM,WAAW,GAAW,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;UAG/D,IAAM,mBAAmB,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;UACvE,IAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;UAGlG,IAAM,QAAQ,GAAG,WAAW,KAAK,MAAM,GAAM,SAAS,UAAK,EAAE,CAAC,QAAU,GAAG,KAAG,SAAS,GAAG,EAAE,CAAC,QAAU,CAAC;UAGxG,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;OACxB,CAAC,CAAC;EACL;;;;"}