mta_analysis.js 5.6 KB

1
  1. var MTA_CONFIG={app_id:"",event_id:"",api_base:"https://pingtas.qq.com/pingd",prefix:"_mta_",version:"1.3.10",stat_share_app:!1,stat_pull_down_fresh:!1,stat_reach_bottom:!1,stat_param:!0};function getNetworkType(t){wx.getNetworkType({success:function(a){t(a.networkType)}})}function getSystemInfo(){var t=wx.getSystemInfoSync();return{adt:encodeURIComponent(t.model),scl:t.pixelRatio,scr:t.windowWidth+"x"+t.windowHeight,lg:t.language,fl:t.version,jv:encodeURIComponent(t.system),tz:encodeURIComponent(t.platform)}}function getUID(){try{return wx.getStorageSync(MTA_CONFIG.prefix+"auid")}catch(t){}}function setUID(){try{var t=getRandom();return wx.setStorageSync(MTA_CONFIG.prefix+"auid",t),t}catch(t){}}function getSID(){try{return wx.getStorageSync(MTA_CONFIG.prefix+"ssid")}catch(t){}}function setSID(){try{var t="s"+getRandom();return wx.setStorageSync(MTA_CONFIG.prefix+"ssid",t),t}catch(t){}}function getRandom(t){for(var a=[0,1,2,3,4,5,6,7,8,9],e=10;1<e;e--){var n=Math.floor(10*Math.random()),r=a[n];a[n]=a[e-1],a[e-1]=r}for(e=n=0;5>e;e++)n=10*n+a[e];return(t||"")+(n+"")+ +new Date}function getPagePath(){try{var t=getCurrentPages(),a="/";return 0<t.length&&(a=t.pop().__route__),a}catch(t){console.log("get current page path error:"+t)}}function getMainInfo(){var t,a={dm:"wechat.apps.xx",url:encodeURIComponent(getPagePath()+getQuery(MTA.Data.pageQuery)),pvi:"",si:"",ty:0};return a.pvi=((t=getUID())||(t=setUID(),a.ty=1),t),a.si=function(){var t=getSID();return t||(t=setSID()),t}(),a}function getBasicInfo(){var t=getSystemInfo();return getNetworkType((function(t){try{wx.setStorageSync(MTA_CONFIG.prefix+"ntdata",t)}catch(t){}})),t.ct=wx.getStorageSync(MTA_CONFIG.prefix+"ntdata")||"4g",t}function getExtentInfo(){var t,a=MTA.Data.userInfo,e=[];for(t in a)a.hasOwnProperty(t)&&e.push(t+"="+a[t]);return a=e.join(";"),{r2:MTA_CONFIG.app_id,r4:"wx",ext:"v="+MTA_CONFIG.version+(null!==a&&""!==a?";ui="+encodeURIComponent(a):"")}}function getQuery(t){if(!MTA_CONFIG.stat_param||!t)return"";t=ignoreParams(t);var a,e=[];for(a in t)e.push(a+"="+t[a]);return 0<e.length?"?"+e.join("&"):""}function ignoreParams(t){if(1>MTA_CONFIG.ignore_params.length)return t;var a,e={};for(a in t)0<=MTA_CONFIG.ignore_params.indexOf(a)||(e[a]=t[a]);return e}function initOnload(){var t=Page;Page=function(a){var e=a.onLoad;a.onLoad=function(t){e&&e.call(this,t),MTA.Data.lastPageQuery=MTA.Data.pageQuery,MTA.Data.pageQuery=t,MTA.Data.lastPageUrl=MTA.Data.pageUrl,MTA.Data.pageUrl=getPagePath(),MTA.Data.show=!1,MTA.Page.init()},t(a)}}var MTA={App:{init:function(t){"appID"in t&&(MTA_CONFIG.app_id=t.appID),"eventID"in t&&(MTA_CONFIG.event_id=t.eventID),"statShareApp"in t&&(MTA_CONFIG.stat_share_app=t.statShareApp),"statPullDownFresh"in t&&(MTA_CONFIG.stat_pull_down_fresh=t.statPullDownFresh),"statReachBottom"in t&&(MTA_CONFIG.stat_reach_bottom=t.statReachBottom),"ignoreParams"in t&&(MTA_CONFIG.ignore_params=t.ignoreParams),"statParam"in t&&(MTA_CONFIG.stat_param=t.statParam),setSID();try{"lauchOpts"in t&&(MTA.Data.lanchInfo=t.lauchOpts,MTA.Data.lanchInfo.landing=1)}catch(t){}"autoReport"in t&&t.autoReport&&initOnload()}},Page:{init:function(){var t,a=getCurrentPages()[getCurrentPages().length-1];a.onShow&&(t=a.onShow,a.onShow=function(){if(!0===MTA.Data.show){var a=MTA.Data.lastPageQuery;MTA.Data.lastPageQuery=MTA.Data.pageQuery,MTA.Data.pageQuery=a,MTA.Data.lastPageUrl=MTA.Data.pageUrl,MTA.Data.pageUrl=getPagePath()}MTA.Data.show=!0,MTA.Page.stat(),t.apply(this,arguments)}),MTA_CONFIG.stat_pull_down_fresh&&a.onPullDownRefresh&&function(){var t=a.onPullDownRefresh;a.onPullDownRefresh=function(){MTA.Event.stat(MTA_CONFIG.prefix+"pulldownfresh",{url:a.__route__}),t.apply(this,arguments)}}(),MTA_CONFIG.stat_reach_bottom&&a.onReachBottom&&function(){var t=a.onReachBottom;a.onReachBottom=function(){MTA.Event.stat(MTA_CONFIG.prefix+"reachbottom",{url:a.__route__}),t.apply(this,arguments)}}(),MTA_CONFIG.stat_share_app&&a.onShareAppMessage&&function(){var t=a.onShareAppMessage;a.onShareAppMessage=function(){return MTA.Event.stat(MTA_CONFIG.prefix+"shareapp",{url:a.__route__}),t.apply(this,arguments)}}()},multiStat:function(t,a){if(1==a)MTA.Page.stat(t);else{var e=getCurrentPages()[getCurrentPages().length-1];e.onShow&&function(){var a=e.onShow;e.onShow=function(){MTA.Page.stat(t),a.call(this,arguments)}}()}},stat:function(t){if(""!=MTA_CONFIG.app_id){var a=[],e=getExtentInfo();if(t&&(e.r2=t),t=[getMainInfo(),e,getBasicInfo()],MTA.Data.lanchInfo){t.push({ht:MTA.Data.lanchInfo.scene}),MTA.Data.pageQuery&&MTA.Data.pageQuery._mta_ref_id&&t.push({rarg:MTA.Data.pageQuery._mta_ref_id});try{1==MTA.Data.lanchInfo.landing&&(e.ext+=";lp=1",MTA.Data.lanchInfo.landing=0)}catch(t){}}t.push({rdm:"/",rurl:0>=MTA.Data.lastPageUrl.length?MTA.Data.pageUrl+getQuery(MTA.Data.lastPageQuery):encodeURIComponent(MTA.Data.lastPageUrl+getQuery(MTA.Data.lastPageQuery))}),t.push({rand:+new Date}),e=0;for(var n=t.length;e<n;e++)for(var r in t[e])t[e].hasOwnProperty(r)&&a.push(r+"="+(void 0===t[e][r]?"":t[e][r]));wx.request({url:MTA_CONFIG.api_base+"?"+a.join("&").toLowerCase()})}}},Event:{stat:function(t,a){if(""!=MTA_CONFIG.event_id){var e=[],n=getMainInfo(),r=getExtentInfo();n.dm="wxapps.click",n.url=t,r.r2=MTA_CONFIG.event_id;var o,s=void 0===a?{}:a,i=[];for(o in s)s.hasOwnProperty(o)&&i.push(encodeURIComponent(o)+"="+encodeURIComponent(s[o]));for(s=i.join(";"),r.r5=s,s=0,r=(n=[n,r,getBasicInfo(),{rand:+new Date}]).length;s<r;s++)for(var p in n[s])n[s].hasOwnProperty(p)&&e.push(p+"="+(void 0===n[s][p]?"":n[s][p]));wx.request({url:MTA_CONFIG.api_base+"?"+e.join("&").toLowerCase()})}}},Data:{userInfo:null,lanchInfo:null,pageQuery:null,lastPageQuery:null,pageUrl:"",lastPageUrl:"",show:!1}};module.exports=MTA;