ald-stat.js 8.9 KB
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):n.Ald=t()}(this,function(){function n(n){this.app=n}function t(t){O=t,this.aldstat=new n(this),y("app","launch")}function o(n){if(O=n,C=n.query.ald_share_src,F=n.query.aldsrc||"",j=n.query.ald_share_src,U=Date.now(),A=Date.now(),!tn){I=""+Date.now()+Math.floor(1e7*Math.random()),E=!1;try{wx.setStorageSync("ald_ifo",!1)}catch(n){}}tn=!1,0!==b&&Date.now()-b>3e5&&(T=""+Date.now()+Math.floor(1e7*Math.random()),A=Date.now()),n.query.ald_share_src&&"1044"==n.scene&&n.shareTicket?wx.getShareInfo({shareTicket:n.shareTicket,success:function(n){G=n,_("event","ald_share_click",JSON.stringify(n))}}):n.query.ald_share_src&&_("event","ald_share_click",1),""===K&&wx.getSetting({withCredentials:!0,success:function(n){if(n.authSetting["scope.userInfo"]){wx.getUserInfo({withCredentials:!0,success:function(n){var t=p();K=n,t.ufo=w(n),q=g(n.userInfo.avatarUrl.split("/")),d(t)}})}}}),y("app","show")}function e(){b=Date.now(),""===K&&wx.getSetting({success:function(n){n.authSetting["scope.userInfo"]&&wx.getUserInfo({withCredentials:!0,success:function(n){K=n,q=g(n.userInfo.avatarUrl.split("/"));var t=p();t.ufo=w(n),d(t)}})}}),y("app","hide")}function a(n){J++,_("event","ald_error_message",n)}function r(n){X=n}function i(){z=this.route,Y=Date.now(),$=0,Z=0}function s(){S("page","hide"),Q=this.route}function c(){S("page","unload"),Q=this.route}function u(){$++}function l(){Z++}function f(n){var t=v(n.path),o={};for(var e in O.query)"ald_share_src"===e&&(o[e]=O.query[e]);var a="";if(a=n.path.indexOf("?")==-1?n.path+"?":n.path.substr(0,n.path.indexOf("?"))+"?",""!==t)for(var e in t)o[e]=t[e];o.ald_share_src?o.ald_share_src.indexOf(N)==-1&&o.ald_share_src.length<200&&(o.ald_share_src=o.ald_share_src+","+N):o.ald_share_src=N;for(var r in o)r.indexOf("ald")==-1&&(a+=r+"="+o[r]+"&");return n.path=a+"ald_share_src="+o.ald_share_src,_("event","ald_share_status",n),n}function h(){function n(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return n()+n()+n()+n()+n()+n()+n()+n()}function d(n){var t=n,o=0,e=0,a=function(r){e++,r?(n={},n.et=Date.now(),n.at=I,n.uu=N,n.v=P,n.ak=t.ak,n.life=t.life,n.ev=t.ev,n.err="err",n.status=o):(H++,n.at=I,n.et=Date.now(),n.uu=N,n.v=P,n.ak=M.app_key,n.wsr=O,n.oifo=E,n.rq_c=H),wx.request({url:"https://"+R+".aldwx.com/d.html",data:n,header:{AldStat:"MiniApp-Stat",waid:M.appid||"",wst:M.appsecret||"",se:L||"",op:k||"",img:q},method:"GET",success:function(n){o=n.statusCode,200!=n.statusCode&&e<=3&&a("errorsend")},fail:function(){e<=3&&a("errorsend")}})};a()}function p(){var n={};for(var t in V)n[t]=V[t];return n}function g(n){for(var t="",o=0;o<n.length;o++)n[o].length>t.length&&(t=n[o]);return t}function w(n){var t={};for(var o in n)"rawData"!=o&&"errMsg"!=o&&(t[o]=n[o]);return t}function v(n){if(n.indexOf("?")==-1)return"";var t={};return n.split("?")[1].split("&").forEach(function(n){var o=n.split("=")[1];t[n.split("=")[0]]=o}),t}function y(n,t){var o=p();o.ev=n,o.life=t,o.ec=J,o.st=B,F&&(o.qr=F,o.sr=F),C&&(o.usr=C),"launch"!==t&&(o.ahs=T),"hide"===t&&(o.hdr=Date.now()-A,o.dr=Date.now()-U,o.ifo=!!E),d(o)}function S(n,t){var o=p();o.ev=n,o.st=Date.now(),o.life=t,o.pp=z,o.pc=Q,o.dr=Date.now()-B,o.ndr=Date.now()-Y,o.rc=$,o.bc=Z,o.ahs=T,X&&"{}"!=JSON.stringify(X)&&(o.ag=X),F&&(o.qr=F,o.sr=F),C&&(o.usr=C),W||(nn=z,W=!0,o.ifp=W,o.fp=z),d(o)}function _(n,t,o){var e=p();e.ev=n,e.tp=t,e.st=B,o&&(e.ct=o),d(e)}function m(n,t,o){if(n[t]){var e=n[t];n[t]=function(n){o.call(this,n,t),e.call(this,n)}}else n[t]=function(n){o.call(this,n,t)}}function D(n){var r={};for(var i in n)"onLaunch"!==i&&"onShow"!==i&&"onHide"!==i&&"onError"!==i&&"onPageNotFound"!==i&&"onUnlaunch"!==i&&(r[i]=n[i]);r.onLaunch=function(o){t.call(this,o),"function"==typeof n.onLaunch&&n.onLaunch.call(this,o)},r.onShow=function(t){o.call(this,t),n.onShow&&"function"==typeof n.onShow&&n.onShow.call(this,t)},r.onHide=function(){e.call(this),n.onHide&&"function"==typeof n.onHide&&n.onHide.call(this)},r.onError=function(t){a.call(this,t),n.onError&&"function"==typeof n.onError&&n.onError.call(this,t)},r.onUnlaunch=function(){n.onUnlaunch&&"function"==typeof n.onUnlaunch&&n.onUnlaunch.call(this)},r.onPageNotFound=function(t){n.onPageNotFound&&"function"==typeof n.onPageNotFound&&n.onPageNotFound.call(this,t)},App(r)}function x(n){var t={};for(var o in n)"onLoad"!==o&&"onReady"!==o&&"onShow"!==o&&"onHide"!==o&&"onUnload"!==o&&"onPullDownRefresh"!==o&&"onReachBottom"!==o&&"onShareAppMessage"!==o&&"onPageScroll"!==o&&"onTabItemTap"!==o&&(t[o]=n[o]);t.onLoad=function(t){r.call(this,t),"function"==typeof n.onLoad&&n.onLoad.call(this,t)},t.onShow=function(t){i.call(this),"function"==typeof n.onShow&&n.onShow.call(this,t)},t.onHide=function(t){s.call(this),"function"==typeof n.onHide&&n.onHide.call(this,t)},t.onUnload=function(t){c.call(this),"function"==typeof n.onUnload&&n.onUnload.call(this,t)},t.onReady=function(t){n.onReady&&"function"==typeof n.onReady&&n.onReady.call(this,t)},t.onReachBottom=function(t){l(),n.onReachBottom&&"function"==typeof n.onReachBottom&&n.onReachBottom.call(this,t)},t.onPullDownRefresh=function(t){u(),n.onPullDownRefresh&&"function"==typeof n.onPullDownRefresh&&n.onPullDownRefresh.call(this,t)},t.onPageScroll=function(t){n.onPageScroll&&"function"==typeof n.onPageScroll&&n.onPageScroll.call(this,t)},t.onTabItemTap=function(t){n.onTabItemTap&&"function"==typeof n.onTabItemTap&&n.onTabItemTap.call(this,t)},n.onShareAppMessage&&"function"==typeof n.onShareAppMessage&&(t.onShareAppMessage=function(t){var o=n.onShareAppMessage.call(this,t);return void 0===o?(o={},o.path=this.route):void 0===o.path&&(o.path=this.route),f.call(this,o)}),Page(t)}var M=require("./ald-stat-conf"),P="7.0.0",R="log",I=""+Date.now()+Math.floor(1e7*Math.random()),T=""+Date.now()+Math.floor(1e7*Math.random()),A="",U=0,b=0,L="",k="",q="",H=0,O="",E="",N=function(){var n="";try{n=wx.getStorageSync("aldstat_uuid")}catch(t){n="uuid_getstoragesync"}if(n)E=!1;else{n=h(),E=!0;try{wx.setStorageSync("aldstat_uuid",n),wx.setStorageSync("ald_ifo",!0)}catch(n){wx.setStorageSync("aldstat_uuid","uuid_getstoragesync")}}return n}(),B=Date.now(),C="",F="",j="",J=0,G="",K="",V={},W=!1,z="",Q="",X="",Y="",Z=0,$=0,nn="",tn=!0;!function(){wx.request({url:"https://"+R+".aldwx.com/config/app.json",header:{AldStat:"MiniApp-Stat"},method:"GET",success:function(n){200===n.statusCode&&(n.data.version!=P&&console.warn("您的SDK不是最新版本,请尽快升级!"),n.data.warn&&console.warn(n.data.warn),n.data.error&&console.error(n.data.error))}})}();try{var on=wx.getSystemInfoSync();V.br=on.brand,V.pm=on.model,V.pr=on.pixelRatio,V.ww=on.windowWidth,V.wh=on.windowHeight,V.lang=on.language,V.wv=on.version,V.wvv=on.platform,V.wsdk=on.SDKVersion,V.sv=on.system}catch(n){}wx.getNetworkType({success:function(n){V.nt=n.networkType}}),wx.getSetting({success:function(n){n.authSetting["scope.userLocation"]?wx.getLocation({type:"wgs84",success:function(n){V.lat=n.latitude,V.lng=n.longitude,V.spd=n.speed}}):M.getLocation&&wx.getLocation({type:"wgs84",success:function(n){V.lat=n.latitude,V.lng=n.longitude,V.spd=n.speed}})}}),n.prototype.debug=function(n){_("debug","0",n)},n.prototype.warn=function(n){_("warn","1",n)},n.prototype.sendEvent=function(n,t){if(""!==n&&"string"==typeof n&&n.length<=255)if("string"==typeof t&&t.length<=255)_("event",n,t);else if("object"==typeof t){if(JSON.stringify(t).length>=255)return void console.error("自定义事件参数不能超过255个字符");_("event",n,JSON.stringify(t))}else void 0===t?_("event",n,!1):console.error("事件参数必须为String,Object类型,且参数长度不能超过255个字符");else console.error("事件名称必须为String类型且不能超过255个字符")},n.prototype.sendSession=function(n){if(""===n||!n)return void console.error("请传入从后台获取的session_key");if(""===M.appid||""===M.appsecret)return void console.error("请在配置文件中填写小程序的appid和appsecret!");L=n;var t=p();t.st=Date.now(),t.tp="session",t.ct="session",t.ev="event",""===K?wx.getSetting({success:function(n){n.authSetting["scope.userInfo"]?wx.getUserInfo({success:function(n){t.ufo=w(n),q=g(n.userInfo.avatarUrl.split("/")),""!==G&&(t.gid=G),d(t)}}):""!==G?(t.gid=G,d(t)):console.warn("用户未授权")}}):(t.ufo=K,""!==G&&(t.gid=G),d(t))},n.prototype.sendOpenid=function(n){if(""===n||!n)return void console.error("openID不能为空");k=n;var t=p();t.st=Date.now(),t.tp="openid",t.ev="event",t.ct="openid",d(t)};return M.plugin?{App:D,Page:x}:function(n){!function(){var n=App,h=Page;App=function(r){m(r,"onLaunch",t),m(r,"onShow",o),m(r,"onHide",e),m(r,"onError",a),n(r)},Page=function(n){var t=n.onShareAppMessage;m(n,"onLoad",r),m(n,"onUnload",c),m(n,"onShow",i),m(n,"onHide",s),m(n,"onReachBottom",l),m(n,"onPullDownRefresh",u),void 0!==t&&null!==t&&(n.onShareAppMessage=function(n){if(void 0!==t){var o=t.call(this,n);return void 0===o?(o={},o.path=this.route):void 0===o.path&&(o.path=this.route),f(o)}}),h(n)}}()}()});