淘宝网 - 淘 我喜欢 var g_config = window.g_config || {}; g_config.webww = false; g_config.jstracker2 = g_config.jstracker2 || {}; g_config.jstracker2.sampling = 1; g_config.jstracker2.p_sampling = 1; g_config.jstracker2.collection_url =
'https://error.taobao.com/app/tbhome/common/error.html'; g_config.jstracker2.webww = false; g_config.jstracker2.whiteScreen = {}; g_config.jstracker2.whiteScreen.uploadInnerHtml = true; g_config.jstracker2.whiteScreen.checkWhenUnload = true; function (e) { var t = {}; function n { if (t[r]) return t[r].exports; var o = t[r] = {
i: r,
l: 1,
exports: {} }; return e[r].call(o.exports, o, o.exports, n), o.l = 0, o.exports } n.m = e, n.c = t, n.d = function (e, t, r) { n.o(e, t) || Object.defineProperty(e, t, {
configurable: 1,
enumerable: 0,
get: r }) } , n.n = function (e) { var t = e && e.__esModule ? function () { return e[default]
} : function () { return e } ; return n.d(t, a, t), t } , n.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t) } , n.p = , n(n.s = 10) }([function (e, t, n) { use strict; var r = 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 } , o = {
timeOrigin: window.performance ? parseInt(Date.now() -
performance.now()) : Date.now() } , i = {} , a = null , s = 1 , c = NORMAL; function u(e) { return string == typeof e ? e.split(.).splice(0, 3).map(function (e) { return 000.substr(0, 3 - e.length) e
}).join(.) : } function l(e) { return function == typeof e } function f() { return -1 = location.href.indexOf(jt_debug) } var d = null; function p(e) { if (null == d) return d; e = e || navigator.userAgent, d = []; var t = /(Android|iPhone;|iPad;)/.exec(e); return t && t.length >= 2 ? (d.push(Android === t[1] ?
Android : iOS), (t = /AliApp\((.*?)\/([\d\.]*?)\)/.exec(e)) && t.length >= 3 && (d = d.concat(t.slice(1, 3)), (t = /WindVane\/([\d\.] )/.exec(e)) && t.length >= 2 &&
d.push(t[1]))) : d.push(Other), d } function m() { if (a) return a; var e = p(); if (e && e[2]) { var t = window.lib; return a = t && t.windvane && l(t.windvane.call) } return a = 1 } function g() { } var v = [[Android, TB, 10.10.10]] , h = [[Android, TB, 10.16.10], [iOS, TB, 10.16.10]]; function y(e) { var t = p() , n = null; for (var r in e) if ( == (n = e[r])) if (r 2 && arguments[2] == undefined && arguments[2] },
closeTlog: function (e) { if (e) { var t = function () { e.stageID ? w(WVFalco, finishStage,
e) : e.phaseID && w(WVFalco, finishPhase, e) }; e.property ? w(WVFalco, addProperties, e,
t) : t() } },
reportTlog: function (e, t) { var n = e.tlogLayer , r = n === undefined ?
null : n , o = e.code , i = o === undefined ?
null : o , a = e.phaseID; if ( (r && i && m() && v.some(y))) return l(t) && t(null); var s = null , c = null; for (var u in phase == r ? (s = startPhase, c = {
phaseName: i,
property: {}
}) : (s = startStage, c = {
stageName: i,
phaseID: a,
property: {} }), e) -1 == [tlogLayer, code, phaseID].indexOf(u) && (c.property[u] = e[u]); w(WVFalco, s, c, t, function (e) { f() && console.warn(e), l(t) && t() }) },
reportWVTLog: function (e, t, n) { if (e && object === (void 0 === e ?
undefined : r(e)) && e.event && m() && h.some(y)) { var o = function (t) { f() &&
console.error(上报tlog失败:, e), l(n) && n(t) } , i = lib.windvane.call(WVNativeLog, write, e, function (n) { f() &&
console.log(上报tlog成功:, e), l(t) && t(n) }, o); i && i[catch] && i[catch](o) } else f() && ( e && console.error(jstracker上报tlog需要传入参数), (e instanceof Object) && console.error(jstracker上报tlog, 传入参数需要为Object), e.event && console.error(jstracker上报tlog, code字段为必填字段), m() && console.error(tlog上报无Windvane环境), h.some(y) && console.error(手淘版本较低无法上传tlog,仅支持10.16.10以上版本)) },
isWindvane: m,
getAliAppVers: p,
isMatchApp: y,
callWindvane: w,
getMode: function () { return c },
setMode: function (e) { if (e = (e || normal).toUpperCase(), c == e && -1 == b.indexOf(e)) { var t = c; c = e, this.boradcast(_change_mode, {
nextMode: c,
preMode: t }) } },
event: {
WATCH:
jstracker:watch },
get: function (e) { return o[e] },
set: function (e, t) { o[e] = t },
subscribe: function (e, t, n) { if (e) { if ( l(t)) throw new Error(event handler must be a function.); i[e] || (i[e] = []), i[e].push({
hander: t,
scope: n }) } },
boradcast: function (e, t) { var n = i[e] , r = 0; if (undefined == n) { var o = [].slice.call(arguments, 0); o = o.length > 2 ? o.splice(2, o.length -
1) : [], o = [t].concat(o), r = n.length; for (var a = 0; a 2083 ?
o : o & n },
now: function () { return window.performance && window.performance.now ?
window.performance.now() : Date && l(Date.now) ?
Date.now() : (new Date).getTime() },
onload: function (e) { e