UNPKG

wechat-mini-program-ga-sdk

Version:

Integrate Google Analytics with Wechat Mini Program via Measurement Protocol

2 lines 33.8 kB
module.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";r.r(t);var n={debug:!1,proxyURL:"",GAdebugURL:"https://www.google-analytics.com/debug/collect",validateHit:!1,maxLogLength:10,GAURL:"https://www.google-analytics.com/collect",method:"POST",headers:{"X-Request-By":"XMLHttpRequest","Content-Type":"application/x-www-form-urlencoded"},rest:"",wxRequestTimeout:2e3,enableLogger:!0,validateParams:!1,LoggerName:"gaLog"};function o(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var i=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._list=[],this.use=this.u,this.list=this.l,this.remove=this.clear}var t,r,n;return t=e,(r=[{key:"u",value:function(e){this._list.push(e)}},{key:"l",value:function(){return this._list}},{key:"clear",value:function(){this._list=[]}}])&&o(t.prototype,r),n&&o(t,n),e}();function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var u=function(){function e(t){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.GAlog=this.GAlog||this.getLog()||[],"string"!=typeof t)throw new Error("Logger Name must be string");this.loggerName=t||"gaLog"}var t,r,n;return t=e,(r=[{key:"env",value:function(){return"object"==("undefined"==typeof wx?"undefined":a(wx))?"WECHAT":document.URL?"WEB":void 0}},{key:"add",value:function(e){return"WEB"==this.env()?(this.GAlog.push(e),this.GAlog=this.GAlog.reverse(),window.localStorage.setItem(this.loggerName,JSON.stringify(this.GAlog)),this.getLog()):"WECHAT"==this.env()?(this.GAlog.push(e),this.GAlog=this.GAlog.reverse(),wx.setStorage({key:this.loggerName,data:this.GAlog}),this.getLog()):void 0}},{key:"remove",value:function(){return"WEB"==this.env()?(this.GAlog=[],window.localStorage.clear(),this.getLog()):"WECHAT"==this.env()?(this.GAlog=[],wx.removeStorage({key:this.loggerName}),this.getLog()):void 0}},{key:"shift",value:function(){return"WEB"==this.env()?(this.GAlog.shift(),this.GAlog=this.GAlog.reverse(),window.localStorage.setItem(this.loggerName,JSON.stringify(this.GAlog)),this.getLog()):"WECHAT"==this.env()?(this.GAlog.shift(),this.GAlog=this.GAlog,wx.setStorage({key:this.loggerName,data:this.GAlog}),this.getLog()):void 0}},{key:"size",value:function(){return(this.getLog()||0).length||0}},{key:"sortByTime",value:function(e,t){return new Date(e.time)-new Date(t.time)}},{key:"getLog",value:function(){if("WECHAT"==this.env())return wx.getStorageSync(this.loggerName);if("WEB"==this.env())try{return JSON.parse(window.localStorage.getItem(this.loggerName))}catch(e){return window.localStorage.getItem(this.loggerName)}}}])&&c(t.prototype,r),n&&c(t,n),e}();function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var f=new(function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,r,n;return t=e,(r=[{key:"objectToParams",value:function(e){return Object.keys(e).map((function(t){return t+"="+e[t]})).join("&")}},{key:"Error",value:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){if(e)throw new Error(e)}))},{key:"merge",value:function(e,t){if("{}"===JSON.stringify(t))return e;for(var r in t)"object"==s(t[r])?(e[r]||(e[r]={}),this.merge(e[r],t[r])):e[r]=t[r];return e}},{key:"formatTime",value:function(e){var t=e.getFullYear(),r=e.getMonth()+1,n=e.getDate(),o=e.getHours(),i=e.getMinutes(),a=e.getSeconds();return[t,r,n].map(this.formatNumber).join("/")+" "+[o,i,a].map(this.formatNumber).join(":")}},{key:"formatNumber",value:function(e){return(e=e.toString())[1]?e:"0"+e}},{key:"generateUUID",value:function(){var e=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){var r=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?r:7&r|8).toString(16)}))}},{key:"deepClone",value:function(e){var t;if(null==e||"object"!=s(e))return e;if(e instanceof Date)return(t=new Date).setTime(e.getTime()),t;if(e instanceof Array){t=[];for(var r=0,n=e.length;r<n;r++)t[r]=this.deepClone(e[r]);return t}if(e instanceof Object){for(var o in t={},e)e.hasOwnProperty(o)&&(t[o]=this.deepClone(e[o]));return t}throw new Error("Unable to copy obj! Its type isn't supported.")}}])&&l(t.prototype,r),n&&l(t,n),e}());function y(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?y(Object(r),!0).forEach((function(t){h(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function h(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function g(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var d=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.log=new u(t.LoggerName),this.maxLogLength=t.maxLogLength,this.enableLogger=t.enableLogger}var t,r,n;return t=e,(r=[{key:"init",value:function(){0==this.size()&&this.log.add({time:f.formatTime(new Date),Launch:"Logger Init"})}},{key:"enqueue",value:function(e){return this.enableLogger?(this.size()<this.maxLogLength&&this.log.add(p({time:f.formatTime(new Date)},e)),this.size()>=this.maxLogLength&&(this.log.shift(),this.log.add(p({time:f.formatTime(new Date)},e))),console.log(this.log),this.log):(console.log("debug mode paused, won't record any log right now"),!1)}},{key:"dequeue",value:function(){return this.log.shift()}},{key:"isEmpty",value:function(){return 0===this.log.length}},{key:"clear",value:function(){return this.log.remove(),this.log}},{key:"size",value:function(){return this.log.size()}},{key:"getlog",value:function(){return this.log}}])&&g(t.prototype,r),n&&g(t,n),e}();function v(e){return(v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function m(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var b=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.Log=new d(t)}var t,r,n;return t=e,(r=[{key:"webRequest",value:function(e){var t=this;if("[object Object]"===String(e)){e.method=e.method?e.method.toUpperCase():"POST",e.data=t.removeEmptyObjKey(e.data)||{};var r=[];for(var n in e.data)r.push("".concat(n,"=",e.data[n]));e.data=r.join("&"),"GET"===e.method&&(e.getUrl=e.url+"?"+e.data);var o=e.transferResponse,i=new XMLHttpRequest;i.responseType=e.responseType||"json",i.onreadystatechange=function(){if(4===i.readyState){if(200!==i.status)return t.Log.enqueue({type:"error",data:e.data,url:e.url?e.url:e.getUrl,res:e.validateHit?i.response:"Error",hitID:e.hitID}),e.onError&&e.onError(e),"Request Fail";o?(t.Log.enqueue({type:"success",url:e.url?e.url:e.getUrl,data:e.data,res:e.validateHit?o(i.response):i.status,hitID:e.hitID}),e.onSuccess&&e.onSuccess(e)):(t.Log.enqueue({type:"success",url:e.url?e.url:e.getUrl,data:e.data,res:e.validateHit?i.response:i.status,hitID:e.hitID}),e.onSuccess&&e.onSuccess(e))}},"GET"==e.method&&(i.open(e.method,e.getUrl,!0),i.send()),"POST"===e.method&&(i.open(e.method,e.url,!0),i.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),i.send(e.data))}}},{key:"weRequest",value:function(e){var t=this,r=e.transferResponse;e.data=this.removeEmptyObjKey(e.data),wx.request({url:e.url,method:e.method,data:e.data,header:e.headers,timeout:e.wxRequestTimeout,success:function(n){r?t.Log.enqueue({type:"success",url:e.url?e.url:e.getUrl,data:e.data,res:e.transferResponse(n),hitID:e.hitID}):t.Log.enqueue({type:"success",url:e.url?e.url:e.getUrl,data:e.data,res:n,hitID:e.hitID}),e.onSuccess&&e.onSuccess(e,n)},fail:function(n){r?t.Log.enqueue({type:"error",url:e.url?e.url:e.getUrl,data:e.data,res:e.transferResponse(n),hitID:e.hitID}):t.Log.enqueue({url:e.url?e.url:e.getUrl,data:e.data,res:n,hitID:e.hitID}),e.onError&&e.onError(e,n)}})}},{key:"isonWechat",value:function(){return"object"==("undefined"==typeof wx?"undefined":v(wx))}},{key:"removeEmptyObjKey",value:function(e){return Object.keys(e).forEach((function(t){void 0!==e[t]&&e[t]||delete e[t]})),e}},{key:"send",value:function(e){return this.isonWechat()?this.weRequest(e):this.webRequest(e)}}])&&m(t.prototype,r),n&&m(t,n),e}();function w(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function O(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function S(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var P=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.v=this.init(),this.requireList=["tid","v","cid"],this.regexL={tid:"UA-[0-9]*-[0-9]*"}}var t,r,n;return t=e,(r=[{key:"add",value:function(e){this.v.push(e)}},{key:"use",value:function(e){var t=!0,r=!1,n=void 0;try{for(var o,i=this.v[Symbol.iterator]();!(t=(o=i.next()).done);t=!0)e=o.value.call(this,e)}catch(e){r=!0,n=e}finally{try{t||null==i.return||i.return()}finally{if(r)throw n}}return e}},{key:"checkRequire",value:function(e){var t=!0,r=!1,n=void 0;try{for(var o,i=this.requireList[Symbol.iterator]();!(t=(o=i.next()).done);t=!0){var a=o.value;if(!e.hasOwnProperty(a))throw new Error("".concat(a," is required"))}}catch(e){r=!0,n=e}finally{try{t||null==i.return||i.return()}finally{if(r)throw n}}return e}},{key:"addRequirelist",value:function(e){return this.requireList.push(e)}},{key:"addRegexList",value:function(e){return this.regexL=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?w(Object(r),!0).forEach((function(t){O(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):w(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},this.regexL,{},e),this.regexL}},{key:"regex",value:function(e){for(var t in this.regexL){if(!e.hasOwnProperty(t))throw new Error("No ".concat(this.x," on object"));var r=new RegExp(this.regexL[t],"ig");if(this.isString(t)&&!String(e[t]).match(r))throw new Error("".concat(t," do not match ").concat(this.regexL[t]))}return e}},{key:"length",value:function(e){if(this.objectToParams(e).length>8012)throw new Error("Hit was too long, hit length must under 8012");return e}},{key:"pa",value:function(e,t,r){}},{key:"checkValidateParamater",value:function(e){for(var t in e)if(this.isString(t)&&String(e[t]).match(/@?&=/i))throw new Error("Can not contains '@?&=' in the params");return e}},{key:"objectToParams",value:function(e){return Object.keys(e).map((function(t){return t+"="+e[t]})).join("&")}},{key:"init",value:function(e){var t=[];return t.push(this.checkRequire),t.push(this.regex),t.push(this.checkValidateParamater),t.push(this.length),t}},{key:"resetTodefault",value:function(){this.requireList=["tid","v"],this.regexL={tid:"UA-[0-9]*-[0-9]*"}}},{key:"isString",value:function(e){return"string"==typeof e||e instanceof String}}])&&S(t.prototype,r),n&&S(t,n),e}();function j(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function x(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?j(Object(r),!0).forEach((function(t){k(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):j(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function k(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function L(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function E(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,c=e[Symbol.iterator]();!(n=(a=c.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==c.return||c.return()}finally{if(o)throw i}}return r}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function A(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function D(e){return(D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function T(e){return"object"!==D(e)?"Error, this is not a object":!!e.hasOwnProperty("list")}function C(e){var t=new Map,r=[];if(e.every(T)){var n=!0,o=!1,i=void 0;try{for(var a,c=e[Symbol.iterator]();!(n=(a=c.next()).done);n=!0){var u=a.value;u.hasOwnProperty("list")&&r.push(u.list)}}catch(e){o=!0,i=e}finally{try{n||null==c.return||c.return()}finally{if(o)throw i}}var s=A(new Set(r)),l=!0,f=!1,y=void 0;try{for(var p,h=s.entries()[Symbol.iterator]();!(l=(p=h.next()).done);l=!0){var g=E(p.value,2),d=g[0],v=g[1];t.set(v,d+1)}}catch(e){f=!0,y=e}finally{try{l||null==h.return||h.return()}finally{if(f)throw y}}return t.set("type","every"),t}if(e.some(T)){var m=!0,b=!1,w=void 0;try{for(var O,S=e.entries()[Symbol.iterator]();!(m=(O=S.next()).done);m=!0){var P=E(O.value,2),j=(P[0],P[1]);j.hasOwnProperty("list")&&r.push(j.list),r.push("_not_set_")}}catch(e){b=!0,w=e}finally{try{m||null==S.return||S.return()}finally{if(b)throw w}}var x=A(new Set(r)),k=!0,L=!1,D=void 0;try{for(var C,M=x.entries()[Symbol.iterator]();!(k=(C=M.next()).done);k=!0){var U=E(C.value,2),q=U[0],R=U[1];t.set(R,q+1)}}catch(e){L=!0,D=e}finally{try{k||null==M.return||M.return()}finally{if(L)throw D}}return t.set("type","some"),t}r.length==e.length&&t.set("len",I.length);var I=A(new Set(r)),N=!0,G=!1,_=void 0;try{for(var H,W=I.entries()[Symbol.iterator]();!(N=(H=W.next()).done);N=!0){var B=E(H.value,2),z=B[0],J=B[1];t.set(J,z+1)}}catch(e){G=!0,_=e}finally{try{N||null==W.return||W.return()}finally{if(G)throw _}}return t.set("type","none"),t}function M(e){return 0===Object.keys(e).length&&e.constructor===Object}var U=new(function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.objectEntriesPolyfilll()}var t,r,o;return t=e,(r=[{key:"objectEntriesPolyfilll",value:function(){Object.entries||(Object.entries=function(e){for(var t=Object.keys(e),r=t.length,n=new Array(r);r--;)n[r]=[t[r],e[t[r]]];return n})}},{key:"impressions",value:function(e,t,r){if(!e.hasOwnProperty("impressions"))return{};if(!Array.isArray(e.impressions))throw new Error("impressions must be a object array");var o=x({},n.productScopeCD,{},t),i=x({},n.productScopeCM,{},r),a={},c=C(e.impressions).get("type"),u=C(e.impressions);if(u.delete("type"),"every"==c){var s=!0,l=!1,f=void 0;try{for(var y,p=u.entries()[Symbol.iterator]();!(s=(y=p.next()).done);s=!0){var h=E(y.value,2),g=h[0],d=h[1];a["il".concat(d,"nm")]=g}}catch(e){l=!0,f=e}finally{try{s||null==p.return||p.return()}finally{if(l)throw f}}var v=!0,m=!1,b=void 0;try{for(var w,O=e.impressions.entries()[Symbol.iterator]();!(v=(w=O.next()).done);v=!0){var S=E(w.value,2),P=S[0],j=S[1],k=u.get(j.list)||P+1;if(j.hasOwnProperty("name")&&(a["il".concat(k,"pi").concat(P+1,"nm")]=j.name),j.hasOwnProperty("id")&&(a["il".concat(k,"pi").concat(P+1,"id")]=j.id),j.hasOwnProperty("category")&&(a["il".concat(k,"pi").concat(P+1,"ca")]=j.category),j.hasOwnProperty("brand")&&(a["il".concat(k,"pi").concat(P+1,"br")]=j.brand),j.hasOwnProperty("category")&&(a["il".concat(k,"pi").concat(P+1,"ca")]=j.category),j.hasOwnProperty("variant")&&(a["il".concat(k,"pi").concat(P+1,"va")]=j.variant),j.hasOwnProperty("price")&&(a["il".concat(k,"pi").concat(P+1,"pr")]=j.price),j.hasOwnProperty("position")&&(a["il".concat(k,"pi").concat(P+1,"ps")]=j.position),!M(o))for(var L in o)L&&o[L]&&(a["il".concat(k,"pi").concat(P+1,"cd").concat(L)]=o[L]);if(!M(i))for(var A in i)A&&i[A]&&(a["il".concat(k,"pi").concat(P+1,"cm").concat(A)]=i[A])}}catch(e){m=!0,b=e}finally{try{v||null==O.return||O.return()}finally{if(m)throw b}}return a}if("some"==c){var D=!0,T=!1,U=void 0;try{for(var q,R=u.entries()[Symbol.iterator]();!(D=(q=R.next()).done);D=!0){var I=E(q.value,2),N=I[0],G=I[1];"string"==typeof N&&(a["il".concat(G,"nm")]=N);var _=!0,H=!1,W=void 0;try{for(var B,z=e.impressions.entries()[Symbol.iterator]();!(_=(B=z.next()).done);_=!0){var J=E(B.value,2),K=J[0],X=J[1],F=u.get(X.list)||u.get("_not_set_");if(X.hasOwnProperty("name")&&(a["il".concat(F,"pi").concat(K+1,"nm")]=X.name),X.hasOwnProperty("id")&&(a["il".concat(F,"pi").concat(K+1,"id")]=X.id),X.hasOwnProperty("category")&&(a["il".concat(F,"pi").concat(K+1,"ca")]=X.category),X.hasOwnProperty("brand")&&(a["il".concat(F,"pi").concat(K+1,"br")]=X.brand),X.hasOwnProperty("category")&&(a["il".concat(F,"pi").concat(K+1,"ca")]=X.category),X.hasOwnProperty("variant")&&(a["il".concat(F,"pi").concat(K+1,"va")]=X.variant),X.hasOwnProperty("price")&&(a["il".concat(F,"pi").concat(K+1,"pr")]=X.price),X.hasOwnProperty("position")&&(a["il".concat(F,"pi").concat(K+1,"ps")]=X.position),!M(o))for(var V in o)V&&o[V]&&(a["il".concat(F,"pi").concat(K+1,"cd").concat(V)]=o[V]);if(!M(i))for(var $ in i)$&&i[$]&&(a["il".concat(F,"pi").concat(K+1,"cm").concat($)]=i[$])}}catch(e){H=!0,W=e}finally{try{_||null==z.return||z.return()}finally{if(H)throw W}}}}catch(e){T=!0,U=e}finally{try{D||null==R.return||R.return()}finally{if(T)throw U}}return a}var Y=!0,Q=!1,Z=void 0;try{for(var ee,te=e.impressions.entries()[Symbol.iterator]();!(Y=(ee=te.next()).done);Y=!0){var re=E(ee.value,2),ne=re[0],oe=re[1];if(oe.hasOwnProperty("name")&&(a["il".concat(1,"pi").concat(ne+1,"nm")]=oe.name),oe.hasOwnProperty("id")&&(a["il".concat(1,"pi").concat(ne+1,"id")]=oe.id),oe.hasOwnProperty("category")&&(a["il".concat(1,"pi").concat(ne+1,"ca")]=oe.category),oe.hasOwnProperty("brand")&&(a["il".concat(1,"pi").concat(ne+1,"br")]=oe.brand),oe.hasOwnProperty("category")&&(a["il".concat(1,"pi").concat(ne+1,"ca")]=oe.category),oe.hasOwnProperty("variant")&&(a["il".concat(1,"pi").concat(ne+1,"va")]=oe.variant),oe.hasOwnProperty("price")&&(a["il".concat(1,"pi").concat(ne+1,"pr")]=oe.price),oe.hasOwnProperty("position")&&(a["il".concat(1,"pi").concat(ne+1,"ps")]=oe.position),!M(o))for(var ie in o)ie&&o[ie]&&(a["il".concat(1,"pi").concat(ne+1,"cd").concat(ie)]=o[ie]);if(!M(i))for(var ae in i)ae&&i[ae]&&(a["il".concat(1,"pi").concat(ne+1,"cm").concat(ae)]=i[ae])}}catch(e){Q=!0,Z=e}finally{try{Y||null==te.return||te.return()}finally{if(Q)throw Z}}return a}},{key:"promotions",value:function(e){if(!e.hasOwnProperty("promotions"))return{};if(!Array.isArray(e.promotions))throw new Error("promotion must be a object array");var t={},r=!0,n=!1,o=void 0;try{for(var i,a=e.promotions.entries()[Symbol.iterator]();!(r=(i=a.next()).done);r=!0){var c=E(i.value,2),u=c[0],s=c[1];s.hasOwnProperty("id")&&(t["promo".concat(u+1,"id")]=s.id),s.hasOwnProperty("name")&&(t["promo".concat(u+1,"nm")]=s.name),s.hasOwnProperty("creative")&&(t["promo".concat(u+1,"cr")]=s.creative),s.hasOwnProperty("position")&&(t["promo".concat(u+1,"ps")]=s.position)}}catch(e){n=!0,o=e}finally{try{r||null==a.return||a.return()}finally{if(n)throw o}}return t}},{key:"products",value:function(e,t,r){if(!e.hasOwnProperty("products"))return{};if(!Array.isArray(e.products))throw new Error("products must be a object array");var o=x({},n.productScopeCD,{},t),i=x({},n.productScopeCM,{},r),a={},c=!0,u=!1,s=void 0;try{for(var l,f=e.products.entries()[Symbol.iterator]();!(c=(l=f.next()).done);c=!0){var y=E(l.value,2),p=y[0],h=y[1];if(h.hasOwnProperty("id")&&(a["pr".concat(p+1,"id")]=h.id),h.hasOwnProperty("name")&&(a["pr".concat(p+1,"nm")]=h.name),h.hasOwnProperty("brand")&&(a["pr".concat(p+1,"br")]=h.brand),h.hasOwnProperty("price")&&(a["pr".concat(p+1,"pr")]=h.price),h.hasOwnProperty("category")&&(a["pr".concat(p+1,"ca")]=h.category),h.hasOwnProperty("variant")&&(a["pr".concat(p+1,"va")]=h.variant),h.hasOwnProperty("quantity")&&(a["pr".concat(p+1,"qt")]=h.quantity),h.hasOwnProperty("coupon")&&(a["pr".concat(p+1,"cc")]=h.coupon),h.hasOwnProperty("position")&&(a["pr".concat(p+1,"ps")]=h.position),!M(o))for(var g in o)g&&o[g]&&(a["pr".concat(p+1,"cd").concat(g)]=o[g]);if(!M(i))for(var d in i)d&&i[d]&&(a["pr".concat(p+1,"cm").concat(d)]=i[d])}}catch(e){u=!0,s=e}finally{try{c||null==f.return||f.return()}finally{if(u)throw s}}return a}},{key:"checkEEC",value:function(e,t,r){if(e.hasOwnProperty("impressions"))var n=this.impressions(e,t,r);if(e.hasOwnProperty("promotions"))var o=this.promotions(e,t,r);if(e.hasOwnProperty("products"))var i=this.products(e,t,r);return x({},n,{},o,{},i)}}])&&L(t.prototype,r),o&&L(t,o),e}());function q(e){return(q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function R(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function I(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function N(e,t,r){return t&&I(e.prototype,t),r&&I(e,r),e}var G={1001:"发现栏小程序主入口",1005:"顶部搜索框的搜索结果页",1006:"发现栏小程序主入口搜索框的搜索结果页",1007:"单人聊天会话中的小程序消息卡片",1008:"群聊会话中的小程序消息卡片",1011:"扫描二维码",1012:"长按图片识别二维码",1013:"手机相册选取二维码",1014:"小程序模版消息",1017:"前往体验版的入口页",1019:"微信钱包",1020:"公众号profile页相关小程序列表",1022:"聊天顶部置顶小程序入口",1023:"安卓系统桌面图标",1024:"小程序profile页",1025:"扫描一维码",1026:"附近小程序列表",1027:"顶部搜索框搜索结果页“使用过的小程序”列表",1028:"我的卡包",1029:"卡券详情页",1030:"自动化测试下打开小程序",1031:"长按图片识别一维码",1032:"手机相册选取一维码",1034:"微信支付完成页",1035:"公众号自定义菜单",1036:"App 分享消息卡片",1037:"小程序打开小程序",1038:"从另一个小程序返回",1039:"摇电视",1042:"添加好友搜索框的搜索结果页",1043:"公众号模板消息",1044:"带shareTicket的小程序消息卡片",1045:"朋友圈广告",1046:"朋友圈广告详情页",1047:"扫描小程序码",1048:"长按图片识别小程序码",1049:"手机相册选取小程序码",1052:"卡券的适用门店列表",1053:"搜一搜的结果页",1054:"顶部搜索框小程序快捷入口",1056:"音乐播放器菜单",1057:"钱包中的银行卡详情页",1058:"公众号文章",1059:"体验版小程序绑定邀请页",1064:"微信连Wifi状态栏",1067:"公众号文章广告",1068:"附近小程序列表广告",1069:"移动应用",1071:"钱包中的银行卡列表页",1072:"二维码收款页面",1073:"客服消息列表下发的小程序消息卡片",1074:"公众号会话下发的小程序消息卡片",1077:"摇周边",1078:"连Wi-Fi成功页",1079:"微信游戏中心",1081:"客服消息下发的文字链",1082:"公众号会话下发的文字链",1084:"朋友圈广告原生页",1089:"微信聊天主界面下拉",1090:"长按小程序右上角菜单唤出最近使用历史",1091:"公众号文章商品卡片",1092:"城市服务入口",1095:"小程序广告组件",1096:"聊天记录",1097:"微信支付签约页",1099:"页面内嵌插件",1102:"公众号 profile 页服务预览",1103:"发现栏小程序主入口,「我的小程序」列表(基础库2.2.4版本起废弃)",1104:"微信聊天主界面下拉,「我的小程序」栏(基础库2.2.4版本起废弃)",1106:"聊天主界面下拉,从顶部搜索结果页,打开小程序",1107:"订阅消息,打开小程序",1113:"安卓手机负一屏,打开小程序(三星)",1114:"安卓手机侧边栏,打开小程序(三星)",1124:"扫“一物一码”打开小程序",1125:"长按图片识别“一物一码”",1126:"扫描手机相册中选取的“一物一码”",1129:"微信爬虫访问 详情",1131:"浮窗打开小程序",1146:"地理位置信息打开出行类小程序",1148:"1148",default:"unknow scene value"},_=new(function(){function e(){R(this,e),this.currentMap={},this.currentOutput=""}return N(e,[{key:"getMap",value:function(){return this.map}},{key:"Mapping",value:function(e,t){var r=e.find((function(e){return t.match(new RegExp(e.inputRegex,"i"))}))||e.find((function(e){return e.default}))||{};return this.currentMap=r,this.currentOutput=r.outputName||r.default,r.outputName||t}},{key:"getOutput",value:function(){return this.currentOutput}}]),e}()),H=function(){function e(){R(this,e)}return N(e,[{key:"construct",value:function(e){this.onWechat=this.isOnwechat(),this.SMapping=e||G}},{key:"map",value:function(e,t){return _.Mapping(e,t)}},{key:"isOnwechat",value:function(){return"object"==("undefined"==typeof wx?"undefined":q(wx))}},{key:"mappingSceneToCN",value:function(e,t){var r=t||this.SMapping;return this.onWechat?r[e]||r.default:""}},{key:"generateUA",value:function(){if("object"==("undefined"==typeof wx?"undefined":q(wx))){var e=wx.getSystemInfoSync(),t=e.system.toLowerCase().indexOf("android")>-1,r=!t&&-1==e.model.toLowerCase().indexOf("iphone");return t?"Mozilla/5.0 (Linux; U; "+e.system+"; "+e.model+" Build/000000) AppleWebKit/537.36 (KHTML, like Gecko)Verreson/4.0 Chrome/49.0.0.0 Mobile Safari/537.36 MicroMessenger/"+e.version:r?"Mozilla/5.0 (iPad; CPU OS "+e.system.replace(/^.*?([0-9.]+).*?$/,(function(e,t){return t})).replace(/\./g,"_")+" like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/10A406 MicroMessenger/"+e.version:"Mozilla/5.0 (iPhone; CPU iPhone OS "+e.system.replace(/^.*?([0-9.]+).*?$/,(function(e,t){return t})).replace(/\./g,"_")+" like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Mobile/14C92 MicroMessenger/"+e.version}return"object"==("undefined"==typeof navigator?"undefined":q(navigator))?navigator.userAgent:""}},{key:"getCurrentPageUrlWithArgs",value:function(){var e=getCurrentPages(),t=e[e.length-1],r=t.route,n=t.options,o=r+"?";for(var i in n){o+=i+"="+n[i]+"&"}return o=o.substring(0,o.length-1)}},{key:"getCurrentPageUrl",value:function(){var e=getCurrentPages();return e[e.length-1].route}}]),e}();function W(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function B(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?W(Object(r),!0).forEach((function(t){z(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):W(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function z(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function J(e){return(J="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function K(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function X(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var F=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};K(this,e),this.weUtils=new H,this.default=this.create(t),this.interceptors={request:new i},this.validation=new P,this.res=new b(this.default),this.log=this.getLog()}var t,r,o;return t=e,(r=[{key:"getLog",value:function(){if("object"==("undefined"==typeof wx?"undefined":J(wx)))return wx.getStorageSync(this.default.LoggerName);if(document.URL)try{return JSON.parse(window.localStorage.getItem(this.default.LoggerName))}catch(e){return window.localStorage.getItem(this.default.LoggerName)}}},{key:"getLogByHitId",value:function(e){return this.log.filter((function(t){return t.hitID==e}))||void 0}},{key:"removeLogByHitId",value:function(e){var t=this.log.filter((function(t){return t.hitID!=e}));return this.setLog(t),t}},{key:"setLog",value:function(e){if("object"==("undefined"==typeof wx?"undefined":J(wx)))return wx.setStorage({key:this.default.LoggerName,data:e});if(document.URL)try{return window.localStorage.setItem(this.default.LoggerName,JSON.stringify(e))}catch(e){console.log(e)}}},{key:"get",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=this._preprocessArgs("GET",t);return this.request(n)}},{key:"post",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=this._preprocessArgs("POST",t);return n?this.request(n):n}},{key:"create",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("{}"===JSON.stringify(e))throw new Error("Error : config could not empty!");var t=B({},JSON.parse(JSON.stringify(n)),{},e);return t.url=this.getEnvURL(t),"object"==("undefined"==typeof wx?"undefined":J(wx))&&(t.data.ua=this.weUtils.generateUA()),f.merge(t.data,t.defaultGaData),t}},{key:"_preprocessArgs",value:function(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];var i=n.flat();return 0==i.length&&(t={method:e,url:this.default.url}),"object"==J(i[0])&&(t={method:e,url:this.default.url,data:i[0]}),t}},{key:"getEnvURL",value:function(e){if(e.proxyURL)return e.proxyURL;if(e.debug)return e.GAURL;if(e.debug&&e.validateHit)return e.GAdebugURL;if(!e.debug&&!e.proxyURL)throw new Error("if you are on the prod env, then Proxy URL require")}},{key:"request",value:function(e){var t=f.deepClone(e);e.hitID=f.generateUUID();var r=e,n=t.method,o=t.data;(r=f.merge(r,this.default)).method=n,r.data=f.merge(r.data,o);var i=f.deepClone(r);if(i.data.hasOwnProperty("productScopeCD")){var a=i.data.productScopeCD||{};delete i.data.productScopeCD}if(r.data.hasOwnProperty("productScopeCM")){var c=i.data.productScopeCM||{};delete i.data.productScopeCM}var u=U.checkEEC(i.data,a,c);i.data=Object.assign(i.data,u),i.data.hasOwnProperty("products")&&delete i.data.products,i.data.hasOwnProperty("promotions")&&delete i.data.promotions,i.data.hasOwnProperty("impressions")&&delete i.data.impressions,i.validateParams&&this.validation.use(i.data);var s=i.transferRequest;return s&&(i=s(i)),this.interceptors.request.list().forEach((function(e){i=e(i)})),this.res.send(i)}}])&&X(t.prototype,r),o&&X(t,o),e}();t.default=F}]); //# sourceMappingURL=ga.min.map