From 8ca09dac7b063f33791e391356bcc006e132e9fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=85=A7=E6=AD=A6?= Date: Tue, 16 Apr 2019 11:32:28 +0800 Subject: [PATCH] :zap:improve notification style --- docs/dist/css/{app.50663216.css => app.3ef4caea.css} | 2 +- docs/dist/js/app.556669a6.js | 2 ++ docs/dist/js/app.556669a6.js.map | 1 + docs/dist/js/app.77b2e5c0.js | 2 -- docs/dist/js/app.77b2e5c0.js.map | 1 - docs/index.html | 2 +- 6 files changed, 5 insertions(+), 5 deletions(-) rename docs/dist/css/{app.50663216.css => app.3ef4caea.css} (79%) create mode 100644 docs/dist/js/app.556669a6.js create mode 100644 docs/dist/js/app.556669a6.js.map delete mode 100644 docs/dist/js/app.77b2e5c0.js delete mode 100644 docs/dist/js/app.77b2e5c0.js.map diff --git a/docs/dist/css/app.50663216.css b/docs/dist/css/app.3ef4caea.css similarity index 79% rename from docs/dist/css/app.50663216.css rename to docs/dist/css/app.3ef4caea.css index 3dca813..59448f4 100644 --- a/docs/dist/css/app.50663216.css +++ b/docs/dist/css/app.3ef4caea.css @@ -1 +1 @@ -body{background:#fff;margin:0;font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}header{background:#40b883;padding:32px;padding-bottom:8px}header .description,header nav{text-align:center}header .description{color:#fff;margin-top:8px}section .section-content{margin:0 42px;padding:64px 0;-webkit-box-sizing:border-box;box-sizing:border-box}section .section-content.small{padding:32px 0}section .section-content.mini{padding:16px 0}section.nav{text-align:center;background:#40b883;padding:24px;padding-bottom:35px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}section.nav>*{-webkit-box-flex:1;-ms-flex:auto 0 0px;flex:auto 0 0}section.nav a{display:inline-block;padding:8px 16px;color:#fff;background:#62c99b;border-radius:3px}section.nav a:hover{background:#88d6b4}section.nav a:not(:last-child){margin-right:8px}.collapse .section-content{padding:12px 0 64px 0}h1{color:#fff;text-align:center;margin:0 0 32px}h1,h2{font-weight:400}h2:first-child{margin-top:0}a{color:#40b883;text-decoration:none;cursor:pointer}a:hover{color:#62c99b}button,input{font-size:inherit;font-family:inherit;border:none;outline:none;padding:12px 24px;border-radius:2px}button{color:#9e9e9e;background:#fff;border:2px solid #9e9e9e;cursor:pointer;display:inline-block;text-align:center;-webkit-transition:background .3s;transition:background .3s}button:hover{background:#ebebeb}.btn{padding:6px 12px;display:inline-block;background:#40b883;color:#fff;cursor:pointer;border-radius:3px}.btn:hover{color:#fff;background:#62c99b}input{background:#fff;display:block;margin-bottom:12px;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:2px solid #e0e0e0;border-right:1px solid #f5f5f5;text-align:left}input:focus{border-bottom-color:#40b883}label input{display:inline-block;width:auto}.form{margin-bottom:12px}.tooltip{display:block!important;z-index:10000}.tooltip .tooltip-inner{background:#000;color:#fff;border-radius:16px;padding:5px 10px 4px}.tooltip .tooltip-arrow{width:0;height:0;border-style:solid;position:absolute;margin:5px;border-color:#000}.tooltip[x-placement^=top]{margin-bottom:5px}.tooltip[x-placement^=top] .tooltip-arrow{border-width:5px 5px 0 5px;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;bottom:-5px;left:calc(50% - 5px);margin-top:0;margin-bottom:0}.tooltip[x-placement^=bottom]{margin-top:5px}.tooltip[x-placement^=bottom] .tooltip-arrow{border-width:0 5px 5px 5px;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important;top:-5px;left:calc(50% - 5px);margin-top:0;margin-bottom:0}.tooltip[x-placement^=right]{margin-left:5px}.tooltip[x-placement^=right] .tooltip-arrow{border-width:5px 5px 5px 0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important;left:-5px;top:calc(50% - 5px);margin-left:0;margin-right:0}.tooltip[x-placement^=left]{margin-right:5px}.tooltip[x-placement^=left] .tooltip-arrow{border-width:5px 0 5px 5px;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;right:-5px;top:calc(50% - 5px);margin-left:0;margin-right:0}.tooltip[aria-hidden=true]{visibility:hidden;opacity:0;-webkit-transition:opacity .15s,visibility .15s;transition:opacity .15s,visibility .15s}.tooltip[aria-hidden=false]{visibility:visible;opacity:1;-webkit-transition:opacity .15s;transition:opacity .15s}.tooltip.info .tooltip-inner{background:rgba(0,68,153,.9);color:#fff;padding:24px;border-radius:5px;-webkit-box-shadow:0 5px 30px rgba(0,0,0,.1);box-shadow:0 5px 30px rgba(0,0,0,.1);max-width:250px}.tooltip.info .tooltip-arrow{border-color:rgba(0,68,153,.9)}.tooltip.popover .popover-inner{background:#f9f9f9;color:#000;padding:24px;border-radius:5px;-webkit-box-shadow:0 5px 30px rgba(0,0,0,.1);box-shadow:0 5px 30px rgba(0,0,0,.1)}.tooltip.popover .popover-arrow{border-color:#f9f9f9}.tooltip.tooltip-loading .tooltip-inner{color:#7af}.v-popover.inline{display:inline-block}.v-popover.inline:not(:last-child){margin-right:12px}.command{background:#339268;color:#fff;font-family:monospace;max-width:500px;margin:20px auto;border-radius:2px;padding:12px 24px;-webkit-box-sizing:border-box;box-sizing:border-box}.command,.plus{text-align:center}.plus{color:#40b883;font-size:32px;margin:12px}.demo,.snippets{margin:0 42px}.snippet+.snippet{margin-top:20px}.snippet:last-child{margin-bottom:39px}.snippets{background:#f9f9f9;border-radius:0 0 3px 3px}.demo{background:#eee;margin-top:42px;border-radius:3px 3px 0 0}.demo .section-content{text-align:center;max-width:560px;margin:auto}.demo h2{margin-bottom:24px}.demo button{width:100px;height:100px;border-radius:50%;padding:0;text-transform:uppercase;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-weight:700;font-size:16px;-webkit-transform:rotate(-20deg);transform:rotate(-20deg)}.demo button.b2{-webkit-transform:rotate(30deg);transform:rotate(30deg)}.demo button.b3{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}.demo button.popover-btn{background:#333;color:#eee;border-color:#999}.footer{font-size:14px;text-align:center;background:#e7f7f0}.v-track-table .header,.v-track-table .row{display:-webkit-box;display:-ms-flexbox;display:flex}.v-track-table .header span,.v-track-table .header strong,.v-track-table .row span,.v-track-table .row strong{-webkit-box-flex:1;-ms-flex:1;flex:1;line-height:29px;border-bottom:1px solid #ebeef5}.v-track-table .row:hover{background:#fafafa;cursor:pointer}.notification__large{width:399px}.notification__large .el-notification__group{width:100%}.code-snippet{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;background:#2e3440;border-radius:3px;font-family:Roboto Mono,monospace;font-size:10pt;overflow:auto;position:relative}.code-snippet>*{-webkit-box-flex:1;-ms-flex:auto 0 0px;flex:auto 0 0}.code-snippet .line-numbers,.code-snippet .render{color:#d8dee9;padding:20px;padding-right:0}.code-snippet .line-numbers{background:#2e3440;color:#bdbdbd;border-radius:2px 0 0 2px;line-height:18px}.code-snippet .render{white-space:pre;line-height:18px}.code-snippet .language{position:absolute;top:0;right:0;color:#bdbdbd;padding:4px 4px 6px 6px;border-radius:0 0 0 2px}.v-track-table .header[data-v-f83a51e0],.v-track-table .row[data-v-f83a51e0]{display:-webkit-box;display:-ms-flexbox;display:flex}.v-track-table .header span[data-v-f83a51e0],.v-track-table .header strong[data-v-f83a51e0],.v-track-table .row span[data-v-f83a51e0],.v-track-table .row strong[data-v-f83a51e0]{-webkit-box-flex:1;-ms-flex:1;flex:1;line-height:29px;border-bottom:1px solid #ebeef5}.v-track-table .row[data-v-f83a51e0]:hover{background:#fafafa;cursor:pointer}.notification__large[data-v-f83a51e0]{width:399px}.notification__large .el-notification__group[data-v-f83a51e0]{width:100%}.close[data-v-f83a51e0]{text-align:center;margin-top:12px}.track-button[data-v-f83a51e0]{width:229px;height:39px;background:#40b883;border-radius:5px;color:#fff;line-height:39px;margin:auto} \ No newline at end of file +body{background:#fff;margin:0;font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}header{background:#40b883;padding:32px;padding-bottom:8px}header .description,header nav{text-align:center}header .description{color:#fff;margin-top:8px}section .section-content{margin:0 42px;padding:64px 0;-webkit-box-sizing:border-box;box-sizing:border-box}section .section-content.small{padding:32px 0}section .section-content.mini{padding:16px 0}section.nav{text-align:center;background:#40b883;padding:24px;padding-bottom:35px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}section.nav>*{-webkit-box-flex:1;-ms-flex:auto 0 0px;flex:auto 0 0}section.nav a{display:inline-block;padding:8px 16px;color:#fff;background:#62c99b;border-radius:3px}section.nav a:hover{background:#88d6b4}section.nav a:not(:last-child){margin-right:8px}.collapse .section-content{padding:12px 0 64px 0}h1{color:#fff;text-align:center;margin:0 0 32px}h1,h2{font-weight:400}h2:first-child{margin-top:0}a{color:#40b883;text-decoration:none;cursor:pointer}a:hover{color:#62c99b}button,input{font-size:inherit;font-family:inherit;border:none;outline:none;padding:12px 24px;border-radius:2px}button{color:#9e9e9e;background:#fff;border:2px solid #9e9e9e;cursor:pointer;display:inline-block;text-align:center;-webkit-transition:background .3s;transition:background .3s}button:hover{background:#ebebeb}.btn{padding:6px 12px;display:inline-block;background:#40b883;color:#fff;cursor:pointer;border-radius:3px}.btn:hover{color:#fff;background:#62c99b}input{background:#fff;display:block;margin-bottom:12px;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:2px solid #e0e0e0;border-right:1px solid #f5f5f5;text-align:left}input:focus{border-bottom-color:#40b883}label input{display:inline-block;width:auto}.form{margin-bottom:12px}.tooltip{display:block!important;z-index:10000}.tooltip .tooltip-inner{background:#000;color:#fff;border-radius:16px;padding:5px 10px 4px}.tooltip .tooltip-arrow{width:0;height:0;border-style:solid;position:absolute;margin:5px;border-color:#000}.tooltip[x-placement^=top]{margin-bottom:5px}.tooltip[x-placement^=top] .tooltip-arrow{border-width:5px 5px 0 5px;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;bottom:-5px;left:calc(50% - 5px);margin-top:0;margin-bottom:0}.tooltip[x-placement^=bottom]{margin-top:5px}.tooltip[x-placement^=bottom] .tooltip-arrow{border-width:0 5px 5px 5px;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important;top:-5px;left:calc(50% - 5px);margin-top:0;margin-bottom:0}.tooltip[x-placement^=right]{margin-left:5px}.tooltip[x-placement^=right] .tooltip-arrow{border-width:5px 5px 5px 0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important;left:-5px;top:calc(50% - 5px);margin-left:0;margin-right:0}.tooltip[x-placement^=left]{margin-right:5px}.tooltip[x-placement^=left] .tooltip-arrow{border-width:5px 0 5px 5px;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;right:-5px;top:calc(50% - 5px);margin-left:0;margin-right:0}.tooltip[aria-hidden=true]{visibility:hidden;opacity:0;-webkit-transition:opacity .15s,visibility .15s;transition:opacity .15s,visibility .15s}.tooltip[aria-hidden=false]{visibility:visible;opacity:1;-webkit-transition:opacity .15s;transition:opacity .15s}.tooltip.info .tooltip-inner{background:rgba(0,68,153,.9);color:#fff;padding:24px;border-radius:5px;-webkit-box-shadow:0 5px 30px rgba(0,0,0,.1);box-shadow:0 5px 30px rgba(0,0,0,.1);max-width:250px}.tooltip.info .tooltip-arrow{border-color:rgba(0,68,153,.9)}.tooltip.popover .popover-inner{background:#f9f9f9;color:#000;padding:24px;border-radius:5px;-webkit-box-shadow:0 5px 30px rgba(0,0,0,.1);box-shadow:0 5px 30px rgba(0,0,0,.1)}.tooltip.popover .popover-arrow{border-color:#f9f9f9}.tooltip.tooltip-loading .tooltip-inner{color:#7af}.v-popover.inline{display:inline-block}.v-popover.inline:not(:last-child){margin-right:12px}.command{background:#339268;color:#fff;font-family:monospace;max-width:500px;margin:20px auto;border-radius:2px;padding:12px 24px;-webkit-box-sizing:border-box;box-sizing:border-box}.command,.plus{text-align:center}.plus{color:#40b883;font-size:32px;margin:12px}.demo,.snippets{margin:0 42px}.snippet+.snippet{margin-top:20px}.snippet:last-child{margin-bottom:39px}.snippets{background:#f9f9f9;border-radius:0 0 3px 3px}.demo{background:#eee;margin-top:42px;border-radius:3px 3px 0 0}.demo .section-content{text-align:center;max-width:560px;margin:auto}.demo h2{margin-bottom:24px}.demo button{width:100px;height:100px;border-radius:50%;padding:0;text-transform:uppercase;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-weight:700;font-size:16px;-webkit-transform:rotate(-20deg);transform:rotate(-20deg)}.demo button.b2{-webkit-transform:rotate(30deg);transform:rotate(30deg)}.demo button.b3{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}.demo button.popover-btn{background:#333;color:#eee;border-color:#999}.footer{font-size:14px;text-align:center;background:#e7f7f0}.v-track-table .header,.v-track-table .row{display:-webkit-box;display:-ms-flexbox;display:flex}.v-track-table .header span,.v-track-table .header strong,.v-track-table .row span,.v-track-table .row strong{-webkit-box-flex:1;-ms-flex:1;flex:1;line-height:29px;border-bottom:1px solid #ebeef5}.v-track-table .row:hover{background:#fafafa;cursor:pointer}.notification__large{width:399px}.notification__large .el-notification__group{width:100%}.message-offset{top:88px}.code-snippet{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;background:#2e3440;border-radius:3px;font-family:Roboto Mono,monospace;font-size:10pt;overflow:auto;position:relative}.code-snippet>*{-webkit-box-flex:1;-ms-flex:auto 0 0px;flex:auto 0 0}.code-snippet .line-numbers,.code-snippet .render{color:#d8dee9;padding:20px;padding-right:0}.code-snippet .line-numbers{background:#2e3440;color:#bdbdbd;border-radius:2px 0 0 2px;line-height:18px}.code-snippet .render{white-space:pre;line-height:18px}.code-snippet .language{position:absolute;top:0;right:0;color:#bdbdbd;padding:4px 4px 6px 6px;border-radius:0 0 0 2px}.v-track-table .header[data-v-f83a51e0],.v-track-table .row[data-v-f83a51e0]{display:-webkit-box;display:-ms-flexbox;display:flex}.v-track-table .header span[data-v-f83a51e0],.v-track-table .header strong[data-v-f83a51e0],.v-track-table .row span[data-v-f83a51e0],.v-track-table .row strong[data-v-f83a51e0]{-webkit-box-flex:1;-ms-flex:1;flex:1;line-height:29px;border-bottom:1px solid #ebeef5}.v-track-table .row[data-v-f83a51e0]:hover{background:#fafafa;cursor:pointer}.notification__large[data-v-f83a51e0]{width:399px}.notification__large .el-notification__group[data-v-f83a51e0]{width:100%}.message-offset[data-v-f83a51e0]{top:88px}.close[data-v-f83a51e0]{text-align:center;margin-top:12px}.track-button[data-v-f83a51e0]{width:229px;height:39px;background:#40b883;border-radius:5px;color:#fff;line-height:39px;margin:auto} \ No newline at end of file diff --git a/docs/dist/js/app.556669a6.js b/docs/dist/js/app.556669a6.js new file mode 100644 index 0000000..59ce0d2 --- /dev/null +++ b/docs/dist/js/app.556669a6.js @@ -0,0 +1,2 @@ +(function(t){function e(e){for(var r,c,s=e[0],o=e[1],l=e[2],f=0,v=[];fclick me\n',L='\n
click me
\n',R='\n
click me
\n',I='\ndata() {\n return {\n index: 0\n };\n},\nmethods: {\n handleClickDelay() {\n this.index++;\n this.$message.success("事件执行成功");\n },\n}\n',W='\n
click me
\n',K='\ndata() {\n return {\n rest: null\n };\n},\nmethods: {\n async handleClickAsync() {\n const response = await new Promise(resolve => {\n setTimeout(() => {\n resolve({ data: "success" });\n this.$message.success("异步事件返回成功");\n }, 300);\n });\n this.rest = response.data;\n }\n}\n',B={name:"Home",components:{CodeSnippet:N},data:function(){return{trackClickSnippet:U,trackClickSnippetParam:L,trackClickSnippetDelay:R,trackClickSnippetAsync:W,jsTrackClickSnippetDelay:I,jsTrackClickSnippetAsync:K,item:{id:Math.random().toString(36).substr(2)},index:0,rest:null}},methods:{handleClick:function(){this.$message.success("事件执行成功")},handleClickParam:function(t){this.$message.success("事件执行成功,参数为".concat(T()(t)))},handleClickDelay:function(){this.index++,this.$message.success("事件执行成功")},handleClickAsync:function(){var t=Object($["a"])(regeneratorRuntime.mark(function t(){var e,n=this;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,new E.a(function(t){setTimeout(function(){t({data:"success"}),n.$message.success("异步事件返回成功")},300)});case 2:e=t.sent,this.rest=e.data;case 4:case"end":return t.stop()}},t,this)}));function e(){return t.apply(this,arguments)}return e}()}},G=B,z=(n("c852"),Object(g["a"])(G,C,S,!1,null,"f83a51e0",null)),F=z.exports,Y=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"page-started page"},[n("section",{staticClass:"nav"},[n("router-link",{attrs:{to:{name:"HOME"}}},[t._v("\n 返回\n ")]),t._v(" "),n("router-link",{attrs:{to:{name:"HOME"}}},[t._v("\n 事件行为埋点\n ")]),t._v(" "),n("router-link",{attrs:{to:{name:"CUSTOM_EVENTS"}}},[t._v("\n 自定义事件埋点\n ")]),t._v(" "),n("router-link",{attrs:{to:{name:"TRACK_VIEW"}}},[t._v("\n 页面行为埋点\n ")]),t._v(" "),n("router-link",{attrs:{to:{name:"BLOCK_SHOW"}}},[t._v("\n 区域展现埋点\n ")]),t._v(" "),n("a",{attrs:{href:"https://github.com/l-hammer/v-track/issues"}},[t._v("打开一个 issue")])],1),t._v(" "),t._m(0),t._v(" "),n("section",{staticClass:"snippets"},[n("CodeSnippet",{staticClass:"snippet",attrs:{code:t.eventsSnippet,lang:"js"}}),t._v(" "),n("div",{staticClass:"plus"},[t._v("+")]),t._v(" "),n("CodeSnippet",{staticClass:"snippet",attrs:{code:t.mainSnippet,lang:"js"}}),t._v(" "),n("div",{staticClass:"plus"},[t._v("+")]),t._v(" "),n("CodeSnippet",{staticClass:"snippet",attrs:{code:t.componentSnippet,lang:"html"}})],1)])},q=[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("section",{staticClass:"snippets"},[n("div",{staticClass:"section-content small"},[t._v("\n 完整示例可参考\n "),n("a",{attrs:{href:"https://github.com/l-hammer/v-track/tree/master"}},[t._v("GitHub")])])])}],J='\nimport trackAction from "./action";\n\nexport default {\n /**\n * @name UVPV 固定名称不支持修改\n * @desc UV、PV埋点\n */\n UVPV() {\n trackAction("1");\n },\n /**\n * @name TONP 固定名称不支持修改\n * @desc 页面停留时间埋点(Time on Page)\n * @param {String} stt 进入页面时长,单位为秒\n */\n TONP({ stt }) {\n trackAction("2", { stt });\n },\n /**\n * @desc 测试埋点\n * @param {*} { $route: { name } }\n * @param {*} { item: { id, level4Tag }, index }\n */\n 19058(\n {\n $route: { name }\n },\n {\n item: { id },\n index\n }\n ) {\n trackAction("19058", {\n knowledge_id: id, // 知识ID\n click_position: index + 1, // 点击位置\n source_page: name // 页面来源\n });\n }\n};\n',Q='\nimport Vue from "vue";\nimport VTrack from "v-track";\nimport trackEvents from "./tracks";\n\nVue.use(VTrack, {\n trackEvents, // 埋点事件对象\n trackEnable: {\n UVPV: false, // 是否开启UVPV统计,默认为false\n TONP: true // 是否开启页面停留时长统计,默认为false\n }\n})\n',X='\n\x3c!-- 页面行为埋点(track-view为v-track全局注册的组件) --\x3e\n\n\n\n\n\n\x3c!-- 事件行为埋点(DOM) --\x3e\n
\n
\n
\n
\n\n\x3c!-- 事件行为埋点(组件) --\x3e\n\n\n\n\n\n\x3c!-- 区域展现埋点(block 可以是 DOM 或者组件) --\x3e\n\n\n\n\n',Z={name:"Started",components:{CodeSnippet:N},data:function(){return{mainSnippet:Q,eventsSnippet:J,componentSnippet:X}}},tt=Z,et=Object(g["a"])(tt,Y,q,!1,null,null,null),nt=et.exports,rt={},it=Object(g["a"])(rt,r,i,!1,null,null,null),at=it.exports,ct={},st=Object(g["a"])(ct,a,c,!1,null,null,null),ot=st.exports,lt={},ut=Object(g["a"])(lt,s,o,!1,null,null,null),ft=ut.exports;function vt(t){return vt="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},vt(t)}function dt(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function pt(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:200;return function(){for(var r=this,i=arguments.length,a=new Array(i),c=0;c0&&t.right>0&&t.top1?n-1:0),i=1;i=0?n=Math.min(t.height,e.height-t.top):t.bottom>0&&(n=Math.min(e.height,t.bottom)),t.left>=0?r=Math.min(t.width,e.width-t.left):t.right>0&&(r=Math.min(e.width,t.right)),i=n*r/(t.height*t.width),1===i&&this.$emit("fullyvisible")}},{key:"destroy",value:function(){Et(this.removeScrollLisener)&&this.removeScrollLisener()}}]),t}(),Kt=["async","delay","watch","show","once","custom"];function Bt(t,e,n,r){var i=this,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};t.$unwatch=r.$watch(function(){return r[e]},function(e,r){e!==r&&(a.immediate||t.contains(i.target))&&n(),i.target=null})}function Gt(t,e,n,r,i,a){var c=this,s=e.value,o=e.arg,l=e.modifiers,u=e.rawName,f=n.context,v=n.componentInstance;if(!a[o])throw new Error("埋点参数不存在哇");var d=[],p=a[o].bind(null,f),h=function(e,n,r){return Bt.call(c,t,e,n,f,r)},m=function(){for(var t=arguments.length,e=new Array(t),n=0;n1?e-1:0),r=1;r68?r-1:r).concat(e)}],M:[Zt,function(t,e){t.month=e-1}],d:[Zt,function(t,e){t.day=e}],h:[Zt,function(t,e){t.hour=e}],m:[Zt,function(t,e){t.minute=e}],s:[Zt,function(t,e){t.second=e}]};ce.MM=ce.M,ce.dd=ce.d,ce.hh=ce.h,ce.H=ce.h,ce.HH=ce.h,ce.mm=ce.m,ce.ss=ce.s;var se=n("a4bb"),oe=n.n(se),le=function(t){var e=oe()(t).reduce(function(e,n){return e.push({key:n,val:t[n]}),e},[]),n=e.map(function(t){var e=t.key,n=t.val;return'\n
\n '.concat(e,"\n ").concat(n,"\n
\n ")}).join("");return'\n
\n
\n key\n value\n
\n '.concat(n,"\n
\n ")};function ue(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Object(Jt["a"])({evt:t},e,{action_time:ae(Xt()())});"1"===t&&v()("统计UVPV埋点"),"2"===t&&v()({message:"统计页面停留时间埋点",customClass:"message-offset"}),u.a.success({title:"上报数据如下:",dangerouslyUseHTMLString:!0,message:le(n),customClass:"notification__large",position:"1"===t||"2"===t?"top-left":"top-right",offset:"2"===t?198:0})}var fe={UVPV:function(){ue("1")},TONP:function(t){var e=t.stt;ue("2",{stt:e})},18015:function(t){var e=t.$route.name;ue("18015",{source_page:e})},18016:function(t,e,n){var r=t.$route.name,i=e.item.id,a=n.target;ue("18016",{id:i,source_page:r,target:a})},18017:function(t){var e=t.index,n=t.$route.name;ue("18017",{source_page:n,index:e})},18018:function(t){var e=t.rest,n=t.$route.name;ue("18018",{source_page:n,rest:e})}},ve=Object(Jt["a"])({},fe);h["default"].use(m["a"]),h["default"].use(p.a),h["default"].use(qt,{trackEvents:ve,trackEnable:{UVPV:!0,TONP:!0}}),h["default"].prototype.$message=v.a,h["default"].prototype.$notify=u.a;var de=new m["a"]({routes:[{path:"/",name:"HOME",component:F},{path:"/started",name:"STARTED",component:nt},{path:"/custom-events",name:"CUSTOM_EVENTS",component:at},{path:"/track-view",name:"TRACK_VIEW",component:ot},{path:"/block-show",name:"BLOCK_SHOW",component:ft},{path:"*",redirect:"/"}]});new h["default"]({el:"#app",router:de,render:function(t){return t(_)}})}}); +//# sourceMappingURL=app.556669a6.js.map \ No newline at end of file diff --git a/docs/dist/js/app.556669a6.js.map b/docs/dist/js/app.556669a6.js.map new file mode 100644 index 0000000..0200e55 --- /dev/null +++ b/docs/dist/js/app.556669a6.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./docs/App.vue?5ff7","webpack:///./docs/pages/home.vue?55e9","webpack:///./docs/components/code-snippet.vue?2fbf","webpack:///./docs/pages/custom-events.vue","webpack:///./docs/pages/track-view.vue","webpack:///./docs/pages/block-show.vue","webpack:///./docs/App.vue?968d","webpack:///./docs/App.vue","webpack:///./docs/pages/home.vue?31cb","webpack:///./docs/components/code-snippet.vue?5c29","webpack:///docs/components/code-snippet.vue","webpack:///./docs/components/code-snippet.vue?f86d","webpack:///./docs/components/code-snippet.vue","webpack:///docs/pages/home.vue","webpack:///./docs/pages/home.vue?abc2","webpack:///./docs/pages/home.vue","webpack:///./docs/pages/started.vue?06c4","webpack:///docs/pages/started.vue","webpack:///./docs/pages/started.vue?30ab","webpack:///./docs/pages/started.vue","webpack:///./dist/v-track.esm.js","webpack:///./docs/utils/date.js","webpack:///./docs/utils/dom.js","webpack:///./docs/tracks/action.js","webpack:///./docs/tracks/events.js","webpack:///./docs/tracks/index.js","webpack:///./docs/main.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","app","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_home_vue_vue_type_style_index_0_id_f83a51e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_home_vue_vue_type_style_index_0_id_f83a51e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_code_snippet_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_code_snippet_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default","custom_events_render","custom_events_staticRenderFns","track_view_render","track_view_staticRenderFns","block_show_render","block_show_staticRenderFns","Appvue_type_template_id_7a0dec46_render","_vm","this","_h","$createElement","_c","_self","attrs","id","_m","_v","staticRenderFns","staticClass","href","src","alt","script","component","componentNormalizer","App","homevue_type_template_id_f83a51e0_scoped_true_render","to","center","type","title","closable","directives","rawName","expression","arg","modifiers","click","lang","code","trackClickSnippet","handleClickParam","item","trackClickSnippetParam","delay","jsTrackClickSnippetDelay","trackClickSnippetDelay","handleClickAsync","rest","async","jsTrackClickSnippetAsync","trackClickSnippetAsync","homevue_type_template_id_f83a51e0_scoped_true_staticRenderFns","code_snippetvue_type_template_id_4db4304e_render","_s","_l","domProps","innerHTML","code_snippetvue_type_template_id_4db4304e_staticRenderFns","code_snippetvue_type_script_lang_js_","props","String","computed","highlighted","lib_default","a","highlight","trim","lineCount","str","components_code_snippetvue_type_script_lang_js_","code_snippet_component","code_snippet","homevue_type_script_lang_js_","components","CodeSnippet","Math","random","toString","substr","index","methods","handleClick","$message","success","concat","stringify_default","handleClickDelay","_handleClickAsync","asyncToGenerator","regeneratorRuntime","mark","_callee","response","_this","wrap","_context","prev","next","promise_default","resolve","setTimeout","sent","stop","arguments","pages_homevue_type_script_lang_js_","home_component","home","startedvue_type_template_id_8e2b1324_render","eventsSnippet","mainSnippet","componentSnippet","startedvue_type_template_id_8e2b1324_staticRenderFns","startedvue_type_script_lang_js_","pages_startedvue_type_script_lang_js_","started_component","started","custom_events_script","custom_events_component","custom_events","track_view_script","track_view_component","track_view","block_show_script","block_show_component","block_show","_typeof","obj","iterator","constructor","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","descriptor","configurable","writable","_createClass","protoProps","staticProps","_defineProperty","_objectSpread","source","ownKeys","keys","getOwnPropertySymbols","filter","sym","getOwnPropertyDescriptor","forEach","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","Array","isArray","arr2","iter","from","_arr","_n","_d","_e","undefined","_i","done","err","isFun","v","isUndef","isDef","isProd","zipArray","values","debounce","fn","timeoutId","ms","_len","args","_key","clearTimeout","_exactMatch","mdfs","vals","every","includes","_partialMatch","some","sameVnode","b","tag","isComment","exactlySameVnode","vnode","oldVnode","oldCh","children","ch","text","checkFun","Error","tip","dir","isElement","ele","nodeType","getStylePropValue","prop","getComputedStyle","getPropertyValue","isInViewport","rect","viewport","width","height","bottom","right","top","left","isVisible","document","parentNode","parent","visibility","display","VisMonitor","ref","listeners","removeScrollLisener","init","listener","$on","addEventListener","removeEventListener","visibilitychange","evt","cbk","queue","_this2","on","$off","_this3","_len2","_key2","sub","getBoundingClientRect","view","innerHeight","innerWidth","vh","vw","perc","min","$emit","MODIFIERS","_watcher","el","exp","ctt","ops","$unwatch","$watch","nv","ov","immediate","contains","_ref","_ref2","_","__","events","context","componentInstance","tck","watcher","exactMatch","partialMatch","$timer","_exp","pop","visible","$el","once","custom","$visMonitor","vm","$refs","$once","_zipArray","_zipArray2","_fn","_exp2","tck_args","reduce","state","k","reverse","$listener","e","eventName","_zipArray3","_zipArray4","_args","_keys","_fn2","_exp3","_len3","_key3","updated","_len4","_key4","unbind","destroy","VTrack","installed","curPage","Vue","trackEvents","_ref$trackEnable","trackEnable","self","UVPV","TONP","TRACK_TONP","entertime","stt","Date","now","directive","_hooks$bind","componentUpdated","_hooks$updated","_hooks$unbind","render","h","style","mixin","PAGE_ENTER_TIME","created","onbeforeunload","beforeRouteEnter","beforeRouteLeave","v_track_esm","twoDigits","fourDigits","token","masks","default","date","datetime","time","year","enDate","cnDate","pad","val","len","formatFlags","yyyy","dateObj","getFullYear","yy","M","getMonth","MM","getDate","dd","getHours","hh","H","HH","getMinutes","mm","getSeconds","ss","format","mask","isNaN","getTime","replace","$0","parseFlags","da","cent","month","day","hour","minute","second","createFragment","tableData","keys_default","list","trs","map","join","trackAction","addtional","objectSpread","action_time","now_default","lib_message_default","message","customClass","lib_notification_default","dangerouslyUseHTMLString","position","offset","18015","$route","source_page","18016","_ref3","_ref4","_ref5","18017","_ref6","18018","_ref7","tracks","use","VueRouter","lib_alert_default","VueTrack","$notify","router","routes","path","Home","Started","CustomEvents","TrackView","BlockShow","redirect"],"mappings":"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","file":"js/app.556669a6.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"dist/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([\"fc11\",\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./home.vue?vue&type=style&index=0&id=f83a51e0&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./home.vue?vue&type=style&index=0&id=f83a51e0&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./code-snippet.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./code-snippet.vue?vue&type=style&index=0&lang=scss&\"","var render, staticRenderFns\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render, staticRenderFns\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render, staticRenderFns\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_vm._m(0),_vm._v(\" \"),_c('router-view'),_vm._v(\" \"),_vm._m(1)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',[_c('h1',[_vm._v(\"v-track\")]),_vm._v(\" \"),_c('div',{staticClass:\"command\"},[_vm._v(\"yarn add v-track or npm add v-track --save\")]),_vm._v(\" \"),_c('nav',[_c('a',{attrs:{\"href\":\"https://unpkg.com/v-track/dist/v-track.min.js\"}},[_c('img',{attrs:{\"src\":\"http://img.badgesize.io/https://unpkg.com/v-track/dist/v-track.min.js?compression=gzip&style=flat-square\",\"alt\":\"Gzip Size\"}})]),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"https://www.npmjs.com/package/v-track\"}},[_c('img',{attrs:{\"src\":\"https://img.shields.io/npm/v/v-track.svg?colorB=brightgreen&style=flat-square\"}})]),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"https://github.com/facebook/jest\"}},[_c('img',{attrs:{\"src\":\"https://img.shields.io/badge/tested_with-jest-99424f.svg\"}})]),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"http://hits.dwyl.io/l-hammer/v-track\",\"alt\":\"hit count\"}},[_c('img',{attrs:{\"src\":\"http://hits.dwyl.io/l-hammer/v-track.svg\"}})]),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"https://github.com/l-hammer/v-track\"}},[_c('img',{attrs:{\"src\":\"https://img.shields.io/github/stars/l-hammer/v-track.svg?style=social&label=Star\"}})])]),_vm._v(\" \"),_c('div',{staticClass:\"description\"},[_vm._v(\"\\n 🕹一个基于Vue指令实现的埋点插件~\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"footer\"},[_c('div',{staticClass:\"section-content mini\"},[_vm._v(\"\\n Copyright © 2019-present LHammer\\n \")])])}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=7a0dec46&\"\nvar script = {}\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-home page\"},[_c('section',{staticClass:\"nav\"},[_c('router-link',{attrs:{\"to\":{ name: 'STARTED' }}},[_vm._v(\"\\n 快速开始\\n \")]),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":{ name: 'HOME' }}},[_vm._v(\"\\n 事件行为埋点\\n \")]),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":{ name: 'CUSTOM_EVENTS' }}},[_vm._v(\"\\n 自定义事件埋点\\n \")]),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":{ name: 'TRACK_VIEW' }}},[_vm._v(\"\\n 页面行为埋点\\n \")]),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":{ name: 'BLOCK_SHOW' }}},[_vm._v(\"\\n 区域展现埋点\\n \")]),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"https://github.com/l-hammer/v-track/issues\"}},[_vm._v(\"打开一个 issue\")])],1),_vm._v(\" \"),_c('section',{staticClass:\"demo\"},[_c('el-alert',{attrs:{\"center\":\"\",\"type\":\"warning\",\"title\":\"这是一个点击事件行为的埋点\",\"closable\":false}}),_vm._v(\" \"),_c('div',{staticClass:\"section-content\"},[_c('div',{directives:[{name:\"track\",rawName:\"v-track:18015.click\",value:(_vm.handleClick),expression:\"handleClick\",arg:\"18015\",modifiers:{\"click\":true}}],staticClass:\"track-button\"},[_vm._v(\"\\n click me\\n \")])])],1),_vm._v(\" \"),_c('section',{staticClass:\"snippets\"},[_c('CodeSnippet',{staticClass:\"snippet\",attrs:{\"lang\":\"html\",\"code\":_vm.trackClickSnippet}})],1),_vm._v(\" \"),_c('section',{staticClass:\"demo\"},[_c('el-alert',{attrs:{\"center\":\"\",\"type\":\"warning\",\"title\":\"这个一个带参数点击事件行为的埋点,默认最后一个参数为event事件对象\",\"closable\":false}}),_vm._v(\" \"),_c('div',{staticClass:\"section-content\"},[_c('div',{directives:[{name:\"track\",rawName:\"v-track:18016.click\",value:({ handleClickParam: _vm.handleClickParam, item: _vm.item }),expression:\"{ handleClickParam, item }\",arg:\"18016\",modifiers:{\"click\":true}}],staticClass:\"track-button\"},[_vm._v(\"\\n click me\\n \")])])],1),_vm._v(\" \"),_c('section',{staticClass:\"snippets\"},[_c('CodeSnippet',{staticClass:\"snippet\",attrs:{\"lang\":\"html\",\"code\":_vm.trackClickSnippetParam}})],1),_vm._v(\" \"),_c('section',{staticClass:\"demo\"},[_c('el-alert',{attrs:{\"center\":\"\",\"type\":\"warning\",\"title\":\"这是一个发生在事件之后的埋点,默认先执行埋点再执行事件,比如index初始值为0,点击事件会将index加1,所以埋点获取到的index值应该为1,依次点击则累加\",\"closable\":false}}),_vm._v(\" \"),_c('div',{staticClass:\"section-content\"},[_c('div',{directives:[{name:\"track\",rawName:\"v-track:18017.click.delay\",value:(_vm.handleClickDelay),expression:\"handleClickDelay\",arg:\"18017\",modifiers:{\"click\":true,\"delay\":true}}],staticClass:\"track-button\"},[_vm._v(\"\\n click me\\n \")])])],1),_vm._v(\" \"),_c('section',{staticClass:\"snippets\"},[_c('CodeSnippet',{staticClass:\"snippet\",attrs:{\"lang\":\"js\",\"code\":_vm.jsTrackClickSnippetDelay}}),_vm._v(\" \"),_c('CodeSnippet',{staticClass:\"snippet\",attrs:{\"lang\":\"html\",\"code\":_vm.trackClickSnippetDelay}})],1),_vm._v(\" \"),_c('section',{staticClass:\"demo\"},[_c('el-alert',{attrs:{\"center\":\"\",\"type\":\"warning\",\"title\":\"这是一个有异步行为的事件埋点,比如rest初始值为null,点击事件会fetch为success,所以埋点获取到的rest值应该为success\",\"closable\":false}}),_vm._v(\" \"),_c('div',{staticClass:\"section-content\"},[_c('div',{directives:[{name:\"track\",rawName:\"v-track:18018.click.async\",value:({ handleClickAsync: _vm.handleClickAsync, rest: _vm.rest }),expression:\"{ handleClickAsync, rest }\",arg:\"18018\",modifiers:{\"click\":true,\"async\":true}}],staticClass:\"track-button\"},[_vm._v(\"\\n click me\\n \")])])],1),_vm._v(\" \"),_c('section',{staticClass:\"snippets\"},[_c('CodeSnippet',{staticClass:\"snippet\",attrs:{\"lang\":\"js\",\"code\":_vm.jsTrackClickSnippetAsync}}),_vm._v(\" \"),_c('CodeSnippet',{staticClass:\"snippet\",attrs:{\"lang\":\"html\",\"code\":_vm.trackClickSnippetAsync}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"code-snippet\"},[_c('div',{staticClass:\"language\"},[_vm._v(_vm._s(_vm.lang))]),_vm._v(\" \"),_c('div',{staticClass:\"line-numbers\"},_vm._l((_vm.lineCount),function(n){return _c('div',{key:n,staticClass:\"line-number\"},[_vm._v(_vm._s(n))])}),0),_vm._v(\" \"),_c('div',{staticClass:\"render\",domProps:{\"innerHTML\":_vm._s(_vm.result)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./code-snippet.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./code-snippet.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./code-snippet.vue?vue&type=template&id=4db4304e&\"\nimport script from \"./code-snippet.vue?vue&type=script&lang=js&\"\nexport * from \"./code-snippet.vue?vue&type=script&lang=js&\"\nimport style0 from \"./code-snippet.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./home.vue?vue&type=template&id=f83a51e0&scoped=true&\"\nimport script from \"./home.vue?vue&type=script&lang=js&\"\nexport * from \"./home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./home.vue?vue&type=style&index=0&id=f83a51e0&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f83a51e0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-started page\"},[_c('section',{staticClass:\"nav\"},[_c('router-link',{attrs:{\"to\":{ name: 'HOME' }}},[_vm._v(\"\\n 返回\\n \")]),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":{ name: 'HOME' }}},[_vm._v(\"\\n 事件行为埋点\\n \")]),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":{ name: 'CUSTOM_EVENTS' }}},[_vm._v(\"\\n 自定义事件埋点\\n \")]),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":{ name: 'TRACK_VIEW' }}},[_vm._v(\"\\n 页面行为埋点\\n \")]),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":{ name: 'BLOCK_SHOW' }}},[_vm._v(\"\\n 区域展现埋点\\n \")]),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"https://github.com/l-hammer/v-track/issues\"}},[_vm._v(\"打开一个 issue\")])],1),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('section',{staticClass:\"snippets\"},[_c('CodeSnippet',{staticClass:\"snippet\",attrs:{\"code\":_vm.eventsSnippet,\"lang\":\"js\"}}),_vm._v(\" \"),_c('div',{staticClass:\"plus\"},[_vm._v(\"+\")]),_vm._v(\" \"),_c('CodeSnippet',{staticClass:\"snippet\",attrs:{\"code\":_vm.mainSnippet,\"lang\":\"js\"}}),_vm._v(\" \"),_c('div',{staticClass:\"plus\"},[_vm._v(\"+\")]),_vm._v(\" \"),_c('CodeSnippet',{staticClass:\"snippet\",attrs:{\"code\":_vm.componentSnippet,\"lang\":\"html\"}})],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"snippets\"},[_c('div',{staticClass:\"section-content small\"},[_vm._v(\"\\n 完整示例可参考\\n \"),_c('a',{attrs:{\"href\":\"https://github.com/l-hammer/v-track/tree/master\"}},[_vm._v(\"GitHub\")])])])}]\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./started.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./started.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./started.vue?vue&type=template&id=8e2b1324&\"\nimport script from \"./started.vue?vue&type=script&lang=js&\"\nexport * from \"./started.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\n/*\n * @Author: 宋慧武\n * @Date: 2019-04-08 11:13:34\n * @Last Modified by: 宋慧武\n * @Last Modified time: 2019-04-08 11:50:22\n */\n\n/**\n * @desc 判断给定变量是否为一个函数\n *\n * @param {*} v\n * @return {Boolean}\n */\nvar isFun = function isFun(v) {\n return typeof v === \"function\" || false;\n};\n/**\n * @desc 判断给定变量是否是未定义\n *\n * @param {*} v\n */\n\nvar isUndef = function isUndef(v) {\n return v === undefined || v === null;\n};\n/**\n * @desc 判断给定变量是否是定义\n *\n * @param {*} v\n */\n\nvar isDef = function isDef(v) {\n return v !== undefined && v !== null;\n};\n/**\n * @desc 判断当前环境是否为生产环境\n *\n * @param {*} v\n */\n\nvar isProd = process.env.NODE_ENV === \"production\";\n/**\n * @desc 获取对象的键值\n *\n * @param {Object} value\n * @returns {Array} [keys, values]\n */\n\nfunction zipArray(value) {\n return [Object.values(value), Object.keys(value)];\n}\n/**\n * @desc 防抖函数,至少间隔200毫秒执行一次\n *\n * @param {Function} fn callback\n * @param {Number} [ms=200] 默认200毫秒\n * @returns {Function}\n */\n\nfunction debounce(fn) {\n var ms = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 200;\n var timeoutId;\n return function () {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n clearTimeout(timeoutId);\n timeoutId = setTimeout(function () {\n return fn.apply(_this, args);\n }, ms);\n };\n}\n/**\n * @desc 判断给定变量是否完全匹配目标数组\n *\n * @param {String[]} mdfs 目标数组\n * @param {String} vals\n * @returns {Boolean}\n */\n\nfunction _exactMatch(mdfs, vals) {\n var keys = Object.keys(mdfs);\n return keys.length === vals.length && vals.every(function (v) {\n return keys.includes(v);\n });\n}\n/**\n * @desc 判断给定变量是否匹配目标数组的一部分\n *\n * @param {String[]} mdfs 目标字符串数组\n * @param {String} vals\n * @returns {Boolean}\n */\n\nfunction _partialMatch(mdfs, vals) {\n var keys = Object.keys(mdfs);\n return vals.some(function (v) {\n return keys.includes(v);\n });\n}\n/**\n * @desc 判断两个节点是否为同一个vnode节点\n *\n * @param {VNode} a 虚拟节点\n * @param {VNode} b 虚拟节点\n */\n\nfunction sameVnode(a, b) {\n return a.key === b.key && a.tag === b.tag && a.isComment === b.isComment && isDef(a.data) === isDef(b.data);\n}\n/**\n * @desc 判断两个vnode节点是否全等\n *\n * @param {VNode} a 虚拟节点\n * @param {VNode} b 虚拟节点\n */\n\nfunction exactlySameVnode(vnode, oldVnode) {\n if (!sameVnode(vnode, oldVnode)) return false;\n var oldCh = oldVnode.children;\n var ch = vnode.children; // vnode为非文本节点,且新旧节点的子节点都存在但不相同\n\n if (isUndef(vnode.text) && isDef(oldCh) && isDef(ch)) {\n if (oldCh.length !== ch.length) return false;\n\n for (var i = 0; i < ch.length; i++) {\n var c = ch[i];\n\n if (isDef(c) && isDef(oldCh[i])) {\n return exactlySameVnode(c, oldCh[i]);\n }\n }\n } // vnode为文本节点,新旧节点内容不相同\n else if (vnode.text !== oldVnode.text) return false;\n\n return true;\n}\n\n/*\n * @Author: 宋慧武\n * @Date: 2019-04-14 15:55:15\n * @Last Modified by: 宋慧武\n * @Last Modified time: 2019-04-14 16:08:25\n */\nvar checkFun = function checkFun(fn) {\n if (!isProd && !isFun(fn)) {\n throw new Error(\"第一个参数应该为 Function~\");\n }\n};\nvar tip = function tip(dir) {\n if (!isProd) {\n throw new Error(\"\".concat(dir, \"\\u6307\\u4EE4\\u6682\\u4E0D\\u652F\\u6301\"));\n }\n};\n\n/*\n * @Author: 宋慧武\n * @Date: 2019-04-08 11:13:34\n * @Last Modified by: 宋慧武\n * @Last Modified time: 2019-04-08 11:59:30\n */\n\n/**\n * @desc 是否为元素几点\n *\n * @param {DOMElement} ele 一个 DOM 元素\n * @return {Boolean}\n */\nvar isElement = function isElement(ele) {\n return ele && ele.nodeType === 1;\n};\n/**\n * @desc 获取 DOM CSS 属性的值\n *\n * @param {DOMElement} ele A DOM 元素\n * @returns {String}\n */\n\nfunction getStylePropValue(ele, prop) {\n return window.getComputedStyle(ele).getPropertyValue(prop);\n}\n/**\n * @desc 元素是否在可视区域可见\n *\n * @param {Object} rect 元素大小及相对可视区域的位置信息\n * @returns {Boolean} true => 可见 false => 不可见\n */\n\nfunction isInViewport(rect, viewport) {\n if (!rect || rect.width <= 0 || rect.height <= 0) {\n return false;\n }\n\n return rect.bottom > 0 && rect.right > 0 && rect.top < viewport.height && rect.left < viewport.width;\n}\n/**\n * @desc 元素是否隐藏\n *\n * @param {DOMElement} ele A DOM 元素\n * @returns {Boolean} true => 未隐藏可见 false => 隐藏不可见\n */\n\nfunction isVisible(ele) {\n if (ele === window.document) {\n return true;\n }\n\n if (!ele || !ele.parentNode) {\n return false;\n }\n\n var parent = ele.parentNode;\n var visibility = getStylePropValue(ele, \"visibility\");\n var display = getStylePropValue(ele, \"display\");\n\n if (visibility === \"hidden\" || display === \"none\") {\n return false;\n }\n\n return parent ? isVisible(parent) : true;\n}\n\n/**\n * @class\n * @name VisMonitor\n *\n * @desc 目标元素控制器\n */\n\nvar VisMonitor =\n/*#__PURE__*/\nfunction () {\n function VisMonitor(ele, ref) {\n _classCallCheck(this, VisMonitor);\n\n if (!isElement(ele)) {\n throw new Error(\"not an element node\");\n }\n\n this.ele = ele;\n this.ref = ref;\n this.started = false;\n this.listeners = {};\n this.removeScrollLisener = null;\n this.init();\n }\n\n _createClass(VisMonitor, [{\n key: \"init\",\n value: function init() {\n var _this = this;\n\n if (!this.started) {\n this.removeScrollLisener = function (listener) {\n if (_this.ref) {\n return _this.ref.$on(\"scroll\", listener);\n } else {\n window.addEventListener(\"scroll\", listener, false);\n return function () {\n return window.removeEventListener(\"scroll\", listener, false);\n };\n }\n }(debounce(this.visibilitychange.bind(this)));\n\n this.started = true;\n }\n }\n /**\n * 监听自定义事件\n */\n\n }, {\n key: \"$on\",\n value: function $on(evt, cbk) {\n var queue = this.listeners[evt] || (this.listeners[evt] = []);\n queue.push(cbk);\n return this;\n }\n /**\n * 移除监听自定义事件\n */\n\n }, {\n key: \"$off\",\n value: function $off(evt, cbk) {\n if (!cbk) return;\n var queue = this.listeners[evt];\n var v;\n var i = queue.length;\n\n while (i--) {\n v = queue[i];\n\n if (v === cbk || v.cbk === cbk) {\n queue.splice(i, 1);\n break;\n }\n }\n\n return this;\n }\n /**\n * 监听自定义事件,但只触发一次\n */\n\n }, {\n key: \"$once\",\n value: function $once(evt, cbk) {\n var _this2 = this;\n\n var on = function on() {\n _this2.$off(evt, on);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n cbk.apply(_this2, args);\n };\n\n on.cbk = cbk;\n this.$on(evt, on);\n return this;\n }\n /**\n * 触发当前实例的监听回调\n */\n\n }, {\n key: \"$emit\",\n value: function $emit(evt) {\n var _this3 = this;\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n var queue = this.listeners[evt] || [];\n queue.forEach(function (sub) {\n return sub.apply(_this3, args);\n });\n return this;\n }\n /**\n * 计算元素可见比例,如果比例为100%,则触发 fullyvisible 事件\n */\n\n }, {\n key: \"visibilitychange\",\n value: function visibilitychange() {\n var rect = this.ele.getBoundingClientRect();\n var view = {\n height: window.innerHeight,\n width: window.innerWidth\n };\n\n if (!isInViewport(rect, view) || !isVisible(this.ele)) {\n return 0;\n }\n\n var vh = 0;\n var vw = 0;\n var perc = 0;\n\n if (rect.top >= 0) {\n vh = Math.min(rect.height, view.height - rect.top);\n } else if (rect.bottom > 0) {\n vh = Math.min(view.height, rect.bottom);\n }\n\n if (rect.left >= 0) {\n vw = Math.min(rect.width, view.width - rect.left);\n } else if (rect.right > 0) {\n vw = Math.min(view.width, rect.right);\n }\n\n perc = vh * vw / (rect.height * rect.width);\n if (perc === 1) this.$emit(\"fullyvisible\");\n }\n /**\n * 销毁当前实例的事件\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n isFun(this.removeScrollLisener) && this.removeScrollLisener();\n }\n }]);\n\n return VisMonitor;\n}();\n\nvar MODIFIERS = [\"async\", \"delay\", \"watch\", \"show\", \"once\", \"custom\"]; // 修饰符\n\n/*******************************************************************************\n * @desc 监听数据发生改变时触发埋点,需处理两种情况:\n * ① 初始化时开始监听 v-track:xxxxx.watch=\"{ common_exp }\"\n * ops.immediate 表示初始化时立即开始监听\n *\n * ② 点击事件之后开始监听 v-track:18016.click.async=\"{ refreshHotSpot, exposureId }\"\n * el.contains(this.target) 避免多个“地方”同时监听同一个值出现多次上报的问题\n *******************************************************************************/\n\nfunction _watcher(el, exp, cbk, ctt) {\n var _this = this;\n\n var ops = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};\n el.$unwatch = ctt.$watch(function () {\n return ctt[exp];\n }, function (nv, ov) {\n nv !== ov && (ops.immediate || el.contains(_this.target)) && cbk();\n _this.target = null; // 释放当前操作的watcher\n });\n}\n/*************************************************************************\n * @desc 自定义指令 v-track\n *\n * @param {*} el 指令所绑定的元素\n * @param {String} arg 埋点对应event ID\n * @param {Boolean} modifiers.click true: 事件行为埋点; false: 页面级埋点\n * @param {Boolean} modifiers.watch 异步埋点\n * @param {Boolean} modifiers.async 点击事件异步埋点\n * @param {Boolean} modifiers.delay 埋点是否延迟执行,默认先执行埋点再执行cbk\n *\n * @property {Function} tck 对应埋点方法\n *\n * @example v-track:18015\n * @example v-track:18015.watch\n * @example v-track:18015.watch.delay\n * @example v-track:18015.click\n * @example v-track:18015.click.async\n * @example v-track:18015.click.delay\n * @example v-track:18015.[自定义事件名].delay\n * @example v-track:18015.[自定义事件名].async\n *************************************************************************/\n\n\nfunction bind(el, _ref, _ref2, _, __, events) {\n var _this2 = this;\n\n var value = _ref.value,\n id = _ref.arg,\n modifiers = _ref.modifiers,\n rawName = _ref.rawName;\n var context = _ref2.context,\n componentInstance = _ref2.componentInstance;\n if (!events[id]) throw new Error(\"埋点参数不存在哇\");\n var queue = [];\n var tck = events[id].bind(null, context);\n\n var watcher = function watcher(exp, cbk, ops) {\n return _watcher.call(_this2, el, exp, cbk, context, ops);\n };\n\n var exactMatch = function exactMatch() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _exactMatch.call(null, modifiers, args);\n };\n\n var partialMatch = function partialMatch() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _partialMatch.call(null, modifiers, args);\n };\n\n if (!Object.keys(modifiers).length) {\n events[id](context, value);\n } // 异步埋点\n else if (exactMatch(\"watch\")) {\n var exp = Object.keys(value).shift();\n watcher(exp, tck, {\n immediate: true\n });\n } // 指定延长时间埋点\n else if (exactMatch(\"delay\")) {\n el.$timer && clearTimeout(el.$timer);\n el.$timer = setTimeout(function () {\n events[id](context);\n }, value);\n } else if (exactMatch(\"watch\", \"delay\")) {\n var _exp = _toConsumableArray(Object.keys(value)).pop();\n\n tck = function tck() {\n el.$timer && clearTimeout(el.$timer);\n el.$timer = setTimeout(function () {\n var visible = isVisible(context.$el);\n visible && events[id](context);\n }, value.delay);\n };\n\n watcher(_exp, tck, {\n immediate: true\n });\n } // 区域曝光埋点\n else if (partialMatch(\"show\")) {\n var fn = function fn() {\n return events[id](context);\n };\n\n var once = partialMatch(\"once\");\n var custom = partialMatch(\"custom\");\n\n if (!el.$visMonitor) {\n var vm = new VisMonitor(el, custom && context.$refs[value.ref]);\n (once ? vm.$once : vm.$on).call(vm, \"fullyvisible\", fn);\n el.$visMonitor = vm;\n }\n } else if (!componentInstance && modifiers.click) {\n /**\n * @desc DOM元素事件行为埋点(需区分是否带参数)\n * @var {Function} fn 获取第一个参数作为回调函数\n * @var {String} exp 获取最后一个参数并作为监听对象\n */\n switch (_typeof(value)) {\n case \"object\":\n {\n var _zipArray = zipArray(value),\n _zipArray2 = _slicedToArray(_zipArray, 2),\n args = _zipArray2[0],\n keys = _zipArray2[1];\n\n var _fn = args.shift();\n\n var _exp2 = _toConsumableArray(keys).pop();\n\n var tck_args = keys.slice(1).reduce(function (state, k) {\n return state[k] = value[k], state;\n }, {});\n checkFun(_fn);\n tck = events[id].bind(null, context, tck_args);\n queue = [tck, _fn.bind.apply(_fn, [null].concat(_toConsumableArray(args)))];\n modifiers.delay && queue.reverse();\n modifiers.async && watcher(_exp2, queue.shift());\n break;\n }\n\n case \"function\":\n queue = [tck, value];\n modifiers.delay && queue.reverse();\n break;\n }\n\n el.$listener = function (e) {\n _this2.target = e.target;\n queue.forEach(function (sub) {\n return sub(e);\n });\n };\n\n el.addEventListener(\"click\", el.$listener);\n } else if (\n /**\n * @desc 组件自定义事件行为埋点(需区分是否带参数)\n * @var {Function} fn 获取第一个参数作为回调函数\n * @var {String} exp 获取最后一个参数并作为监听对象\n */\n componentInstance && componentInstance.$el === el) {\n var eventName = Object.keys(modifiers).filter(function (key) {\n return !MODIFIERS.includes(key);\n }).pop();\n\n switch (_typeof(value)) {\n case \"object\":\n {\n var _zipArray3 = zipArray(value),\n _zipArray4 = _slicedToArray(_zipArray3, 2),\n _args = _zipArray4[0],\n _keys = _zipArray4[1];\n\n var _fn2 = _args.shift();\n\n var _exp3 = _toConsumableArray(_keys).pop();\n\n checkFun(_fn2);\n if (el[\"$on_\".concat(eventName)]) break;\n componentInstance.$on(eventName, function () {\n _this2.target = el;\n\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n tck = events[id].bind(null, context, args[0]);\n queue = [tck, _fn2.bind.apply(_fn2, [null].concat(args))];\n modifiers.delay && queue.reverse();\n modifiers.async && watcher(_exp3, queue.shift());\n queue.forEach(function (sub) {\n return sub();\n });\n el[\"$on_\".concat(eventName)] = true; // 避免重复监听\n });\n break;\n }\n\n case \"function\":\n componentInstance.$on(eventName, function (data) {\n var args = Object.values(data || {});\n tck = events[id].bind(null, context, data);\n queue = [tck, value.bind.apply(value, [null].concat(_toConsumableArray(args)))];\n modifiers.delay && queue.reverse();\n queue.forEach(function (sub) {\n return sub();\n });\n });\n break;\n }\n } else {\n tip(rawName);\n }\n}\n/**\n * @desc 由于 DOM 更新采用 diff 算法更新,如果新旧节点相同,则 el 会全等,导致 bind 绑定无法更\n * 新,出现事件绑定诡异的问题,但由于 DOM update 执行频率很高,会导致性能问题,所以这里加\n * 了一层exactlySameVnode过滤,即只有在新旧节点发生变化时才会重新绑定,否则相反\n *\n * @param {*} el 同bind\n * @param {...any} args 同bind\n */\n\nfunction updated(el) {\n if (!el.$listener) return;\n\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n if (!exactlySameVnode(args[1], args[2])) {\n unbind.call(this, el);\n bind.call.apply(bind, [this, el].concat(args));\n }\n}\nfunction unbind(el) {\n el.$listener && el.removeEventListener(\"click\", el.$listener);\n el.$timer && clearTimeout(el.$timer);\n el.$unwatch && el.$unwatch();\n el.$visMonitor && el.$visMonitor.destroy();\n}\n\nvar VTrack =\n/*#__PURE__*/\nfunction () {\n function VTrack() {\n _classCallCheck(this, VTrack);\n\n this.installed = false;\n this.curPage = null; // 保存当前页name\n } // 保存当前点击的元素\n\n\n _createClass(VTrack, null, [{\n key: \"install\",\n // Vue.use 将执行此方法\n value: function install(Vue, _ref) {\n var _this = this;\n\n var trackEvents = _ref.trackEvents,\n _ref$trackEnable = _ref.trackEnable,\n trackEnable = _ref$trackEnable === void 0 ? {} : _ref$trackEnable;\n var self = this;\n trackEnable = _objectSpread({\n UVPV: false,\n TONP: false\n }, trackEnable);\n\n var TRACK_TONP = function TRACK_TONP(entertime) {\n if (trackEnable.TONP) {\n trackEvents.TONP({\n stt: \"\".concat((Date.now() - entertime) / 1e3, \"s\")\n });\n }\n };\n\n if (this.installed) return;\n this.installed = true; // 注册v-track全局指令\n\n Vue.directive(\"track\", {\n bind: function bind$1() {\n var _hooks$bind;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (_hooks$bind = bind).call.apply(_hooks$bind, [_this].concat(args, [trackEvents]));\n },\n componentUpdated: function componentUpdated() {\n var _hooks$updated;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return (_hooks$updated = updated).call.apply(_hooks$updated, [_this].concat(args, [trackEvents]));\n },\n unbind: function unbind$1() {\n var _hooks$unbind;\n\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return (_hooks$unbind = unbind).call.apply(_hooks$unbind, [_this].concat(args));\n }\n }); // 注册全局组件\n\n Vue.component(\"TrackView\", {\n render: function render(h) {\n return h(\"span\", {\n style: \"display: none\"\n });\n }\n });\n Vue.mixin({\n data: function data() {\n return {\n PAGE_ENTER_TIME: Date.now()\n };\n },\n created: function created() {\n var _this2 = this;\n\n window.onbeforeunload = function () {\n return TRACK_TONP(_this2.PAGE_ENTER_TIME);\n };\n },\n // 统计UV、PV\n beforeRouteEnter: function beforeRouteEnter(to, _, next) {\n // 防止有些情况该守卫执行多次导致重复埋点的问题\n if (to.name === self.curPage) {\n next();\n } else {\n self.curPage = to.name;\n trackEnable.UVPV && trackEvents.UVPV();\n next();\n }\n },\n // 页面停留时间\n beforeRouteLeave: function beforeRouteLeave(_, __, next) {\n TRACK_TONP(this.PAGE_ENTER_TIME);\n next();\n }\n });\n }\n }]);\n\n return VTrack;\n}();\n\n_defineProperty(VTrack, \"target\", null);\n\nexport default VTrack;\n","/**\n * @author LHammer\n * @desc date parse or format date\n * @see https://github.com/l-hammer/YDTemplate/blob/master/src/utils/es6/date.js\n */\nconst twoDigits = /\\d\\d?/;\nconst fourDigits = /\\d{4}/;\nconst token = /d{1,2}|M{1,2}|yy(?:yy)?|([HhMsDm])\\1?|[aA]|\"[^\"]*\"|'[^']*'/g;\nconst masks = {\n default: \"yyyy-MM-dd HH:mm:ss\",\n date: \"yyyy-MM-dd\",\n datetime: \"yyyy-MM-dd HH:mm:ss\",\n time: \"HH:mm:ss\",\n year: \"yyyy\",\n enDate: \"M/d/yy\",\n cnDate: \"yyyy 年 MM 月 dd 日\"\n};\n\nconst pad = (val, len) => {\n val = String(val);\n len = len || 2;\n while (val.length < len) {\n val = `0${val}`;\n }\n return val;\n};\n\nconst formatFlags = {\n yyyy(dateObj) {\n return pad(dateObj.getFullYear(), 4);\n },\n yy(dateObj) {\n return String(dateObj.getFullYear()).substr(2);\n },\n M(dateObj) {\n return dateObj.getMonth() + 1;\n },\n MM(dateObj) {\n return pad(dateObj.getMonth() + 1);\n },\n d(dateObj) {\n return dateObj.getDate();\n },\n dd(dateObj) {\n return pad(dateObj.getDate());\n },\n h(dateObj) {\n return dateObj.getHours() % 12 || 12;\n },\n hh(dateObj) {\n return pad(dateObj.getHours() % 12 || 12);\n },\n H(dateObj) {\n return dateObj.getHours();\n },\n HH(dateObj) {\n return pad(dateObj.getHours());\n },\n m(dateObj) {\n return dateObj.getMinutes();\n },\n mm(dateObj) {\n return pad(dateObj.getMinutes());\n },\n s(dateObj) {\n return dateObj.getSeconds();\n },\n ss(dateObj) {\n return pad(dateObj.getSeconds());\n }\n};\n\n/**\n * Format a date\n * @method format\n * @param {Date|number} dateObj new Date(2018, 2, 9)\n * @param {String} mask Format of the date e.g. 'yyyy-MM-dd HH:mm:ss' or 'cnDate'\n */\nexport const format = (dateObj, mask) => {\n if (typeof dateObj === \"number\") {\n dateObj = new Date(dateObj);\n }\n\n if (\n Object.prototype.toString.call(dateObj) !== \"[object Date]\" ||\n isNaN(dateObj.getTime())\n ) {\n throw new Error(\"Invalid Date in date.format\");\n }\n mask = masks[mask] || mask || masks.default;\n\n // return 不可省略\n mask = mask.replace(token, $0 => {\n return $0 in formatFlags\n ? formatFlags[$0](dateObj)\n : $0.slice(1, $0.length - 1);\n });\n\n return mask;\n};\n\nconst parseFlags = {\n yyyy: [\n fourDigits,\n (d, v) => {\n d.year = v;\n }\n ],\n yy: [\n twoDigits,\n (d, v) => {\n const da = new Date();\n const cent = +`${da.getFullYear()}`.substr(0, 2);\n d.year = `${v > 68 ? cent - 1 : cent}${v}`;\n }\n ],\n M: [\n twoDigits,\n (d, v) => {\n d.month = v - 1;\n }\n ],\n d: [\n twoDigits,\n (d, v) => {\n d.day = v;\n }\n ],\n h: [\n twoDigits,\n (d, v) => {\n d.hour = v;\n }\n ],\n m: [\n twoDigits,\n (d, v) => {\n d.minute = v;\n }\n ],\n s: [\n twoDigits,\n (d, v) => {\n d.second = v;\n }\n ]\n};\nparseFlags.MM = parseFlags.M;\nparseFlags.dd = parseFlags.d;\nparseFlags.hh = parseFlags.h;\nparseFlags.H = parseFlags.h;\nparseFlags.HH = parseFlags.h;\nparseFlags.mm = parseFlags.m;\nparseFlags.ss = parseFlags.s;\n\n/**\n * Format a date\n * @method parse\n * @param {String} dateStr Date String e.g. '2018-02-09 09:29:29' or '2018 年 02 月 09 日'\n * @param {String} mask Parse of the format date e.g. 'yyyy-MM-dd HH:mm:ss' or 'cnDate'\n * @param {Date}\n */\nexport const parse = (dateStr, mask) => {\n let isVaild = true;\n const dateInfo = {};\n const today = new Date();\n\n if (typeof dateStr !== \"string\") {\n throw new Error(\"Invalid format in fecha.parse\");\n }\n\n mask = masks[mask] || mask || masks.default;\n /**\n * @function replace @see https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/replace;\n * @param {String} $0 匹配的子串\n */\n mask.replace(token, function($0) {\n if (parseFlags[$0]) {\n const flag = parseFlags[$0];\n /**\n * 搜索匹配到子串(e.g. yyyy)对应flag(fourDigits)的位置\n * @function search 未匹配到时返回-1,即按位取反为0时表示没有对应的flag\n */\n const index = dateStr.search(flag[0]);\n if (!~index) {\n isVaild = false;\n } else {\n /**\n * 为避免重复返回,将已经返回的值result从dateStr中删除\n */\n dateStr.replace(flag[0], function(result) {\n flag[1](dateInfo, result);\n dateStr = dateStr.substr(index + result.length);\n return result;\n });\n }\n }\n return parseFlags[$0] ? \"\" : $0.slice(1, $0.length - 1);\n });\n\n if (!isVaild) {\n return false;\n }\n\n const date = new Date(\n dateInfo.year || today.getFullYear(),\n dateInfo.month || 0,\n dateInfo.day || 1,\n dateInfo.hour || 0,\n dateInfo.minute || 0,\n dateInfo.second || 0\n );\n return date;\n};\n\nexport default {\n format,\n parse\n};\n","export const createFragment = data => {\n const tableData = Object.keys(data).reduce(\n (list, k) => (list.push({ key: k, val: data[k] }), list),\n []\n );\n const trs = tableData\n .map(({ key, val }) => {\n return `\n
\n ${key}\n ${val}\n
\n `;\n })\n .join(\"\");\n\n return `\n
\n
\n key\n value\n
\n ${trs}\n
\n `;\n};\n","/*\n * @Author: 宋慧武\n * @Date: 2019-04-14 16:44:42\n * @Last Modified by: 宋慧武\n * @Last Modified time: 2019-04-16 11:28:36\n */\nimport { Notification, Message } from \"element-ui\";\nimport { format } from \"../utils/date\";\nimport { createFragment } from \"../utils/dom\";\n\n/**\n * @desc 模拟埋点Action\n */\nexport default function trackAction(evt, addtional = {}) {\n const data = {\n evt,\n ...addtional,\n action_time: format(Date.now())\n };\n\n if (evt === \"1\") {\n Message(\"统计UVPV埋点\");\n }\n if (evt === \"2\") {\n Message({\n message: \"统计页面停留时间埋点\",\n customClass: \"message-offset\"\n });\n }\n Notification.success({\n title: \"上报数据如下:\",\n dangerouslyUseHTMLString: true,\n message: createFragment(data),\n customClass: \"notification__large\",\n position: evt === \"1\" || evt === \"2\" ? \"top-left\" : \"top-right\",\n offset: evt === \"2\" ? 198 : 0\n });\n}\n","/*\n * @Author: 宋慧武\n * @Date: 2019-04-14 17:10:31\n * @Last Modified by: 宋慧武\n * @Last Modified time: 2019-04-16 10:55:05\n */\nimport trackAction from \"./action\";\n\nexport default {\n /**\n * @name UVPV 固定名称不支持修改\n * @desc UV、PV埋点\n */\n UVPV() {\n trackAction(\"1\");\n },\n /**\n * @name TONP 固定名称不支持修改\n * @desc 页面停留时间埋点(Time on Page)\n * @param {String} stt 进入页面时长,单位为秒\n */\n TONP({ stt }) {\n trackAction(\"2\", { stt });\n },\n /**\n * @desc 测试埋点\n * @param {*} { $route: { name } }\n * @param {*} { item: { id, level4Tag }, index }\n */\n 18015({ $route: { name } }) {\n trackAction(\"18015\", {\n source_page: name // 页面来源\n });\n },\n 18016(\n {\n $route: { name }\n },\n {\n item: { id }\n },\n { target }\n ) {\n trackAction(\"18016\", {\n id, // 知识ID\n source_page: name, // 页面来源\n target\n });\n },\n 18017({ index, $route: { name } }) {\n trackAction(\"18017\", {\n source_page: name, // 页面来源\n index\n });\n },\n 18018({ rest, $route: { name } }) {\n trackAction(\"18018\", {\n source_page: name, // 页面来源\n rest\n });\n }\n};\n","/*\n * @Author: 宋慧武\n * @Date: 2019-04-14 17:01:49\n * @Last Modified by: 宋慧武\n * @Last Modified time: 2019-04-14 17:12:29\n */\nimport trackEvents from \"./events\";\n\nexport { default as trackAction } from \"./action\";\n\nexport default {\n ...trackEvents\n};\n","import Vue from \"vue\";\nimport VueRouter from \"vue-router\";\nimport { Alert, Message, Notification } from \"element-ui\";\nimport App from \"./App.vue\";\nimport Home from \"./pages/home.vue\";\nimport Started from \"./pages/started.vue\";\nimport CustomEvents from \"./pages/custom-events.vue\";\nimport TrackView from \"./pages/track-view.vue\";\nimport BlockShow from \"./pages/block-show.vue\";\nimport VueTrack from \"../\";\nimport trackEvents from \"./tracks\";\n\nVue.use(VueRouter);\nVue.use(Alert);\nVue.use(VueTrack, {\n trackEvents,\n trackEnable: {\n UVPV: true,\n TONP: true\n }\n});\n\nVue.prototype.$message = Message;\nVue.prototype.$notify = Notification;\n\nconst router = new VueRouter({\n routes: [\n {\n path: \"/\",\n name: \"HOME\",\n component: Home\n },\n {\n path: \"/started\",\n name: \"STARTED\",\n component: Started\n },\n {\n path: \"/custom-events\",\n name: \"CUSTOM_EVENTS\",\n component: CustomEvents\n },\n {\n path: \"/track-view\",\n name: \"TRACK_VIEW\",\n component: TrackView\n },\n {\n path: \"/block-show\",\n name: \"BLOCK_SHOW\",\n component: BlockShow\n },\n {\n path: \"*\",\n redirect: \"/\"\n }\n ]\n});\n\n/* eslint-disable no-new */\nnew Vue({\n el: \"#app\",\n router,\n render: h => h(App)\n});\n"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/dist/js/app.77b2e5c0.js b/docs/dist/js/app.77b2e5c0.js deleted file mode 100644 index 246246e..0000000 --- a/docs/dist/js/app.77b2e5c0.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(t){function e(e){for(var r,c,s=e[0],o=e[1],l=e[2],f=0,v=[];fclick me\n',L='\n
click me
\n',R='\n
click me
\n',I='\ndata() {\n return {\n index: 0\n };\n},\nmethods: {\n handleClickDelay() {\n this.index++;\n this.$message.success("事件执行成功");\n },\n}\n',W='\n
click me
\n',K='\ndata() {\n return {\n rest: null\n };\n},\nmethods: {\n async handleClickAsync() {\n const response = await new Promise(resolve => {\n setTimeout(() => {\n resolve({ data: "success" });\n this.$message.success("异步事件返回成功");\n }, 300);\n });\n this.rest = response.data;\n }\n}\n',B={name:"Home",components:{CodeSnippet:N},data:function(){return{trackClickSnippet:U,trackClickSnippetParam:L,trackClickSnippetDelay:R,trackClickSnippetAsync:W,jsTrackClickSnippetDelay:I,jsTrackClickSnippetAsync:K,item:{id:Math.random().toString(36).substr(2)},index:0,rest:null}},methods:{handleClick:function(){this.$message.success("事件执行成功")},handleClickParam:function(t){this.$message.success("事件执行成功,参数为".concat(T()(t)))},handleClickDelay:function(){this.index++,this.$message.success("事件执行成功")},handleClickAsync:function(){var t=Object($["a"])(regeneratorRuntime.mark(function t(){var e,n=this;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,new E.a(function(t){setTimeout(function(){t({data:"success"}),n.$message.success("异步事件返回成功")},300)});case 2:e=t.sent,this.rest=e.data;case 4:case"end":return t.stop()}},t,this)}));function e(){return t.apply(this,arguments)}return e}()}},G=B,z=(n("c852"),Object(g["a"])(G,C,S,!1,null,"f83a51e0",null)),F=z.exports,Y=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"page-started page"},[n("section",{staticClass:"nav"},[n("router-link",{attrs:{to:{name:"HOME"}}},[t._v("\n 返回\n ")]),t._v(" "),n("router-link",{attrs:{to:{name:"HOME"}}},[t._v("\n 事件行为埋点\n ")]),t._v(" "),n("router-link",{attrs:{to:{name:"CUSTOM_EVENTS"}}},[t._v("\n 自定义事件埋点\n ")]),t._v(" "),n("router-link",{attrs:{to:{name:"TRACK_VIEW"}}},[t._v("\n 页面行为埋点\n ")]),t._v(" "),n("router-link",{attrs:{to:{name:"BLOCK_SHOW"}}},[t._v("\n 区域展现埋点\n ")]),t._v(" "),n("a",{attrs:{href:"https://github.com/l-hammer/v-track/issues"}},[t._v("打开一个 issue")])],1),t._v(" "),t._m(0),t._v(" "),n("section",{staticClass:"snippets"},[n("CodeSnippet",{staticClass:"snippet",attrs:{code:t.eventsSnippet,lang:"js"}}),t._v(" "),n("div",{staticClass:"plus"},[t._v("+")]),t._v(" "),n("CodeSnippet",{staticClass:"snippet",attrs:{code:t.mainSnippet,lang:"js"}}),t._v(" "),n("div",{staticClass:"plus"},[t._v("+")]),t._v(" "),n("CodeSnippet",{staticClass:"snippet",attrs:{code:t.componentSnippet,lang:"html"}})],1)])},q=[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("section",{staticClass:"snippets"},[n("div",{staticClass:"section-content small"},[t._v("\n 完整示例可参考\n "),n("a",{attrs:{href:"https://github.com/l-hammer/v-track/tree/master"}},[t._v("GitHub")])])])}],J='\nimport trackAction from "./action";\n\nexport default {\n /**\n * @name UVPV 固定名称不支持修改\n * @desc UV、PV埋点\n */\n UVPV() {\n trackAction("1,3");\n },\n /**\n * @name TONP 固定名称不支持修改\n * @desc 页面停留时间埋点(Time on Page)\n * @param {String} stt 进入页面时长,单位为秒\n */\n TONP({ stt }) {\n trackAction("2", { stt });\n },\n /**\n * @desc 测试埋点\n * @param {*} { $route: { name } }\n * @param {*} { item: { id, level4Tag }, index }\n */\n 19058(\n {\n $route: { name }\n },\n {\n item: { id },\n index\n }\n ) {\n trackAction("19058", {\n knowledge_id: id, // 知识ID\n click_position: index + 1, // 点击位置\n source_page: name // 页面来源\n });\n }\n};\n',Q='\nimport Vue from "vue";\nimport VTrack from "v-track";\nimport trackEvents from "./tracks";\n\nVue.use(VTrack, {\n trackEvents, // 埋点事件对象\n trackEnable: {\n UVPV: false, // 是否开启UVPV统计,默认为false\n TONP: true // 是否开启页面停留时长统计,默认为false\n }\n})\n',X='\n\x3c!-- 页面行为埋点(track-view为v-track全局注册的组件) --\x3e\n\n\n\n\n\n\x3c!-- 事件行为埋点(DOM) --\x3e\n
\n
\n
\n
\n\n\x3c!-- 事件行为埋点(组件) --\x3e\n\n\n\n\n\n\x3c!-- 区域展现埋点(block 可以是 DOM 或者组件) --\x3e\n\n\n\n\n',Z={name:"Started",components:{CodeSnippet:N},data:function(){return{mainSnippet:Q,eventsSnippet:J,componentSnippet:X}}},tt=Z,et=Object(g["a"])(tt,Y,q,!1,null,null,null),nt=et.exports,rt={},it=Object(g["a"])(rt,r,i,!1,null,null,null),at=it.exports,ct={},st=Object(g["a"])(ct,a,c,!1,null,null,null),ot=st.exports,lt={},ut=Object(g["a"])(lt,s,o,!1,null,null,null),ft=ut.exports;function vt(t){return vt="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},vt(t)}function dt(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function pt(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:200;return function(){for(var r=this,i=arguments.length,a=new Array(i),c=0;c0&&t.right>0&&t.top1?n-1:0),i=1;i=0?n=Math.min(t.height,e.height-t.top):t.bottom>0&&(n=Math.min(e.height,t.bottom)),t.left>=0?r=Math.min(t.width,e.width-t.left):t.right>0&&(r=Math.min(e.width,t.right)),i=n*r/(t.height*t.width),1===i&&this.$emit("fullyvisible")}},{key:"destroy",value:function(){Et(this.removeScrollLisener)&&this.removeScrollLisener()}}]),t}(),Kt=["async","delay","watch","show","once","custom"];function Bt(t,e,n,r){var i=this,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};t.$unwatch=r.$watch(function(){return r[e]},function(e,r){e!==r&&(a.immediate||t.contains(i.target))&&n(),i.target=null})}function Gt(t,e,n,r,i,a){var c=this,s=e.value,o=e.arg,l=e.modifiers,u=e.rawName,f=n.context,v=n.componentInstance;if(!a[o])throw new Error("埋点参数不存在哇");var d=[],p=a[o].bind(null,f),h=function(e,n,r){return Bt.call(c,t,e,n,f,r)},m=function(){for(var t=arguments.length,e=new Array(t),n=0;n1?e-1:0),r=1;r68?r-1:r).concat(e)}],M:[Zt,function(t,e){t.month=e-1}],d:[Zt,function(t,e){t.day=e}],h:[Zt,function(t,e){t.hour=e}],m:[Zt,function(t,e){t.minute=e}],s:[Zt,function(t,e){t.second=e}]};ce.MM=ce.M,ce.dd=ce.d,ce.hh=ce.h,ce.H=ce.h,ce.HH=ce.h,ce.mm=ce.m,ce.ss=ce.s;var se=n("a4bb"),oe=n.n(se),le=function(t){var e=oe()(t).reduce(function(e,n){return e.push({key:n,val:t[n]}),e},[]),n=e.map(function(t){var e=t.key,n=t.val;return'\n
\n '.concat(e,"\n ").concat(n,"\n
\n ")}).join("");return'\n
\n
\n key\n value\n
\n '.concat(n,"\n
\n ")};function ue(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Object(Jt["a"])({evt:t},e,{action_time:ae(Xt()())});"2"===t&&v()("统计页面停留时间埋点"),"1,3"===t&&v()("统计UVPV埋点"),u.a.success({title:"上报数据如下:",dangerouslyUseHTMLString:!0,message:le(n),customClass:"notification__large"})}var fe={UVPV:function(){ue("1,3")},TONP:function(t){var e=t.stt;ue("2",{stt:e})},18015:function(t){var e=t.$route.name;ue("18015",{source_page:e})},18016:function(t,e,n){var r=t.$route.name,i=e.item.id,a=n.target;ue("18016",{id:i,source_page:r,target:a})},18017:function(t){var e=t.index,n=t.$route.name;ue("18017",{source_page:n,index:e})},18018:function(t){var e=t.rest,n=t.$route.name;ue("18018",{source_page:n,rest:e})}},ve=Object(Jt["a"])({},fe);h["default"].use(m["a"]),h["default"].use(p.a),h["default"].use(qt,{trackEvents:ve,trackEnable:{UVPV:!1,TONP:!0}}),h["default"].prototype.$message=v.a,h["default"].prototype.$notify=u.a;var de=new m["a"]({routes:[{path:"/",name:"HOME",component:F},{path:"/started",name:"STARTED",component:nt},{path:"/custom-events",name:"CUSTOM_EVENTS",component:at},{path:"/track-view",name:"TRACK_VIEW",component:ot},{path:"/block-show",name:"BLOCK_SHOW",component:ft},{path:"*",redirect:"/"}]});new h["default"]({el:"#app",router:de,render:function(t){return t(_)}})}}); -//# sourceMappingURL=app.77b2e5c0.js.map \ No newline at end of file diff --git a/docs/dist/js/app.77b2e5c0.js.map b/docs/dist/js/app.77b2e5c0.js.map deleted file mode 100644 index 86817ff..0000000 --- a/docs/dist/js/app.77b2e5c0.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./docs/App.vue?5ff7","webpack:///./docs/pages/home.vue?55e9","webpack:///./docs/components/code-snippet.vue?2fbf","webpack:///./docs/pages/custom-events.vue","webpack:///./docs/pages/track-view.vue","webpack:///./docs/pages/block-show.vue","webpack:///./docs/App.vue?968d","webpack:///./docs/App.vue","webpack:///./docs/pages/home.vue?31cb","webpack:///./docs/components/code-snippet.vue?5c29","webpack:///docs/components/code-snippet.vue","webpack:///./docs/components/code-snippet.vue?f86d","webpack:///./docs/components/code-snippet.vue","webpack:///docs/pages/home.vue","webpack:///./docs/pages/home.vue?abc2","webpack:///./docs/pages/home.vue","webpack:///./docs/pages/started.vue?b7ec","webpack:///docs/pages/started.vue","webpack:///./docs/pages/started.vue?30ab","webpack:///./docs/pages/started.vue","webpack:///./dist/v-track.esm.js","webpack:///./docs/utils/date.js","webpack:///./docs/utils/dom.js","webpack:///./docs/tracks/action.js","webpack:///./docs/tracks/events.js","webpack:///./docs/tracks/index.js","webpack:///./docs/main.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","app","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_home_vue_vue_type_style_index_0_id_f83a51e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_home_vue_vue_type_style_index_0_id_f83a51e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_code_snippet_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_code_snippet_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default","custom_events_render","custom_events_staticRenderFns","track_view_render","track_view_staticRenderFns","block_show_render","block_show_staticRenderFns","Appvue_type_template_id_7a0dec46_render","_vm","this","_h","$createElement","_c","_self","attrs","id","_m","_v","staticRenderFns","staticClass","href","src","alt","script","component","componentNormalizer","App","homevue_type_template_id_f83a51e0_scoped_true_render","to","center","type","title","closable","directives","rawName","expression","arg","modifiers","click","lang","code","trackClickSnippet","handleClickParam","item","trackClickSnippetParam","delay","jsTrackClickSnippetDelay","trackClickSnippetDelay","handleClickAsync","rest","async","jsTrackClickSnippetAsync","trackClickSnippetAsync","homevue_type_template_id_f83a51e0_scoped_true_staticRenderFns","code_snippetvue_type_template_id_4db4304e_render","_s","_l","domProps","innerHTML","code_snippetvue_type_template_id_4db4304e_staticRenderFns","code_snippetvue_type_script_lang_js_","props","String","computed","highlighted","lib_default","a","highlight","trim","lineCount","str","components_code_snippetvue_type_script_lang_js_","code_snippet_component","code_snippet","homevue_type_script_lang_js_","components","CodeSnippet","Math","random","toString","substr","index","methods","handleClick","$message","success","concat","stringify_default","handleClickDelay","_handleClickAsync","asyncToGenerator","regeneratorRuntime","mark","_callee","response","_this","wrap","_context","prev","next","promise_default","resolve","setTimeout","sent","stop","arguments","pages_homevue_type_script_lang_js_","home_component","home","startedvue_type_template_id_20fc0a47_render","eventsSnippet","mainSnippet","componentSnippet","startedvue_type_template_id_20fc0a47_staticRenderFns","startedvue_type_script_lang_js_","pages_startedvue_type_script_lang_js_","started_component","started","custom_events_script","custom_events_component","custom_events","track_view_script","track_view_component","track_view","block_show_script","block_show_component","block_show","_typeof","obj","iterator","constructor","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","descriptor","configurable","writable","_createClass","protoProps","staticProps","_defineProperty","_objectSpread","source","ownKeys","keys","getOwnPropertySymbols","filter","sym","getOwnPropertyDescriptor","forEach","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","Array","isArray","arr2","iter","from","_arr","_n","_d","_e","undefined","_i","done","err","isFun","v","isUndef","isDef","isProd","zipArray","values","debounce","fn","timeoutId","ms","_len","args","_key","clearTimeout","_exactMatch","mdfs","vals","every","includes","_partialMatch","some","sameVnode","b","tag","isComment","exactlySameVnode","vnode","oldVnode","oldCh","children","ch","text","checkFun","Error","tip","dir","isElement","ele","nodeType","getStylePropValue","prop","getComputedStyle","getPropertyValue","isInViewport","rect","viewport","width","height","bottom","right","top","left","isVisible","document","parentNode","parent","visibility","display","VisMonitor","ref","listeners","removeScrollLisener","init","listener","$on","addEventListener","removeEventListener","visibilitychange","evt","cbk","queue","_this2","on","$off","_this3","_len2","_key2","sub","getBoundingClientRect","view","innerHeight","innerWidth","vh","vw","perc","min","$emit","MODIFIERS","_watcher","el","exp","ctt","ops","$unwatch","$watch","nv","ov","immediate","contains","_ref","_ref2","_","__","events","context","componentInstance","tck","watcher","exactMatch","partialMatch","$timer","_exp","pop","visible","$el","once","custom","$visMonitor","vm","$refs","$once","_zipArray","_zipArray2","_fn","_exp2","tck_args","reduce","state","k","reverse","$listener","e","eventName","_zipArray3","_zipArray4","_args","_keys","_fn2","_exp3","_len3","_key3","updated","_len4","_key4","unbind","destroy","VTrack","installed","curPage","Vue","trackEvents","_ref$trackEnable","trackEnable","self","UVPV","TONP","TRACK_TONP","entertime","stt","Date","now","directive","_hooks$bind","componentUpdated","_hooks$updated","_hooks$unbind","render","h","style","mixin","PAGE_ENTER_TIME","created","onbeforeunload","beforeRouteEnter","beforeRouteLeave","v_track_esm","twoDigits","fourDigits","token","masks","default","date","datetime","time","year","enDate","cnDate","pad","val","len","formatFlags","yyyy","dateObj","getFullYear","yy","M","getMonth","MM","getDate","dd","getHours","hh","H","HH","getMinutes","mm","getSeconds","ss","format","mask","isNaN","getTime","replace","$0","parseFlags","da","cent","month","day","hour","minute","second","createFragment","tableData","keys_default","list","trs","map","join","trackAction","addtional","objectSpread","action_time","now_default","lib_message_default","lib_notification_default","dangerouslyUseHTMLString","message","customClass","18015","$route","source_page","18016","_ref3","_ref4","_ref5","18017","_ref6","18018","_ref7","tracks","use","VueRouter","lib_alert_default","VueTrack","$notify","router","routes","path","Home","Started","CustomEvents","TrackView","BlockShow","redirect"],"mappings":"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","file":"js/app.77b2e5c0.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"dist/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([\"fc11\",\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./home.vue?vue&type=style&index=0&id=f83a51e0&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./home.vue?vue&type=style&index=0&id=f83a51e0&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./code-snippet.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./code-snippet.vue?vue&type=style&index=0&lang=scss&\"","var render, staticRenderFns\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render, staticRenderFns\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render, staticRenderFns\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_vm._m(0),_vm._v(\" \"),_c('router-view'),_vm._v(\" \"),_vm._m(1)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',[_c('h1',[_vm._v(\"v-track\")]),_vm._v(\" \"),_c('div',{staticClass:\"command\"},[_vm._v(\"yarn add v-track or npm add v-track --save\")]),_vm._v(\" \"),_c('nav',[_c('a',{attrs:{\"href\":\"https://unpkg.com/v-track/dist/v-track.min.js\"}},[_c('img',{attrs:{\"src\":\"http://img.badgesize.io/https://unpkg.com/v-track/dist/v-track.min.js?compression=gzip&style=flat-square\",\"alt\":\"Gzip Size\"}})]),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"https://www.npmjs.com/package/v-track\"}},[_c('img',{attrs:{\"src\":\"https://img.shields.io/npm/v/v-track.svg?colorB=brightgreen&style=flat-square\"}})]),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"https://github.com/facebook/jest\"}},[_c('img',{attrs:{\"src\":\"https://img.shields.io/badge/tested_with-jest-99424f.svg\"}})]),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"http://hits.dwyl.io/l-hammer/v-track\",\"alt\":\"hit count\"}},[_c('img',{attrs:{\"src\":\"http://hits.dwyl.io/l-hammer/v-track.svg\"}})]),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"https://github.com/l-hammer/v-track\"}},[_c('img',{attrs:{\"src\":\"https://img.shields.io/github/stars/l-hammer/v-track.svg?style=social&label=Star\"}})])]),_vm._v(\" \"),_c('div',{staticClass:\"description\"},[_vm._v(\"\\n 🕹一个基于Vue指令实现的埋点插件~\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"footer\"},[_c('div',{staticClass:\"section-content mini\"},[_vm._v(\"\\n Copyright © 2019-present LHammer\\n \")])])}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=7a0dec46&\"\nvar script = {}\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-home page\"},[_c('section',{staticClass:\"nav\"},[_c('router-link',{attrs:{\"to\":{ name: 'STARTED' }}},[_vm._v(\"\\n 快速开始\\n \")]),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":{ name: 'HOME' }}},[_vm._v(\"\\n 事件行为埋点\\n \")]),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":{ name: 'CUSTOM_EVENTS' }}},[_vm._v(\"\\n 自定义事件埋点\\n \")]),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":{ name: 'TRACK_VIEW' }}},[_vm._v(\"\\n 页面行为埋点\\n \")]),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":{ name: 'BLOCK_SHOW' }}},[_vm._v(\"\\n 区域展现埋点\\n \")]),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"https://github.com/l-hammer/v-track/issues\"}},[_vm._v(\"打开一个 issue\")])],1),_vm._v(\" \"),_c('section',{staticClass:\"demo\"},[_c('el-alert',{attrs:{\"center\":\"\",\"type\":\"warning\",\"title\":\"这是一个点击事件行为的埋点\",\"closable\":false}}),_vm._v(\" \"),_c('div',{staticClass:\"section-content\"},[_c('div',{directives:[{name:\"track\",rawName:\"v-track:18015.click\",value:(_vm.handleClick),expression:\"handleClick\",arg:\"18015\",modifiers:{\"click\":true}}],staticClass:\"track-button\"},[_vm._v(\"\\n click me\\n \")])])],1),_vm._v(\" \"),_c('section',{staticClass:\"snippets\"},[_c('CodeSnippet',{staticClass:\"snippet\",attrs:{\"lang\":\"html\",\"code\":_vm.trackClickSnippet}})],1),_vm._v(\" \"),_c('section',{staticClass:\"demo\"},[_c('el-alert',{attrs:{\"center\":\"\",\"type\":\"warning\",\"title\":\"这个一个带参数点击事件行为的埋点,默认最后一个参数为event事件对象\",\"closable\":false}}),_vm._v(\" \"),_c('div',{staticClass:\"section-content\"},[_c('div',{directives:[{name:\"track\",rawName:\"v-track:18016.click\",value:({ handleClickParam: _vm.handleClickParam, item: _vm.item }),expression:\"{ handleClickParam, item }\",arg:\"18016\",modifiers:{\"click\":true}}],staticClass:\"track-button\"},[_vm._v(\"\\n click me\\n \")])])],1),_vm._v(\" \"),_c('section',{staticClass:\"snippets\"},[_c('CodeSnippet',{staticClass:\"snippet\",attrs:{\"lang\":\"html\",\"code\":_vm.trackClickSnippetParam}})],1),_vm._v(\" \"),_c('section',{staticClass:\"demo\"},[_c('el-alert',{attrs:{\"center\":\"\",\"type\":\"warning\",\"title\":\"这是一个发生在事件之后的埋点,默认先执行埋点再执行事件,比如index初始值为0,点击事件会将index加1,所以埋点获取到的index值应该为1,依次点击则累加\",\"closable\":false}}),_vm._v(\" \"),_c('div',{staticClass:\"section-content\"},[_c('div',{directives:[{name:\"track\",rawName:\"v-track:18017.click.delay\",value:(_vm.handleClickDelay),expression:\"handleClickDelay\",arg:\"18017\",modifiers:{\"click\":true,\"delay\":true}}],staticClass:\"track-button\"},[_vm._v(\"\\n click me\\n \")])])],1),_vm._v(\" \"),_c('section',{staticClass:\"snippets\"},[_c('CodeSnippet',{staticClass:\"snippet\",attrs:{\"lang\":\"js\",\"code\":_vm.jsTrackClickSnippetDelay}}),_vm._v(\" \"),_c('CodeSnippet',{staticClass:\"snippet\",attrs:{\"lang\":\"html\",\"code\":_vm.trackClickSnippetDelay}})],1),_vm._v(\" \"),_c('section',{staticClass:\"demo\"},[_c('el-alert',{attrs:{\"center\":\"\",\"type\":\"warning\",\"title\":\"这是一个有异步行为的事件埋点,比如rest初始值为null,点击事件会fetch为success,所以埋点获取到的rest值应该为success\",\"closable\":false}}),_vm._v(\" \"),_c('div',{staticClass:\"section-content\"},[_c('div',{directives:[{name:\"track\",rawName:\"v-track:18018.click.async\",value:({ handleClickAsync: _vm.handleClickAsync, rest: _vm.rest }),expression:\"{ handleClickAsync, rest }\",arg:\"18018\",modifiers:{\"click\":true,\"async\":true}}],staticClass:\"track-button\"},[_vm._v(\"\\n click me\\n \")])])],1),_vm._v(\" \"),_c('section',{staticClass:\"snippets\"},[_c('CodeSnippet',{staticClass:\"snippet\",attrs:{\"lang\":\"js\",\"code\":_vm.jsTrackClickSnippetAsync}}),_vm._v(\" \"),_c('CodeSnippet',{staticClass:\"snippet\",attrs:{\"lang\":\"html\",\"code\":_vm.trackClickSnippetAsync}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"code-snippet\"},[_c('div',{staticClass:\"language\"},[_vm._v(_vm._s(_vm.lang))]),_vm._v(\" \"),_c('div',{staticClass:\"line-numbers\"},_vm._l((_vm.lineCount),function(n){return _c('div',{key:n,staticClass:\"line-number\"},[_vm._v(_vm._s(n))])}),0),_vm._v(\" \"),_c('div',{staticClass:\"render\",domProps:{\"innerHTML\":_vm._s(_vm.result)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./code-snippet.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./code-snippet.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./code-snippet.vue?vue&type=template&id=4db4304e&\"\nimport script from \"./code-snippet.vue?vue&type=script&lang=js&\"\nexport * from \"./code-snippet.vue?vue&type=script&lang=js&\"\nimport style0 from \"./code-snippet.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./home.vue?vue&type=template&id=f83a51e0&scoped=true&\"\nimport script from \"./home.vue?vue&type=script&lang=js&\"\nexport * from \"./home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./home.vue?vue&type=style&index=0&id=f83a51e0&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f83a51e0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-started page\"},[_c('section',{staticClass:\"nav\"},[_c('router-link',{attrs:{\"to\":{ name: 'HOME' }}},[_vm._v(\"\\n 返回\\n \")]),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":{ name: 'HOME' }}},[_vm._v(\"\\n 事件行为埋点\\n \")]),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":{ name: 'CUSTOM_EVENTS' }}},[_vm._v(\"\\n 自定义事件埋点\\n \")]),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":{ name: 'TRACK_VIEW' }}},[_vm._v(\"\\n 页面行为埋点\\n \")]),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":{ name: 'BLOCK_SHOW' }}},[_vm._v(\"\\n 区域展现埋点\\n \")]),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"https://github.com/l-hammer/v-track/issues\"}},[_vm._v(\"打开一个 issue\")])],1),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('section',{staticClass:\"snippets\"},[_c('CodeSnippet',{staticClass:\"snippet\",attrs:{\"code\":_vm.eventsSnippet,\"lang\":\"js\"}}),_vm._v(\" \"),_c('div',{staticClass:\"plus\"},[_vm._v(\"+\")]),_vm._v(\" \"),_c('CodeSnippet',{staticClass:\"snippet\",attrs:{\"code\":_vm.mainSnippet,\"lang\":\"js\"}}),_vm._v(\" \"),_c('div',{staticClass:\"plus\"},[_vm._v(\"+\")]),_vm._v(\" \"),_c('CodeSnippet',{staticClass:\"snippet\",attrs:{\"code\":_vm.componentSnippet,\"lang\":\"html\"}})],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"snippets\"},[_c('div',{staticClass:\"section-content small\"},[_vm._v(\"\\n 完整示例可参考\\n \"),_c('a',{attrs:{\"href\":\"https://github.com/l-hammer/v-track/tree/master\"}},[_vm._v(\"GitHub\")])])])}]\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./started.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./started.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./started.vue?vue&type=template&id=20fc0a47&\"\nimport script from \"./started.vue?vue&type=script&lang=js&\"\nexport * from \"./started.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\n/*\n * @Author: 宋慧武\n * @Date: 2019-04-08 11:13:34\n * @Last Modified by: 宋慧武\n * @Last Modified time: 2019-04-08 11:50:22\n */\n\n/**\n * @desc 判断给定变量是否为一个函数\n *\n * @param {*} v\n * @return {Boolean}\n */\nvar isFun = function isFun(v) {\n return typeof v === \"function\" || false;\n};\n/**\n * @desc 判断给定变量是否是未定义\n *\n * @param {*} v\n */\n\nvar isUndef = function isUndef(v) {\n return v === undefined || v === null;\n};\n/**\n * @desc 判断给定变量是否是定义\n *\n * @param {*} v\n */\n\nvar isDef = function isDef(v) {\n return v !== undefined && v !== null;\n};\n/**\n * @desc 判断当前环境是否为生产环境\n *\n * @param {*} v\n */\n\nvar isProd = process.env.NODE_ENV === \"production\";\n/**\n * @desc 获取对象的键值\n *\n * @param {Object} value\n * @returns {Array} [keys, values]\n */\n\nfunction zipArray(value) {\n return [Object.values(value), Object.keys(value)];\n}\n/**\n * @desc 防抖函数,至少间隔200毫秒执行一次\n *\n * @param {Function} fn callback\n * @param {Number} [ms=200] 默认200毫秒\n * @returns {Function}\n */\n\nfunction debounce(fn) {\n var ms = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 200;\n var timeoutId;\n return function () {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n clearTimeout(timeoutId);\n timeoutId = setTimeout(function () {\n return fn.apply(_this, args);\n }, ms);\n };\n}\n/**\n * @desc 判断给定变量是否完全匹配目标数组\n *\n * @param {String[]} mdfs 目标数组\n * @param {String} vals\n * @returns {Boolean}\n */\n\nfunction _exactMatch(mdfs, vals) {\n var keys = Object.keys(mdfs);\n return keys.length === vals.length && vals.every(function (v) {\n return keys.includes(v);\n });\n}\n/**\n * @desc 判断给定变量是否匹配目标数组的一部分\n *\n * @param {String[]} mdfs 目标字符串数组\n * @param {String} vals\n * @returns {Boolean}\n */\n\nfunction _partialMatch(mdfs, vals) {\n var keys = Object.keys(mdfs);\n return vals.some(function (v) {\n return keys.includes(v);\n });\n}\n/**\n * @desc 判断两个节点是否为同一个vnode节点\n *\n * @param {VNode} a 虚拟节点\n * @param {VNode} b 虚拟节点\n */\n\nfunction sameVnode(a, b) {\n return a.key === b.key && a.tag === b.tag && a.isComment === b.isComment && isDef(a.data) === isDef(b.data);\n}\n/**\n * @desc 判断两个vnode节点是否全等\n *\n * @param {VNode} a 虚拟节点\n * @param {VNode} b 虚拟节点\n */\n\nfunction exactlySameVnode(vnode, oldVnode) {\n if (!sameVnode(vnode, oldVnode)) return false;\n var oldCh = oldVnode.children;\n var ch = vnode.children; // vnode为非文本节点,且新旧节点的子节点都存在但不相同\n\n if (isUndef(vnode.text) && isDef(oldCh) && isDef(ch)) {\n if (oldCh.length !== ch.length) return false;\n\n for (var i = 0; i < ch.length; i++) {\n var c = ch[i];\n\n if (isDef(c) && isDef(oldCh[i])) {\n return exactlySameVnode(c, oldCh[i]);\n }\n }\n } // vnode为文本节点,新旧节点内容不相同\n else if (vnode.text !== oldVnode.text) return false;\n\n return true;\n}\n\n/*\n * @Author: 宋慧武\n * @Date: 2019-04-14 15:55:15\n * @Last Modified by: 宋慧武\n * @Last Modified time: 2019-04-14 16:08:25\n */\nvar checkFun = function checkFun(fn) {\n if (!isProd && !isFun(fn)) {\n throw new Error(\"第一个参数应该为 Function~\");\n }\n};\nvar tip = function tip(dir) {\n if (!isProd) {\n throw new Error(\"\".concat(dir, \"\\u6307\\u4EE4\\u6682\\u4E0D\\u652F\\u6301\"));\n }\n};\n\n/*\n * @Author: 宋慧武\n * @Date: 2019-04-08 11:13:34\n * @Last Modified by: 宋慧武\n * @Last Modified time: 2019-04-08 11:59:30\n */\n\n/**\n * @desc 是否为元素几点\n *\n * @param {DOMElement} ele 一个 DOM 元素\n * @return {Boolean}\n */\nvar isElement = function isElement(ele) {\n return ele && ele.nodeType === 1;\n};\n/**\n * @desc 获取 DOM CSS 属性的值\n *\n * @param {DOMElement} ele A DOM 元素\n * @returns {String}\n */\n\nfunction getStylePropValue(ele, prop) {\n return window.getComputedStyle(ele).getPropertyValue(prop);\n}\n/**\n * @desc 元素是否在可视区域可见\n *\n * @param {Object} rect 元素大小及相对可视区域的位置信息\n * @returns {Boolean} true => 可见 false => 不可见\n */\n\nfunction isInViewport(rect, viewport) {\n if (!rect || rect.width <= 0 || rect.height <= 0) {\n return false;\n }\n\n return rect.bottom > 0 && rect.right > 0 && rect.top < viewport.height && rect.left < viewport.width;\n}\n/**\n * @desc 元素是否隐藏\n *\n * @param {DOMElement} ele A DOM 元素\n * @returns {Boolean} true => 未隐藏可见 false => 隐藏不可见\n */\n\nfunction isVisible(ele) {\n if (ele === window.document) {\n return true;\n }\n\n if (!ele || !ele.parentNode) {\n return false;\n }\n\n var parent = ele.parentNode;\n var visibility = getStylePropValue(ele, \"visibility\");\n var display = getStylePropValue(ele, \"display\");\n\n if (visibility === \"hidden\" || display === \"none\") {\n return false;\n }\n\n return parent ? isVisible(parent) : true;\n}\n\n/**\n * @class\n * @name VisMonitor\n *\n * @desc 目标元素控制器\n */\n\nvar VisMonitor =\n/*#__PURE__*/\nfunction () {\n function VisMonitor(ele, ref) {\n _classCallCheck(this, VisMonitor);\n\n if (!isElement(ele)) {\n throw new Error(\"not an element node\");\n }\n\n this.ele = ele;\n this.ref = ref;\n this.started = false;\n this.listeners = {};\n this.removeScrollLisener = null;\n this.init();\n }\n\n _createClass(VisMonitor, [{\n key: \"init\",\n value: function init() {\n var _this = this;\n\n if (!this.started) {\n this.removeScrollLisener = function (listener) {\n if (_this.ref) {\n return _this.ref.$on(\"scroll\", listener);\n } else {\n window.addEventListener(\"scroll\", listener, false);\n return function () {\n return window.removeEventListener(\"scroll\", listener, false);\n };\n }\n }(debounce(this.visibilitychange.bind(this)));\n\n this.started = true;\n }\n }\n /**\n * 监听自定义事件\n */\n\n }, {\n key: \"$on\",\n value: function $on(evt, cbk) {\n var queue = this.listeners[evt] || (this.listeners[evt] = []);\n queue.push(cbk);\n return this;\n }\n /**\n * 移除监听自定义事件\n */\n\n }, {\n key: \"$off\",\n value: function $off(evt, cbk) {\n if (!cbk) return;\n var queue = this.listeners[evt];\n var v;\n var i = queue.length;\n\n while (i--) {\n v = queue[i];\n\n if (v === cbk || v.cbk === cbk) {\n queue.splice(i, 1);\n break;\n }\n }\n\n return this;\n }\n /**\n * 监听自定义事件,但只触发一次\n */\n\n }, {\n key: \"$once\",\n value: function $once(evt, cbk) {\n var _this2 = this;\n\n var on = function on() {\n _this2.$off(evt, on);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n cbk.apply(_this2, args);\n };\n\n on.cbk = cbk;\n this.$on(evt, on);\n return this;\n }\n /**\n * 触发当前实例的监听回调\n */\n\n }, {\n key: \"$emit\",\n value: function $emit(evt) {\n var _this3 = this;\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n var queue = this.listeners[evt] || [];\n queue.forEach(function (sub) {\n return sub.apply(_this3, args);\n });\n return this;\n }\n /**\n * 计算元素可见比例,如果比例为100%,则触发 fullyvisible 事件\n */\n\n }, {\n key: \"visibilitychange\",\n value: function visibilitychange() {\n var rect = this.ele.getBoundingClientRect();\n var view = {\n height: window.innerHeight,\n width: window.innerWidth\n };\n\n if (!isInViewport(rect, view) || !isVisible(this.ele)) {\n return 0;\n }\n\n var vh = 0;\n var vw = 0;\n var perc = 0;\n\n if (rect.top >= 0) {\n vh = Math.min(rect.height, view.height - rect.top);\n } else if (rect.bottom > 0) {\n vh = Math.min(view.height, rect.bottom);\n }\n\n if (rect.left >= 0) {\n vw = Math.min(rect.width, view.width - rect.left);\n } else if (rect.right > 0) {\n vw = Math.min(view.width, rect.right);\n }\n\n perc = vh * vw / (rect.height * rect.width);\n if (perc === 1) this.$emit(\"fullyvisible\");\n }\n /**\n * 销毁当前实例的事件\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n isFun(this.removeScrollLisener) && this.removeScrollLisener();\n }\n }]);\n\n return VisMonitor;\n}();\n\nvar MODIFIERS = [\"async\", \"delay\", \"watch\", \"show\", \"once\", \"custom\"]; // 修饰符\n\n/*******************************************************************************\n * @desc 监听数据发生改变时触发埋点,需处理两种情况:\n * ① 初始化时开始监听 v-track:xxxxx.watch=\"{ common_exp }\"\n * ops.immediate 表示初始化时立即开始监听\n *\n * ② 点击事件之后开始监听 v-track:18016.click.async=\"{ refreshHotSpot, exposureId }\"\n * el.contains(this.target) 避免多个“地方”同时监听同一个值出现多次上报的问题\n *******************************************************************************/\n\nfunction _watcher(el, exp, cbk, ctt) {\n var _this = this;\n\n var ops = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};\n el.$unwatch = ctt.$watch(function () {\n return ctt[exp];\n }, function (nv, ov) {\n nv !== ov && (ops.immediate || el.contains(_this.target)) && cbk();\n _this.target = null; // 释放当前操作的watcher\n });\n}\n/*************************************************************************\n * @desc 自定义指令 v-track\n *\n * @param {*} el 指令所绑定的元素\n * @param {String} arg 埋点对应event ID\n * @param {Boolean} modifiers.click true: 事件行为埋点; false: 页面级埋点\n * @param {Boolean} modifiers.watch 异步埋点\n * @param {Boolean} modifiers.async 点击事件异步埋点\n * @param {Boolean} modifiers.delay 埋点是否延迟执行,默认先执行埋点再执行cbk\n *\n * @property {Function} tck 对应埋点方法\n *\n * @example v-track:18015\n * @example v-track:18015.watch\n * @example v-track:18015.watch.delay\n * @example v-track:18015.click\n * @example v-track:18015.click.async\n * @example v-track:18015.click.delay\n * @example v-track:18015.[自定义事件名].delay\n * @example v-track:18015.[自定义事件名].async\n *************************************************************************/\n\n\nfunction bind(el, _ref, _ref2, _, __, events) {\n var _this2 = this;\n\n var value = _ref.value,\n id = _ref.arg,\n modifiers = _ref.modifiers,\n rawName = _ref.rawName;\n var context = _ref2.context,\n componentInstance = _ref2.componentInstance;\n if (!events[id]) throw new Error(\"埋点参数不存在哇\");\n var queue = [];\n var tck = events[id].bind(null, context);\n\n var watcher = function watcher(exp, cbk, ops) {\n return _watcher.call(_this2, el, exp, cbk, context, ops);\n };\n\n var exactMatch = function exactMatch() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _exactMatch.call(null, modifiers, args);\n };\n\n var partialMatch = function partialMatch() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _partialMatch.call(null, modifiers, args);\n };\n\n if (!Object.keys(modifiers).length) {\n events[id](context, value);\n } // 异步埋点\n else if (exactMatch(\"watch\")) {\n var exp = Object.keys(value).shift();\n watcher(exp, tck, {\n immediate: true\n });\n } // 指定延长时间埋点\n else if (exactMatch(\"delay\")) {\n el.$timer && clearTimeout(el.$timer);\n el.$timer = setTimeout(function () {\n events[id](context);\n }, value);\n } else if (exactMatch(\"watch\", \"delay\")) {\n var _exp = _toConsumableArray(Object.keys(value)).pop();\n\n tck = function tck() {\n el.$timer && clearTimeout(el.$timer);\n el.$timer = setTimeout(function () {\n var visible = isVisible(context.$el);\n visible && events[id](context);\n }, value.delay);\n };\n\n watcher(_exp, tck, {\n immediate: true\n });\n } // 区域曝光埋点\n else if (partialMatch(\"show\")) {\n var fn = function fn() {\n return events[id](context);\n };\n\n var once = partialMatch(\"once\");\n var custom = partialMatch(\"custom\");\n\n if (!el.$visMonitor) {\n var vm = new VisMonitor(el, custom && context.$refs[value.ref]);\n (once ? vm.$once : vm.$on).call(vm, \"fullyvisible\", fn);\n el.$visMonitor = vm;\n }\n } else if (!componentInstance && modifiers.click) {\n /**\n * @desc DOM元素事件行为埋点(需区分是否带参数)\n * @var {Function} fn 获取第一个参数作为回调函数\n * @var {String} exp 获取最后一个参数并作为监听对象\n */\n switch (_typeof(value)) {\n case \"object\":\n {\n var _zipArray = zipArray(value),\n _zipArray2 = _slicedToArray(_zipArray, 2),\n args = _zipArray2[0],\n keys = _zipArray2[1];\n\n var _fn = args.shift();\n\n var _exp2 = _toConsumableArray(keys).pop();\n\n var tck_args = keys.slice(1).reduce(function (state, k) {\n return state[k] = value[k], state;\n }, {});\n checkFun(_fn);\n tck = events[id].bind(null, context, tck_args);\n queue = [tck, _fn.bind.apply(_fn, [null].concat(_toConsumableArray(args)))];\n modifiers.delay && queue.reverse();\n modifiers.async && watcher(_exp2, queue.shift());\n break;\n }\n\n case \"function\":\n queue = [tck, value];\n modifiers.delay && queue.reverse();\n break;\n }\n\n el.$listener = function (e) {\n _this2.target = e.target;\n queue.forEach(function (sub) {\n return sub(e);\n });\n };\n\n el.addEventListener(\"click\", el.$listener);\n } else if (\n /**\n * @desc 组件自定义事件行为埋点(需区分是否带参数)\n * @var {Function} fn 获取第一个参数作为回调函数\n * @var {String} exp 获取最后一个参数并作为监听对象\n */\n componentInstance && componentInstance.$el === el) {\n var eventName = Object.keys(modifiers).filter(function (key) {\n return !MODIFIERS.includes(key);\n }).pop();\n\n switch (_typeof(value)) {\n case \"object\":\n {\n var _zipArray3 = zipArray(value),\n _zipArray4 = _slicedToArray(_zipArray3, 2),\n _args = _zipArray4[0],\n _keys = _zipArray4[1];\n\n var _fn2 = _args.shift();\n\n var _exp3 = _toConsumableArray(_keys).pop();\n\n checkFun(_fn2);\n if (el[\"$on_\".concat(eventName)]) break;\n componentInstance.$on(eventName, function () {\n _this2.target = el;\n\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n tck = events[id].bind(null, context, args[0]);\n queue = [tck, _fn2.bind.apply(_fn2, [null].concat(args))];\n modifiers.delay && queue.reverse();\n modifiers.async && watcher(_exp3, queue.shift());\n queue.forEach(function (sub) {\n return sub();\n });\n el[\"$on_\".concat(eventName)] = true; // 避免重复监听\n });\n break;\n }\n\n case \"function\":\n componentInstance.$on(eventName, function (data) {\n var args = Object.values(data || {});\n tck = events[id].bind(null, context, data);\n queue = [tck, value.bind.apply(value, [null].concat(_toConsumableArray(args)))];\n modifiers.delay && queue.reverse();\n queue.forEach(function (sub) {\n return sub();\n });\n });\n break;\n }\n } else {\n tip(rawName);\n }\n}\n/**\n * @desc 由于 DOM 更新采用 diff 算法更新,如果新旧节点相同,则 el 会全等,导致 bind 绑定无法更\n * 新,出现事件绑定诡异的问题,但由于 DOM update 执行频率很高,会导致性能问题,所以这里加\n * 了一层exactlySameVnode过滤,即只有在新旧节点发生变化时才会重新绑定,否则相反\n *\n * @param {*} el 同bind\n * @param {...any} args 同bind\n */\n\nfunction updated(el) {\n if (!el.$listener) return;\n\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n if (!exactlySameVnode(args[1], args[2])) {\n unbind.call(this, el);\n bind.call.apply(bind, [this, el].concat(args));\n }\n}\nfunction unbind(el) {\n el.$listener && el.removeEventListener(\"click\", el.$listener);\n el.$timer && clearTimeout(el.$timer);\n el.$unwatch && el.$unwatch();\n el.$visMonitor && el.$visMonitor.destroy();\n}\n\nvar VTrack =\n/*#__PURE__*/\nfunction () {\n function VTrack() {\n _classCallCheck(this, VTrack);\n\n this.installed = false;\n this.curPage = null; // 保存当前页name\n } // 保存当前点击的元素\n\n\n _createClass(VTrack, null, [{\n key: \"install\",\n // Vue.use 将执行此方法\n value: function install(Vue, _ref) {\n var _this = this;\n\n var trackEvents = _ref.trackEvents,\n _ref$trackEnable = _ref.trackEnable,\n trackEnable = _ref$trackEnable === void 0 ? {} : _ref$trackEnable;\n var self = this;\n trackEnable = _objectSpread({\n UVPV: false,\n TONP: false\n }, trackEnable);\n\n var TRACK_TONP = function TRACK_TONP(entertime) {\n if (trackEnable.TONP) {\n trackEvents.TONP({\n stt: \"\".concat((Date.now() - entertime) / 1e3, \"s\")\n });\n }\n };\n\n if (this.installed) return;\n this.installed = true; // 注册v-track全局指令\n\n Vue.directive(\"track\", {\n bind: function bind$1() {\n var _hooks$bind;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (_hooks$bind = bind).call.apply(_hooks$bind, [_this].concat(args, [trackEvents]));\n },\n componentUpdated: function componentUpdated() {\n var _hooks$updated;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return (_hooks$updated = updated).call.apply(_hooks$updated, [_this].concat(args, [trackEvents]));\n },\n unbind: function unbind$1() {\n var _hooks$unbind;\n\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return (_hooks$unbind = unbind).call.apply(_hooks$unbind, [_this].concat(args));\n }\n }); // 注册全局组件\n\n Vue.component(\"TrackView\", {\n render: function render(h) {\n return h(\"span\", {\n style: \"display: none\"\n });\n }\n });\n Vue.mixin({\n data: function data() {\n return {\n PAGE_ENTER_TIME: Date.now()\n };\n },\n created: function created() {\n var _this2 = this;\n\n window.onbeforeunload = function () {\n return TRACK_TONP(_this2.PAGE_ENTER_TIME);\n };\n },\n // 统计UV、PV\n beforeRouteEnter: function beforeRouteEnter(to, _, next) {\n // 防止有些情况该守卫执行多次导致重复埋点的问题\n if (to.name === self.curPage) {\n next();\n } else {\n self.curPage = to.name;\n trackEnable.UVPV && trackEvents.UVPV();\n next();\n }\n },\n // 页面停留时间\n beforeRouteLeave: function beforeRouteLeave(_, __, next) {\n TRACK_TONP(this.PAGE_ENTER_TIME);\n next();\n }\n });\n }\n }]);\n\n return VTrack;\n}();\n\n_defineProperty(VTrack, \"target\", null);\n\nexport default VTrack;\n","/**\n * @author LHammer\n * @desc date parse or format date\n * @see https://github.com/l-hammer/YDTemplate/blob/master/src/utils/es6/date.js\n */\nconst twoDigits = /\\d\\d?/;\nconst fourDigits = /\\d{4}/;\nconst token = /d{1,2}|M{1,2}|yy(?:yy)?|([HhMsDm])\\1?|[aA]|\"[^\"]*\"|'[^']*'/g;\nconst masks = {\n default: \"yyyy-MM-dd HH:mm:ss\",\n date: \"yyyy-MM-dd\",\n datetime: \"yyyy-MM-dd HH:mm:ss\",\n time: \"HH:mm:ss\",\n year: \"yyyy\",\n enDate: \"M/d/yy\",\n cnDate: \"yyyy 年 MM 月 dd 日\"\n};\n\nconst pad = (val, len) => {\n val = String(val);\n len = len || 2;\n while (val.length < len) {\n val = `0${val}`;\n }\n return val;\n};\n\nconst formatFlags = {\n yyyy(dateObj) {\n return pad(dateObj.getFullYear(), 4);\n },\n yy(dateObj) {\n return String(dateObj.getFullYear()).substr(2);\n },\n M(dateObj) {\n return dateObj.getMonth() + 1;\n },\n MM(dateObj) {\n return pad(dateObj.getMonth() + 1);\n },\n d(dateObj) {\n return dateObj.getDate();\n },\n dd(dateObj) {\n return pad(dateObj.getDate());\n },\n h(dateObj) {\n return dateObj.getHours() % 12 || 12;\n },\n hh(dateObj) {\n return pad(dateObj.getHours() % 12 || 12);\n },\n H(dateObj) {\n return dateObj.getHours();\n },\n HH(dateObj) {\n return pad(dateObj.getHours());\n },\n m(dateObj) {\n return dateObj.getMinutes();\n },\n mm(dateObj) {\n return pad(dateObj.getMinutes());\n },\n s(dateObj) {\n return dateObj.getSeconds();\n },\n ss(dateObj) {\n return pad(dateObj.getSeconds());\n }\n};\n\n/**\n * Format a date\n * @method format\n * @param {Date|number} dateObj new Date(2018, 2, 9)\n * @param {String} mask Format of the date e.g. 'yyyy-MM-dd HH:mm:ss' or 'cnDate'\n */\nexport const format = (dateObj, mask) => {\n if (typeof dateObj === \"number\") {\n dateObj = new Date(dateObj);\n }\n\n if (\n Object.prototype.toString.call(dateObj) !== \"[object Date]\" ||\n isNaN(dateObj.getTime())\n ) {\n throw new Error(\"Invalid Date in date.format\");\n }\n mask = masks[mask] || mask || masks.default;\n\n // return 不可省略\n mask = mask.replace(token, $0 => {\n return $0 in formatFlags\n ? formatFlags[$0](dateObj)\n : $0.slice(1, $0.length - 1);\n });\n\n return mask;\n};\n\nconst parseFlags = {\n yyyy: [\n fourDigits,\n (d, v) => {\n d.year = v;\n }\n ],\n yy: [\n twoDigits,\n (d, v) => {\n const da = new Date();\n const cent = +`${da.getFullYear()}`.substr(0, 2);\n d.year = `${v > 68 ? cent - 1 : cent}${v}`;\n }\n ],\n M: [\n twoDigits,\n (d, v) => {\n d.month = v - 1;\n }\n ],\n d: [\n twoDigits,\n (d, v) => {\n d.day = v;\n }\n ],\n h: [\n twoDigits,\n (d, v) => {\n d.hour = v;\n }\n ],\n m: [\n twoDigits,\n (d, v) => {\n d.minute = v;\n }\n ],\n s: [\n twoDigits,\n (d, v) => {\n d.second = v;\n }\n ]\n};\nparseFlags.MM = parseFlags.M;\nparseFlags.dd = parseFlags.d;\nparseFlags.hh = parseFlags.h;\nparseFlags.H = parseFlags.h;\nparseFlags.HH = parseFlags.h;\nparseFlags.mm = parseFlags.m;\nparseFlags.ss = parseFlags.s;\n\n/**\n * Format a date\n * @method parse\n * @param {String} dateStr Date String e.g. '2018-02-09 09:29:29' or '2018 年 02 月 09 日'\n * @param {String} mask Parse of the format date e.g. 'yyyy-MM-dd HH:mm:ss' or 'cnDate'\n * @param {Date}\n */\nexport const parse = (dateStr, mask) => {\n let isVaild = true;\n const dateInfo = {};\n const today = new Date();\n\n if (typeof dateStr !== \"string\") {\n throw new Error(\"Invalid format in fecha.parse\");\n }\n\n mask = masks[mask] || mask || masks.default;\n /**\n * @function replace @see https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/replace;\n * @param {String} $0 匹配的子串\n */\n mask.replace(token, function($0) {\n if (parseFlags[$0]) {\n const flag = parseFlags[$0];\n /**\n * 搜索匹配到子串(e.g. yyyy)对应flag(fourDigits)的位置\n * @function search 未匹配到时返回-1,即按位取反为0时表示没有对应的flag\n */\n const index = dateStr.search(flag[0]);\n if (!~index) {\n isVaild = false;\n } else {\n /**\n * 为避免重复返回,将已经返回的值result从dateStr中删除\n */\n dateStr.replace(flag[0], function(result) {\n flag[1](dateInfo, result);\n dateStr = dateStr.substr(index + result.length);\n return result;\n });\n }\n }\n return parseFlags[$0] ? \"\" : $0.slice(1, $0.length - 1);\n });\n\n if (!isVaild) {\n return false;\n }\n\n const date = new Date(\n dateInfo.year || today.getFullYear(),\n dateInfo.month || 0,\n dateInfo.day || 1,\n dateInfo.hour || 0,\n dateInfo.minute || 0,\n dateInfo.second || 0\n );\n return date;\n};\n\nexport default {\n format,\n parse\n};\n","export const createFragment = data => {\n const tableData = Object.keys(data).reduce(\n (list, k) => (list.push({ key: k, val: data[k] }), list),\n []\n );\n const trs = tableData\n .map(({ key, val }) => {\n return `\n
\n ${key}\n ${val}\n
\n `;\n })\n .join(\"\");\n\n return `\n
\n
\n key\n value\n
\n ${trs}\n
\n `;\n};\n","/*\n * @Author: 宋慧武\n * @Date: 2019-04-14 16:44:42\n * @Last Modified by: 宋慧武\n * @Last Modified time: 2019-04-15 01:03:46\n */\nimport { Notification, Message } from \"element-ui\";\nimport { format } from \"../utils/date\";\nimport { createFragment } from \"../utils/dom\";\n\n/**\n * @desc 模拟埋点Action\n */\nexport default function trackAction(evt, addtional = {}) {\n const data = {\n evt,\n ...addtional,\n action_time: format(Date.now())\n };\n\n if (evt === \"2\") {\n Message(\"统计页面停留时间埋点\");\n }\n if (evt === \"1,3\") {\n Message(\"统计UVPV埋点\");\n }\n Notification.success({\n title: \"上报数据如下:\",\n dangerouslyUseHTMLString: true,\n message: createFragment(data),\n customClass: \"notification__large\"\n });\n}\n","/*\n * @Author: 宋慧武\n * @Date: 2019-04-14 17:10:31\n * @Last Modified by: 宋慧武\n * @Last Modified time: 2019-04-15 01:33:00\n */\nimport trackAction from \"./action\";\n\nexport default {\n /**\n * @name UVPV 固定名称不支持修改\n * @desc UV、PV埋点\n */\n UVPV() {\n trackAction(\"1,3\");\n },\n /**\n * @name TONP 固定名称不支持修改\n * @desc 页面停留时间埋点(Time on Page)\n * @param {String} stt 进入页面时长,单位为秒\n */\n TONP({ stt }) {\n trackAction(\"2\", { stt });\n },\n /**\n * @desc 测试埋点\n * @param {*} { $route: { name } }\n * @param {*} { item: { id, level4Tag }, index }\n */\n 18015({ $route: { name } }) {\n trackAction(\"18015\", {\n source_page: name // 页面来源\n });\n },\n 18016(\n {\n $route: { name }\n },\n {\n item: { id }\n },\n { target }\n ) {\n trackAction(\"18016\", {\n id, // 知识ID\n source_page: name, // 页面来源\n target\n });\n },\n 18017({ index, $route: { name } }) {\n trackAction(\"18017\", {\n source_page: name, // 页面来源\n index\n });\n },\n 18018({ rest, $route: { name } }) {\n trackAction(\"18018\", {\n source_page: name, // 页面来源\n rest\n });\n }\n};\n","/*\n * @Author: 宋慧武\n * @Date: 2019-04-14 17:01:49\n * @Last Modified by: 宋慧武\n * @Last Modified time: 2019-04-14 17:12:29\n */\nimport trackEvents from \"./events\";\n\nexport { default as trackAction } from \"./action\";\n\nexport default {\n ...trackEvents\n};\n","import Vue from \"vue\";\nimport VueRouter from \"vue-router\";\nimport { Alert, Message, Notification } from \"element-ui\";\nimport App from \"./App.vue\";\nimport Home from \"./pages/home.vue\";\nimport Started from \"./pages/started.vue\";\nimport CustomEvents from \"./pages/custom-events.vue\";\nimport TrackView from \"./pages/track-view.vue\";\nimport BlockShow from \"./pages/block-show.vue\";\nimport VueTrack from \"../\";\nimport trackEvents from \"./tracks\";\n\nVue.use(VueRouter);\nVue.use(Alert);\nVue.use(VueTrack, {\n trackEvents,\n trackEnable: {\n UVPV: false,\n TONP: true\n }\n});\n\nVue.prototype.$message = Message;\nVue.prototype.$notify = Notification;\n\nconst router = new VueRouter({\n routes: [\n {\n path: \"/\",\n name: \"HOME\",\n component: Home\n },\n {\n path: \"/started\",\n name: \"STARTED\",\n component: Started\n },\n {\n path: \"/custom-events\",\n name: \"CUSTOM_EVENTS\",\n component: CustomEvents\n },\n {\n path: \"/track-view\",\n name: \"TRACK_VIEW\",\n component: TrackView\n },\n {\n path: \"/block-show\",\n name: \"BLOCK_SHOW\",\n component: BlockShow\n },\n {\n path: \"*\",\n redirect: \"/\"\n }\n ]\n});\n\n/* eslint-disable no-new */\nnew Vue({\n el: \"#app\",\n router,\n render: h => h(App)\n});\n"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 2f711f0..40a3ee0 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1 +1 @@ -v-track
\ No newline at end of file +v-track
\ No newline at end of file