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