You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Scan-Pay-H5/Utils/js/alipay.js

1998 lines
52 KiB

! function(U) {
(function(e) {
var t = !1,
n = e.Promise;
if (n) {
var r = null,
o = null;
try {
o = (r = n.resolve()).then
} catch (e) {}
r instanceof n && "function" == typeof o && !n.cast && (t = !0)
}
return t
})(U) || function() {
var e, t;
e = this, t = function() {
"use strict";
function c(e) {
return "function" == typeof e
}
var n = Array.isArray ? Array.isArray : function(e) {
return "[object Array]" === Object.prototype.toString.call(e)
},
r = 0,
t = void 0,
o = void 0,
u = function(e, t) {
f[r] = e, f[r + 1] = t, 2 === (r += 2) && (o ? o(p) : b())
},
e = "undefined" != typeof window ? window : void 0,
a = e || {},
i = a.MutationObserver || a.WebKitMutationObserver,
s = void 0 === U && "undefined" != typeof process && "[object process]" === {}.toString.call(
process),
l = "undefined" != typeof Uint8ClampedArray && "undefined" != typeof importScripts && "undefined" !=
typeof MessageChannel;
function d() {
var e = setTimeout;
return function() {
return e(p, 1)
}
}
var f = new Array(1e3);
function p() {
for (var e = 0; e < r; e += 2)(0, f[e])(f[e + 1]), f[e] = void 0, f[e + 1] = void 0;
r = 0
}
var h, m, g, v, b = void 0;
function y(e, t) {
var n = arguments,
r = this,
o = new this.constructor(P);
void 0 === o[w] && V(o);
var a, i = r._state;
return i ? (a = n[i - 1], u(function() {
return O(i, o, a, r._result)
})) : M(r, o, e, t), o
}
function _(e) {
if (e && "object" == typeof e && e.constructor === this) return e;
var t = new this(P);
return E(t, e), t
}
s ? b = function() {
return process.nextTick(p)
} : i ? (m = 0, g = new i(p), v = document.createTextNode(""), g.observe(v, {
characterData: !0
}), b = function() {
v.data = m = ++m % 2
}) : l ? ((h = new MessageChannel).port1.onmessage = p, b = function() {
return h.port2.postMessage(0)
}) : b = void 0 === e && "function" == typeof require ? function() {
try {
var e = require("vertx");
return void 0 !== (t = e.runOnLoop || e.runOnContext) ? function() {
t(p)
} : d()
} catch (e) {
return d()
}
}() : d();
var w = Math.random().toString(36).substring(16);
function P() {}
var S = void 0,
C = 1,
A = 2,
B = new R;
function k(e) {
try {
return e.then
} catch (e) {
return B.error = e, B
}
}
function T(e, t, n) {
var r, o, a, i;
t.constructor === e.constructor && n === y && t.constructor.resolve === _ ? (a = e, (i = t)
._state === C ? I(a, i._result) : i._state === A ? x(a, i._result) : M(i, void 0, function(
e) {
return E(a, e)
}, function(e) {
return x(a, e)
})) : n === B ? (x(e, B.error), B.error = null) : void 0 === n ? I(e, t) : c(n) ? (r = t,
o = n, u(function(t) {
var n = !1,
e = function(e, t, n, r) {
try {
e.call(t, n, r)
} catch (e) {
return e
}
}(o, r, function(e) {
n || (n = !0, r !== e ? E(t, e) : I(t, e))
}, function(e) {
n || (n = !0, x(t, e))
}, t._label);
!n && e && (n = !0, x(t, e))
}, e)) : I(e, t)
}
function E(e, t) {
var n;
e === t ? x(e, new TypeError("You cannot resolve a promise with itself")) : "function" == typeof(n =
t) || "object" == typeof n && null !== n ? T(e, t, k(t)) : I(e, t)
}
function D(e) {
e._onerror && e._onerror(e._result), L(e)
}
function I(e, t) {
e._state === S && (e._result = t, e._state = C, 0 !== e._subscribers.length && u(L, e))
}
function x(e, t) {
e._state === S && (e._state = A, e._result = t, u(D, e))
}
function M(e, t, n, r) {
var o = e._subscribers,
a = o.length;
e._onerror = null, o[a] = t, o[a + C] = n, o[a + A] = r, 0 === a && e._state && u(L, e)
}
function L(e) {
var t = e._subscribers,
n = e._state;
if (0 !== t.length) {
for (var r = void 0, o = void 0, a = e._result, i = 0; i < t.length; i += 3) r = t[i], o = t[i +
n], r ? O(n, r, o, a) : o(a);
e._subscribers.length = 0
}
}
function R() {
this.error = null
}
var N = new R;
function O(e, t, n, r) {
var o = c(n),
a = void 0,
i = void 0,
u = void 0,
s = void 0;
if (o) {
if ((a = function(e, t) {
try {
return e(t)
} catch (e) {
return N.error = e, N
}
}(n, r)) === N ? (s = !0, i = a.error, a.error = null) : u = !0, t === a) return void x(t,
new TypeError("A promises callback cannot return that same promise."))
} else a = r, u = !0;
t._state !== S || (o && u ? E(t, a) : s ? x(t, i) : e === C ? I(t, a) : e === A && x(t, a))
}
var F = 0;
function V(e) {
e[w] = F++, e._state = void 0, e._result = void 0, e._subscribers = []
}
function j(e, t) {
this._instanceConstructor = e, this.promise = new e(P), this.promise[w] || V(this.promise), n(t) ? (
this._input = t, this.length = t.length, this._remaining = t.length, this._result =
new Array(this.length), 0 === this.length ? I(this.promise, this._result) : (this.length =
this.length || 0, this._enumerate(), 0 === this._remaining && I(this.promise, this
._result))) : x(this.promise, new Error("Array Methods must be provided an Array"))
}
function z(e) {
this[w] = F++, this._result = this._state = void 0, this._subscribers = [], P !== e && (
"function" != typeof e && function() {
throw new TypeError(
"You must pass a resolver function as the first argument to the promise constructor"
)
}(), this instanceof z ? function(t, e) {
try {
e(function(e) {
E(t, e)
}, function(e) {
x(t, e)
})
} catch (e) {
x(t, e)
}
}(this, e) : function() {
throw new TypeError(
"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function."
)
}())
}
return j.prototype._enumerate = function() {
for (var e = this.length, t = this._input, n = 0; this._state === S && n < e; n++) this
._eachEntry(t[n], n)
}, j.prototype._eachEntry = function(t, e) {
var n = this._instanceConstructor,
r = n.resolve;
if (r === _) {
var o = k(t);
if (o === y && t._state !== S) this._settledAt(t._state, e, t._result);
else if ("function" != typeof o) this._remaining--, this._result[e] = t;
else if (n === z) {
var a = new n(P);
T(a, t, o), this._willSettleAt(a, e)
} else this._willSettleAt(new n(function(e) {
return e(t)
}), e)
} else this._willSettleAt(r(t), e)
}, j.prototype._settledAt = function(e, t, n) {
var r = this.promise;
r._state === S && (this._remaining--, e === A ? x(r, n) : this._result[t] = n), 0 === this
._remaining && I(r, this._result)
}, j.prototype._willSettleAt = function(e, t) {
var n = this;
M(e, void 0, function(e) {
return n._settledAt(C, t, e)
}, function(e) {
return n._settledAt(A, t, e)
})
}, z.all = function(e) {
return new j(this, e).promise
}, z.race = function(o) {
var a = this;
return n(o) ? new a(function(e, t) {
for (var n = o.length, r = 0; r < n; r++) a.resolve(o[r]).then(e, t)
}) : new a(function(e, t) {
return t(new TypeError("You must pass an array to race."))
})
}, z.resolve = _, z.reject = function(e) {
var t = new this(P);
return x(t, e), t
}, z._setScheduler = function(e) {
o = e
}, z._setAsap = function(e) {
u = e
}, z._asap = u, z.prototype = {
constructor: z,
then: y,
catch: function(e) {
return this.then(null, e)
}
}, z.polyfill = function() {
var e = void 0;
if ("undefined" != typeof global) e = global;
else if (void 0 !== U) e = U;
else try {
e = Function("return this")()
} catch (e) {
throw new Error(
"polyfill failed because global object is unavailable in this environment")
}
var t = e.Promise;
if (t) {
var n = null;
try {
n = Object.prototype.toString.call(t.resolve())
} catch (e) {}
if ("[object Promise]" === n && !t.cast) return
}
e.Promise = z
}, (z.Promise = z).polyfill(), z
}, "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" ==
typeof define && define.amd ? define(t) : e.ES6Promise = t()
}()
}(self),
function(o) {
"use strict";
var a, e, r = "AlipayJSBridge",
g = o[r],
t = navigator.userAgent || navigator.swuserAgent,
n = "apm-h5",
i = o.window,
u = o.document,
v = o.console,
s = o.parseInt,
c = [],
l = {
getBAPSI: {
isListening: !1,
lastState: 2,
on: function() {
l.getBAPSI.isListening || (g.call("startMonitorBackgroundAudio"), l.getBAPSI.isListening = !0, y
.on("getBackgroundAudioPlayedStateInfo", l.getBAPSI.listener))
},
off: function() {
y.off("getBackgroundAudioPlayedStateInfo", l.getBAPSI.listener), g.call(
"stopMonitorBackgroundAudio"), l.getBAPSI.isListening = !1
},
listener: function(e) {
var t = (e.data || {}).status,
n = ["backgroundAudioPause", "backgroundAudioPlay", "backgroundAudioStop"][t];
n && t !== l.getBAPSI.lastState && (y.trigger(n), l.getBAPSI.lastState = t)
}
}
},
b = {
fetchCDP: {
m: "getCdpSpaceInfo"
},
feedbackCDP: {
m: "cdpFeedback"
},
snapshot: {},
saveBizServiceResult: {},
setStorage: {
m: "setAPDataStorage",
b: function(e) {
var t = f();
return k(e, {
data: "value",
bizType: "business"
}), e.value = M({
APDataStorage: e.value
}), e.key = M(e.key), e.type = q(e.type) ? "user" : e.type, q(e.business) && t && (e
.business = t), e
}
},
getStorage: {
m: "getAPDataStorage",
b: function(e) {
var t = f();
return k(e, {
_: "key",
bizType: "business"
}), e.key = M(e.key), e.type = q(e.type) ? "user" : e.type, q(e.business) && t && (e
.business = t), e
},
a: function(e) {
if (11 === e.error && (e.data = null, delete e.error, delete e.errorMessage, delete e.success),
N(e, "data")) {
var t = F(e.data);
e.data = W(t) ? t.APDataStorage : t
}
return e
}
},
removeStorage: {
m: "removeAPDataStorage",
b: function(e) {
var t = f();
return k(e, {
_: "key",
bizType: "business"
}), e.key = M(e.key), e.type = q(e.type) ? "user" : e.type, q(e.business) && t && (e
.business = t), e
}
},
clearStorage: {
m: "clearAPDataStorage",
b: function(e) {
var t = f();
return k(e, {
bizType: "business"
}), e.type = q(e.type) ? "user" : e.type, q(e.business) && t && (e.business = t), e
}
},
httpRequest: {
b: function(e) {
if (e.method = j(e.method) || "GET", e.dataType = V(e.dataType) || "json", k(e, {
_: "url",
dataType: "responseType"
}), W(e.data) && (e.data = L(e.data)), "GET" === e.method && K(e.data) && (e.url = R(e.url,
e.data)), e.responseType = "base64" !== V(e.responseType) ? "text" : "base64", e
.headers = e.headers || {}, z()) {
var t = [],
n = void 0;
for (var r in e.headers) N(e.headers, r) && ((n = {})[r] = e.headers[r], t.push(n));
e.headers = t
}
return e
},
a: function(e, t, n) {
if (n.dataType = V(n.dataType) || "json", "json" === n.dataType && e.data && (e.data = F(e
.data)), "base64" === n.dataType && e.data && e.headers && (e.data = function(e, t) {
e && t && (e = "data:" + t + ";base64," + e);
return e
}(e.data, e.headers["Content-Type"])), !q(e.status)) {
var r = e.status + "";
/^[45]/.test(r) && (e.error = 19, e.errorMessage = "http status error")
}
return e
}
},
startApp: {
b: function(e) {
return k(e, {
_: "appId",
params: "param"
})
}
},
setClipboard: {
b: function(e) {
return k(e, {
_: "content",
content: "text"
})
}
},
getClipboard: {
a: function(e) {
return k(e, {
text: "content"
}), delete e.text, e
}
},
getUserInfo: {
a: function(e) {
return k(e, {
iconUrl: "avatar"
})
}
},
getConfig: {
b: function(n) {
return k(n, {
_: "configKeys",
keys: "configKeys"
}), K(n.configKeys) && (n.configKeys = [n.configKeys]), O(n.configKeys, function(e, t) {
"mgw" === t && (n.configKeys[e] = "rpcUrl")
}), n
},
a: function(n) {
return n.data && (N(n.data, "rpcUrl") && (n.data.mgw = n.data.rpcUrl, delete n.data.rpcUrl), O(n
.data,
function(e, t) {
n[e] = t
}), delete n.data), n
}
},
remoteLog: {},
isSupportShortCut: {
a: function(e) {
return k(e, {
result: "isSupport"
})
}
},
setShortCut: {
b: function(e) {
return k(e, {
title: "appName",
icon: "iconBitmap"
})
}
},
removeShortCut: {
b: function(e) {
return k(e, {
title: "appName",
icon: "iconBitmap"
})
}
},
exitApp: {},
login: {},
sendSMS: {
a: function(e) {
if (e.status) {
switch (e.status) {
case "Success":
e = {};
break;
case "Failed":
e.error = 21, e.errorMessage = "鍙戦€佸け璐<EFBFBD>";
break;
case "Canceled":
e.error = 22, e.errorMessage = "鐢ㄦ埛鍙栨秷鍙戦€<EFBFBD>"
}
delete e.status
}
return e
}
},
getAllContacts: {
a: function(e) {
var n = [];
return e && !N(e, "error") && (O(e, function(e, t) {
n.push({
mobile: e,
name: t
})
}), e = {
contacts: n
}), e
}
},
setScreenBrightness: {
b: function(e) {
return k(e, {
_: "brightness"
})
}
},
getScreenBrightness: {},
isInstalledApp: {
b: function(e) {
return k(e, {
packageName: "packagename"
})
},
a: function(e) {
return k(e, {
installed: "isInstalled"
})
}
},
preRender: {
b: function(e) {
return k(e, {
_: "url"
}), W(e.windowParams) || (e.windowParams = {}), e.url && q(e.windowParams.url) && (e
.windowParams.url = e.url), delete e.url, e.params && q(e.windowParams.param) && (e
.windowParams.param = e.params), delete e.params, -1 < e.windowParams.url.indexOf(
"?") && v.warn("try opt.data instead of querystring"), -1 < e.windowParams.url.indexOf(
"__webview_options__") && v.warn("try opt.params instead of __webview_options__"), W(e
.data) && (e.windowParams.url = R(e.windowParams.url, e.data), delete e.data), e
}
},
clearRender: {
b: function(e) {
return W(e.range) || (e.range = {}), e.start && q(e.range.location) && (e.range.location = e
.start), delete e.start, e.length && q(e.range.length) && (e.range.length = e.length),
delete e.length, e
}
},
finishRender: {},
rpc: {
b: function(e) {
return k(e, {
_: "operationType"
}), e.requestData && !Q(e.requestData) && W(e.requestData) && !N(e, "type") && (e
.requestData = [e.requestData]), e
},
e: {
handleResultSuccess: !1
}
},
openBluetoothAdapter: {},
closeBluetoothAdapter: {},
getBluetoothAdapterState: {},
startBluetoothDevicesDiscovery: {
b: function(e) {
return K(e._) && (e._ = [e._]), k(e, {
_: "services"
}), e
}
},
stopBluetoothDevicesDiscovery: {},
getBluetoothDevices: {
b: function(e) {
return K(e._) && (e._ = [e._]), k(e, {
_: "services"
}), e
},
a: function(e) {
return Q(e.devices) && O(e.devices, function(e, t) {
k(t, {
manufacturerData: "advertisData"
})
}), e
}
},
getConnectedBluetoothDevices: {
a: function(e) {
return Q(e.devices) && O(e.devices, function(e, t) {
k(t, {
manufacturerData: "advertisData"
})
}), e
}
},
connectBLEDevice: {
b: function(e) {
return k(e, {
_: "deviceId"
}), e
}
},
disconnectBLEDevice: {},
writeBLECharacteristicValue: {},
readBLECharacteristicValue: {},
notifyBLECharacteristicValueChange: {},
getBLEDeviceServices: {
b: function(e) {
return k(e, {
_: "deviceId"
}), e
}
},
getBLEDeviceCharacteristics: {},
onBLECharacteristicValueChange: {
m: "BLECharacteristicValueChange"
},
offBLECharacteristicValueChange: {
m: "BLECharacteristicValueChange"
},
onBluetoothAdapterStateChange: {},
offBluetoothAdapterStateChange: {},
onBLEConnectionStateChanged: {
m: "BLEConnectionStateChanged"
},
offBLEConnectionStateChanged: {
m: "BLEConnectionStateChanged"
},
onBluetoothDeviceFound: {
a: function(e) {
return k(e, {
manufacturerData: "advertisData"
})
}
},
offBluetoothDeviceFound: {},
pushBizWindow: {},
compressImage: {
b: function(e) {
return e.level = q(e.level) ? 4 : e.level, k(e, {
_: "apFilePaths",
level: "compressLevel%d"
})
},
d: function(e, t) {
z() ? g.call("compressImage", e, t) : p(t, {
apFilePaths: e.apFilePaths || []
})
}
},
getLaunchParams: {
d: function(e, t) {
y.launchParams = i.ALIPAYH5STARTUPPARAMS || g.startupParams || {}, J(t) && t(y.launchParams)
}
},
onTabClick: {},
offTabClick: {},
onShare: {
m: "onShare"
},
offShare: {
m: "onShare"
},
connectSocket: {
b: function(e) {
return k(e, {
headers: "header"
})
}
},
sendSocketMessage: {
b: function(e) {
return k(e, {
_: "data"
})
}
},
closeSocket: {},
onSocketOpen: {},
offSocketOpen: {},
onSocketMessage: {},
offSocketMessage: {},
onSocketError: {},
offSocketError: {},
onSocketClose: {},
offSocketClose: {},
alert: {
b: function(e) {
return q((e = k(e, {
_: "content",
content: "message%s",
buttonText: "button%s"
})).title) || (e.title = B("%s", e.title)), e
}
},
confirm: {
b: function(e) {
return q((e = k(e, {
_: "content%s",
content: "message%s",
confirmButtonText: "okButton%s",
cancelButtonText: "cancelButton%s"
})).title) || (e.title = B("%s", e.title)), e
},
a: function(e) {
return k(e, {
ok: "confirm"
})
}
},
showToast: {
m: "toast",
b: function(e) {
return k(e, {
_: "content%s"
}), K(e.content) || (e.content = B("%s", e.content)), e
}
},
hideToast: {},
showLoading: {
b: function(e) {
return k(e, {
_: "content",
content: "text%s"
})
}
},
hideLoading: {},
showNavigationBarLoading: {
m: "showTitleLoading"
},
hideNavigationBarLoading: {
m: "hideTitleLoading"
},
setNavigationBar: {
b: function(e) {
var t = "setTitle",
n = "setTitleColor",
r = "setBarBottomLineColor",
o = {
setTitle: {},
setTitleColor: {},
setBarBottomLineColor: {}
};
return o[t] = k(o[t], {
_: "title",
title: "title%s",
image: "image%b"
}, e), o[n] = k(o[n], {
backgroundColor: "color%c",
reset: "reset"
}, e), o[r] = k(o[r], {
borderBottomColor: "color%c"
}, e), o
},
d: function(e, t) {
var n = "setTitle",
r = "setTitleColor",
o = "setBarBottomLineColor",
a = {};
Y(e[n]) || g.call(n, e[n]), Y(e[o]) || (g.call(o, e[o]), H(e[o].color) && (a.error = 2, a
.errorMessage = "棰滆壊鍊间笉鍚堟硶")), Y(e[r]) ? p(t, a) : g.call(r, e[r], function(e) {
a = X(e, a), t(a)
})
}
},
showTabBar: {
b: function(n) {
if (n.action = "create", n.activeIndex = n.activeIndex || 0, k(n, {
color: "textColor%c",
activeColor: "selectedColor%c",
activeIndex: "selectedIndex%d"
}), Q(n.items)) {
var e = n.items;
n.items = [], e.forEach(function(e, t) {
(e = k(X({}, e), {
title: "name%s",
tag: "tag%s",
icon: "icon%b",
activeIcon: "activeIcon%b",
badge: "redDot%s"
}, {
tag: t,
badge: q(e.badge) ? "-1" : e.badge
})).icon = B("%b", e.icon), e.activeIcon = B("%b", e.activeIcon), n.items.push(
e)
})
}
return n
},
d: function(e, n, t) {
var r = "showTabBar";
q(l.showTabBar) ? l.showTabBar = {
opt: t
} : v.error(r + " must be called at most once"), y.on("tabClick", function(e) {
var t = {};
k(t, {
tag: "index%d"
}, {
tag: W(e.data) && e.data.tag ? e.data.tag : "0"
}), n(t)
}), g.call("tabBar", e, function(e) {
C(r, e)
})
}
},
setTabBarBadge: {
m: "tabBar",
b: function(e) {
return e.action = "redDot", k(e, {
index: "tag%s",
badge: "redDot%s"
}, {
index: e.index
}), e
}
},
showActionSheet: {
m: "actionSheet",
b: function(t) {
if (k(t, {
items: "btns",
cancelButtonText: "cancelBtn%s"
}), Q(t.btns)) {
var e = t.btns;
t.btns = [], e.forEach(function(e) {
return t.btns.push(e + "")
})
}
return q(t.cancelBtn) && (t.cancelBtn = "鍙栨秷"), t
},
a: function(e, t) {
return Q(t.btns) && e.index === t.btns.length && (e.index = -1), e
}
},
redirectTo: {
b: function(e) {
return k(e, {
_: "url"
}), W(e.data) && (e.url = R(e.url, e.data)), e
},
d: function(e) {
e.url && i.location.replace(e.url)
}
},
pushWindow: {
b: function(e) {
return k(e, {
_: "url",
params: "param"
}), -1 < e.url.indexOf("?") && v.warn("try opt.data instead of querystring"), -1 < e.url
.indexOf("__webview_options__") && v.warn("try opt.params instead of __webview_options__"),
W(e.data) && (e.url = R(e.url, e.data), delete e.data), e
}
},
popWindow: {
b: function(e) {
return W((e = h(e)).data) || (e.data = {
___forResume___: e.data
}), e
}
},
popTo: {
b: function(e) {
var t;
return k(e, {
_: (t = void 0, $(e._) && (t = "index"), K(e._) && (t = "urlPattern"), t)
}), W(e.data) || (e.data = {
___forResume___: e.data
}), e
}
},
allowPullDownRefresh: {
d: function(e) {
var t = "onPullDownRefresh";
k(e, {
_: "allow"
}), e.allow = !!q(e.allow) || !!e.allow, W(l[t]) ? l[t].allow = e.allow : (l[t] = {
allow: e.allow
}, y.onPullDownRefresh()), l[t].allow ? g.call("restorePullToRefresh") : l[t].event && l[t]
.event.preventDefault()
}
},
choosePhoneContact: {
m: "contact"
},
chooseAlipayContact: {
m: "chooseContact",
b: function(e) {
return k(e, {
_: "count"
}), q(e.count) && (e.count = 1), 1 === e.count ? e.type = "single" : (e.type = "multi", e
.count <= 0 || 10 < e.count ? e.multiMax = 10 : e.multiMax = e.count), delete e.count, e
},
a: function(e) {
return Q(e.contacts) && e.contacts.forEach(function(e) {
k(e, {
headImageUrl: "avatar",
name: "realName"
}), delete e.from
}), e
}
},
share: {
b: function(e) {
var t = {},
n = {};
return t.onlySelectChannel = ["ALPContact", "ALPTimeLine", "ALPCommunity", "Weibo",
"DingTalkSession", "SMS", "Weixin", "WeixinTimeLine", "QQ", "QQZone"
], N(e, "bizType") && (t.bizType = e.bizType), delete(n = X({}, e)).bizType, delete n
.onlySelectChannel, k(n, {
image: "imageUrl"
}), l.share = {
startShare: t,
shareToChannel: n
}, e
},
d: function(e, n) {
!1 === e.showToolBar && g.call("setToolbarMenu", {
menus: [],
override: !0
}), g.call("startShare", l.share.startShare, function(e) {
var t = l.share.shareToChannel;
e.channelName ? g.call("shareToChannel", {
name: e.channelName,
param: t
}, n) : n(e)
})
}
},
datePicker: {
b: function(e) {
switch (k(e, {
_: "formate",
formate: "mode",
currentDate: "beginDate",
startDate: "minDate",
endDate: "maxDate"
}), e.mode) {
case "HH:mm:ss":
e.mode = 0;
break;
case "yyyy-MM-dd":
e.mode = 1;
break;
case "yyyy-MM-dd HH:mm:ss":
e.mode = 2;
break;
default:
e.mode = 1
}
return e
},
a: function(e) {
return K(e.date) && (e.date = e.date.replace(/\//g, "-").trim()), e
}
},
chooseCity: {
m: "getCities",
b: function(e) {
var t, n;
function r(e) {
var t;
return Q(e) && (t = [], e.forEach(function(e) {
t.push(k({}, {
city: "name",
adCode: "adcode%s",
spell: "pinyin"
}, e))
}), e = t), e
}
return k(e, {
showHotCities: "needHotCity",
cities: "customCities",
hotCities: "customHotCities"
}), !0 === e.showLocatedCity ? (e.currentCity = "", e.adcode = "") : (delete e.currentCity,
delete e.adcode), delete e.showLocatedCity, t = e.customCities, q(e.customCities) || (e
.customCities = r(t)), n = e.customHotCities, q(e.customHotCities) || (e
.customHotCities = r(n)), e
},
a: function(e) {
return k(e, {
adcode: "adCode"
}), e
}
},
onBack: {
a: function(e) {
var t = {},
n = "onBack";
return W(l[n]) ? l[n].event = e : l[n] = {
event: e,
allowButton: !0
}, !1 === l[n].allowButton && e.preventDefault(), t.backAvailable = l[n].allowButton, t
},
e: {
handleEventData: !1
}
},
offBack: {},
onResume: {
a: function(e) {
var t = {};
return q(e.data) || (t.data = e.data), N(e.data, "___forResume___") && (t.data = e.data
.___forResume___), t
},
e: {
handleEventData: !1
}
},
offResume: {},
onPause: {},
offPause: {},
onPageResume: {
a: function(e) {
var t = {};
return q(e.data) || (t.data = e.data), N(e.data, "___forResume___") && (t.data = e.data
.___forResume___), t
},
e: {
handleEventData: !1
}
},
offPageResume: {},
onPagePause: {},
offPagePause: {},
onTitleClick: {},
offTitleClick: {},
onPullDownRefresh: {
m: "firePullToRefresh",
a: function(e) {
var t = {},
n = "onPullDownRefresh";
return W(l[n]) ? l[n].event = e : l[n] = {
event: e,
allow: !0
}, !1 === l[n].allow && l[n].event.preventDefault(), t.refreshAvailable = l[n].allow, t
},
e: {
handleEventData: !1
}
},
offPullDownRefresh: {
m: "firePullToRefresh"
},
onNetworkChange: {
d: function(e, t, n, r) {
var o = function() {
return y.getNetworkType(t)
};
_("h5NetworkChange", r, o), y.on("h5NetworkChange", o)
}
},
offNetworkChange: {
d: function(e, t, n, r) {
w("h5NetworkChange", r)
}
},
onAccelerometerChange: {
b: function() {
g.call("watchShake", {
monitorAccelerometer: !0
})
},
a: function(e) {
var t = {};
return k(t, {
x: "x",
y: "y",
z: "z"
}, W(e.data) ? e.data : e), t
},
e: {
handleEventData: !1
}
},
offAccelerometerChange: {
b: function() {
g.call("watchShake", {
monitorAccelerometer: !1
})
}
},
onCompassChange: {
b: function() {
g.call("watchShake", {
monitorCompass: !0
})
},
a: function(e) {
var t = {};
return k(t, {
direction: "direction"
}, W(e.data) ? e.data : e), t
},
e: {
handleEventData: !1
}
},
offCompassChange: {
b: function() {
g.call("watchShake", {
monitorCompass: !1
})
}
},
onBackgroundAudioPlay: {
b: function(e) {
return l.getBAPSI.on(), e
}
},
offBackgroundAudioPlay: {},
onBackgroundAudioPause: {
b: function(e) {
return l.getBAPSI.on(), e
}
},
offBackgroundAudioPause: {},
onBackgroundAudioStop: {
b: function(e) {
return l.getBAPSI.on(), e
}
},
offBackgroundAudioStop: {},
onAppResume: {},
offAppResume: {},
onAppPause: {},
offAppPause: {},
getNetworkType: {
a: function(e) {
return q(e.networkInfo) || (e.networkType = j(e.networkInfo)), delete e.err_msg, delete e
.networkInfo, e
}
},
scan: {
b: function(e) {
return k(e, {
_: "type"
}), e.type = e.type || "qr", e
},
a: function(e) {
return (e.qrCode || e.barCode) && (e.code = e.qrCode || e.barCode, delete e.qrCode, delete e
.barCode), e
}
},
watchShake: {
b: function(e) {
return Y(e) && (e = null), e
}
},
getLocation: {
b: function(e) {
return k(e, {
accuracy: "horizontalAccuracy",
type: "requestType%d"
}), q(e.requestType) && (e.requestType = 2), z() && (q(e.isHighAccuracy) && (e
.isHighAccuracy = !0), q(e.isNeedSpeed) && (e.isNeedSpeed = !0)), e
},
a: function(e) {
return k(e, {
citycode: "cityCode",
adcode: "adCode"
}), q(e.city) && e.province && (e.city = e.province), e.latitude && (e.latitude = B("%s", e
.latitude)), e.longitude && (e.longitude = B("%s", e.longitude)), e.accuracy && (e
.accuracy = B("%f", e.accuracy)), e.speed && (e.speed = B("%f", e.speed)), e
}
},
getSystemInfo: {
a: function(e) {
var t = "pixelRatio",
n = "windowWidth",
r = "windowHeight",
o = "language";
if (!N(e, "error")) {
e[t] = B("%f", e[t]), e[n] = B("%d", e[n]), e[o] = (e[o] || "").replace(
/\s?\w+\/((?:\w|-)+)$/, "$1"), e[r] = B("%d", e[r]);
try {
U() && y.compareVersion("10.0.12") < 0 && (e[r] = i.screen.height - 64)
} catch (e) {}
}
return e
}
},
vibrate: {},
getServerTime: {},
previewImage: {
m: "imageViewer",
b: function(t) {
return k(t, {
_: "urls",
current: "init%d"
}), q(t.init) && (t.init = 0), t.images = [], (t.urls || []).forEach(function(e) {
t.images.push({
u: e
})
}), delete t.urls, t
}
},
chooseImage: {
b: function(e) {
return k(e, {
_: "count%d"
}), q(e.count) && (e.count = 1), K(e.sourceType) && (e.sourceType = [e.sourceType]), e
},
a: function(e) {
return k(e, {
errorCode: "error",
errorDesc: "errorMessage",
localIds: "apFilePaths",
tempFilePaths: "apFilePaths"
}), delete e.scene, delete e.localIds, delete e.tempFilePaths, K(e.apFilePaths) && (e
.apFilePaths = F(e.apFilePaths)), e
}
},
chooseVideo: {
b: function(e) {
return k(e, {
_: "maxDuration%d"
}), K(e.sourceType) && (e.sourceType = [e.sourceType]), K(e.camera) && (e.camera = [e
.camera
]), e
},
a: function(e) {
switch (k(e, {
errorCode: "error",
errorDesc: "errorMessage",
msg: "errorMessage",
localId: "apFilePath",
tempFilePath: "apFilePath",
tempFile: "apFilePath"
}), delete e.localId, delete e.tempFilePath, delete e.tempFile, e.error) {
case 0:
delete e.error;
break;
case 1:
e.error = 2;
break;
case 2:
e.error = 10;
break;
case 3:
e.error = 11;
break;
case 4:
e.error = 12
}
return e
}
},
uploadFile: {
b: function(e) {
var t;
return k(e, {
headers: "header",
fileName: "name",
fileType: "type"
}), t = e.filePath, /^[a-z0-9|]+$/i.test(t) && (e.localId = e.filePath, delete e.filePath),
e
},
a: function(e) {
return 2 === e.error && (e.error = 11), e
}
},
saveImage: {
b: function(e, t) {
return k(e, {
_: "url",
url: "src"
}), J(t) && (e.cusHandleResult = !0), e
}
},
downloadFile: {
b: function(e) {
return k(e, {
headers: "header"
}), e
},
a: function(e) {
return k(e, {
tempFilePath: "apFilePath",
errorCode: "error"
}), delete e.tempFilePath, e
}
},
setSessionData: {
b: function(n) {
return W((n = h(n)).data) || (n.data = {
data: n.data
}), O(n.data, function(e, t) {
n.data[e] = JSON.stringify(t)
}), n
}
},
getSessionData: {
b: function(e) {
return K(e._) && (e.keys = [e._]), Q(e._) && (e.keys = e._), delete e._, e
},
a: function(n) {
return O(n.data, function(e, t) {
n.data[e] = F(t)
}), n
}
},
startBizService: {
b: function(e) {
return k(e, {
_: "name",
params: "param%s"
}), e
}
},
tradePay: {
b: function(e) {
return k(e, {
_: "orderStr"
}), e
}
},
getAuthCode: {
b: function(e) {
return k(e, {
_: "scopes"
}), K(e.scopes) ? e.scopeNicks = [e.scopes] : Q(e.scopes) ? e.scopeNicks = e.scopes : e
.scopeNicks = ["auth_base"], delete e.scopes, e
},
a: function(e) {
return k(e, {
authcode: "authCode"
}), e
}
},
getAuthUserInfo: {
a: function(e) {
return k(e, {
nick: "nickName",
userAvatar: "avatar"
}), e
}
},
openInBrowser: {
b: function(e) {
return k(e, {
_: "url"
})
}
},
openLocation: {
b: function(e) {
return q(e.scale) && (e.scale = 15), e
}
},
showPopMenu: {
b: function(n) {
if (k(n, {
_: "items",
items: "menus"
}), W(l.showPopMenu) ? l.showPopMenu.menus = {} : l.showPopMenu = {
menus: {}
}, Q(n.menus)) {
var e = n.menus;
n.menus = [], e.forEach(function(e, t) {
K(e) && (e = {
title: e
}), q((e = k(X({}, e), {
title: "name%s",
tag: "tag%s",
badge: "redDot%s"
}, {
tag: t,
title: e.title,
badge: q(e.badge) ? "-1" : e.badge
})).icon) || (e.icon = B("%b", e.icon)), n.menus.push(e), l.showPopMenu
.menus[e.name] = t
})
}
return n
},
d: function(e, n) {
var t = "showPopMenu";
!0 !== l.showPopMenu.onEvent && (l.showPopMenu.onEvent = !0, y.on("popMenuClick", function(e) {
var t = {};
k(t, {
title: "index%d"
}, {
title: W(e.data) && e.data.title ? l.showPopMenu.menus[e.data
.title] : "-1"
}), n(t)
})), g.call(t, e, function(e) {
C(t, e)
})
}
},
setOptionButton: {
m: "setOptionMenu",
b: function(n) {
if (K(n._) && (n.title = n._, delete n._), Q(n._) && (n.items = n._, delete n._), k(n, {
items: "menus",
type: "iconType",
badge: "redDot%s"
}), q(n.icon) || (n.icon = B("%b", n.icon)), W(l.setOptionButton) ? l.setOptionButton
.menus = [] : l.setOptionButton = {
menus: []
}, Q(n.menus)) {
var r = n.menus;
n.menus = [], r.forEach(function(e, t) {
q((e = k(X({}, e), {
type: "icontype",
badge: "redDot%s"
}, {
badge: q(e.badge) ? "-1" : e.badge
})).icon) || (e.icon = B("%b", e.icon)), n.menus.unshift(e), l
.setOptionButton.menus[r.length - 1 - t] = t
}), 0 < n.menus.length && q(n.override) && (n.override = !0)
}
if (J(l.setOptionButton.onEvent) && y.off("optionMenu", l.setOptionButton.onEvent), J(n
.onClick)) {
var o = n.onClick,
e = function(e) {
var t = 0,
n = {};
W(e.data) && $(e.data.index) && 0 < l.setOptionButton.menus.length && (t = l
.setOptionButton.menus[e.data.index]), n.index = B("%d", t), o(n)
};
l.setOptionButton.onEvent = e, !0 !== n.reset && y.on("optionMenu", e), delete n.onClick
}
return n
},
d: function(e, t) {
g.call("setOptionMenu", e, t), U() && p(t, {}), y.showOptionButton()
}
},
showOptionButton: {
m: "showOptionMenu"
},
hideOptionButton: {
m: "hideOptionMenu"
},
showBackButton: {},
hideBackButton: {},
allowBack: {
d: function(e) {
var t = "onBack";
k(e, {
_: "allowButton"
}), e.allowButton = !!q(e.allowButton) || !!e.allowButton, "boolean" == typeof e
.allowGesture && g.call("setGestureBack", {
val: e.allowGesture
}), W(l[t]) ? l[t].allowButton = e.allowButton : (l[t] = {
allowButton: e.allowButton
}, y.onBack()), !1 === e.allowButton && l[t].event && l[t].event.preventDefault()
}
},
startRecord: {
m: "startAudioRecord",
b: function(e) {
return k(e, {
maxDuration: "maxRecordTime%f",
minDuration: "minRecordTime%f",
bizType: "business"
}, {
maxDuration: e.maxDuration || 60,
minDuration: e.minDuration || 1
}), q(e.business) && (e.business = n), e
},
a: function(e) {
return k(e, {
tempFilePath: "apFilePath",
identifier: "apFilePath"
}), e
}
},
stopRecord: {
m: "stopAudioRecord"
},
cancelRecord: {
m: "cancelAudioRecord"
},
playVoice: {
m: "startPlayAudio",
b: function(e) {
return k(e, {
_: "filePath",
filePath: "identifier",
bizType: "business"
}), q(e.business) && (e.business = n), e
},
a: function(e) {
return k(e, {
identifier: "filePath"
}), e
}
},
pauseVoice: {
m: "pauseAudioPlay"
},
resumeVoice: {
m: "resumeAudioPlay"
},
stopVoice: {
m: "stopAudioPlay"
},
makePhoneCall: {
d: function(e, t) {
var n = "tel:";
k(e, {
_: "number"
}), n += e.number, g.call("openInBrowser", {
url: n
}, t)
}
},
playBackgroundAudio: {
b: function(e) {
return k(e, {
_: "url",
url: "audioDataUrl%s",
title: "audioName%s",
singer: "singerName%s",
describe: "audioDescribe%s",
logo: "audioLogoUrl%s",
cover: "coverImgUrl%s",
bizType: "business"
}, {
bizType: e.bizType || n
}), e
},
a: function(e) {
return k(e, {
describe: "errorMessage"
}), A(e, 12, 0), e
}
},
pauseBackgroundAudio: {
a: function(e) {
return k(e, {
describe: "errorMessage"
}), A(e, 12, 0), e
}
},
stopBackgroundAudio: {
a: function(e) {
return k(e, {
describe: "errorMessage"
}), A(e, 12, 0), e
}
},
seekBackgroundAudio: {
b: function(e) {
return k(e, {
_: "position",
bizType: "business"
}, {
bizType: e.bizType || n
}), e.position = B("%f", e.position), e
},
a: function(e) {
return k(e, {
describe: "errorMessage"
}), A(e, 12, 0), e
}
},
getBackgroundAudioPlayerState: {
a: function(e) {
return k(e, {
audioDataUrl: "url",
describe: "errorMessage"
}), A(e, 12, 0), e
}
}
},
y = {
version: "3.1.1",
ua: t,
isAlipay: D(/AlipayClient/),
alipayVersion: (e = t.match(/AlipayClient[a-zA-Z]*\/(\d+(?:\.\d+)+)/), e && e.length ? e[1] : ""),
compareVersion: function(e) {
var t = y.alipayVersion.split(".");
e = e.split(".");
for (var n, r, o = 0; o < t.length; o++) {
if (n = s(e[o], 10) || 0, (r = s(t[o], 10) || 0) < n) return -1;
if (n < r) return 1
}
return 0
},
parseQueryString: function(e) {
var t, n = {},
r = e || i.location.search,
o = {
true: !0,
false: !1
};
r = (r = 0 === r.indexOf("?") ? r.substr(1) : r) ? r.split("&") : "";
for (var a = 0; a < r.length; a++)(t = r[a].split("="))[1] = decodeURIComponent(t[1]), t[1] = q(o[t[
1]]) ? t[1] : o[t[1]], n[t[0]] = t[1];
return T("parseQueryString"), n
},
enableDebug: function() {
y.debug = !0
},
on: function(e, t) {
var n = "ready" === e;
n || "back" === e ? u.addEventListener(n ? r + "Ready" : e, t, !1) : (e = e.replace(/ready/, r +
"Ready")).split(/\s+/g).forEach(function(e) {
u.addEventListener(e, t, !1)
})
},
off: function(e, t) {
u.removeEventListener(e, t, !1)
},
trigger: function(e, t) {
var n = u.createEvent("Events");
return n.initEvent(e, !1, !0), n.data = t || {}, u.dispatchEvent(n), n
},
ready: function(t) {
if (x()) return new Promise(e);
function e(e) {
d() ? (J(t) && t(), J(e) && e()) : y.on("ready", function() {
d(), J(t) && t(), J(e) && e()
})
}
e()
},
localLog: function() {
var n = Z(arguments);
n.forEach(function(e, t) {
n[t] = M(e)
}), U() && y.ready(function() {
g.call("H5APLog", {
content: n.join(" ")
})
}), v.log.apply(v, n), T("localLog")
},
call: function() {
var m = Z(arguments);
if (x()) return y.ready().then(function() {
return new Promise(e)
});
function e(n, r) {
var o, a, i, u, s, e, c, t, l, d, f, p, h;
o = m[0] + "", a = m[1], q(i = m[2]) && J(a) && (i = a, a = {}), !W(a) && 2 <= m.length && (
a = {
_: a
}), q(a) && (a = {}), u = function(e, t, n) {
var r = b[e],
o = r && r.b ? r.b(X({}, t), n) : t,
a = S(e, "optionModifier");
if (J(a)) {
var i = a(o, n);
W(i) && (o = i)
}
return o
}(o, a, i), s = function(e, t) {
var n = {};
J((t = t || {}).success) && (n.success = t.success, delete t.success);
J(t.fail) && (n.fail = t.fail, delete t.fail);
J(t.complete) && (n.complete = t.complete, delete t.complete);
return n
}(0, u), q(u) && v.error("please confirm " + o + ".before() returns the options."), l = !(!(
f = b[o]) || !f.d) && f.d, d = N(a, "_") ? a._ : a, E(o, d, u), c = P("on", o), t = P(
"off", o), e = function(e) {
var t = void 0;
e = e || {}, c && !1 !== S(o, "handleEventData") && (t = function(e) {
var t = {};
q(e.data) || (t = W(t = e.data) ? t : {
data: t
});
return t
}(e)), q(t = function(e, t, n, r, o) {
var a = b[e],
i = a && a.a ? a.a((s = t, "[object Event]" === G(s) ? t : X({}, t)), n,
r, o) : X({}, t),
u = S(e, "resultModifier");
var s;
if (J(u)) {
var c = u(i, n, r, o);
W(c) && (i = c)
}
return i
}(o, t || e, u, a, i)) && v.error("please confirm " + o +
".after() returns the result."), t = C(o, t), E(o, d, u, e, t), N(t, "error") ||
N(t, "errorMessage") ? (J(r) && r(t), J(s.fail) && s.fail(t)) : (J(n) && n(t), J(s
.success) && s.success(t)), J(s.complete) && s.complete(t), J(i) && i(t)
}, J(l) ? l(u, e, a, i) : c ? (_(c, i, e, s), y.on(c, e)) : t ? w(t, i) : g.call((h = b[p =
o]) && h.m ? h.m : p, u, e), T(o)
}
d() ? e() : c.push(m)
},
extendJSAPI: function(r, o) {
!o && K(r) && (r = [r]), O(r, function(e) {
var t = e;
if (!0 !== o) {
var n = r[t];
J(n) && (n = {
doing: n
}), K(n) && (t = n, (n = {})[t] = {}), b[t] = k(b[t] || {}, {
mapping: "m",
before: "b",
doing: "d",
after: "a"
}, n), W(n.extra) && (b[t].e = b[t].e || {}, b[t].e = X(b[t].e, n.extra))
}
y[t] = function() {
return y.call.apply(null, [t].concat(Z(arguments)))
}
}, !0)
}
};
function d() {
return (g = g || o[r]) && g.call
}
function f() {
return (o && o.location && o.location.href ? o.location.href : "").replace(/^(http|https):\/\//i, "").split(
"/")[0]
}
function p(e, t) {
setTimeout(function() {
e(t)
}, 1)
}
function h(e, t) {
var n = !1;
return t = t || "data", N(e, "_") ? (e[t] = e._, delete e._) : (O(e, function(e) {
e !== t && (n = !0)
}), n && (n = e, (e = {})[t] = n)), e
}
function m(e, n, t) {
var r, o = !1;
return q(e) || (l.EVENTS || (l.EVENTS = {}), l.EVENTS[e] || (l.EVENTS[e] = {
callbacks: []
}), l.EVENTS[e].callbacks || (l.EVENTS[e].callbacks = []), l.EVENTS[e].callbacks.forEach(function(e,
t) {
e.cb === n && (o = e, r = t)
}), t && $(r) && l.EVENTS[e].callbacks.splice(r, 1)), o
}
function _(e, t, n, r) {
m(e, t) || l.EVENTS[e].callbacks.push({
cb: t,
_cb: n,
_cbSFC: r
})
}
function w(t, e) {
var n = m(t, e, !0);
J(e) ? n && y.off(t, n._cb) : (l.EVENTS[t].callbacks.forEach(function(e) {
y.off(t, e._cb)
}), l.EVENTS[t].callbacks = [])
}
function P(e, t) {
var n = b[t],
r = !1,
o = "off" === e ? /^off([A-Z])(\w+)/ : /^on([A-Z])(\w+)/;
return n && o.test(t) && (t = t.match(o), !(r = n.m) && t[1] && t[2] && (r = V(t[1]) + t[2])), r
}
function S(e, t) {
var n = b[e] || {};
return (n.e || n.extra || {})[t]
}
function C(e, t) {
return N(t, "error") && (t.error = s(t.error, 10)), !1 !== S(e, "handleResultSuccess") && A(t), 0 === t.error &&
(delete t.error, delete t.errorMessage), 0 < t.error && t.error < 10 && v.error(e, t), t
}
function A(e, t, n) {
return n = !q(n) && n, N(e, "error") || e.success !== n || (e.error = $(t) ? t : 2), delete e.success, e
}
function B(e, t) {
return "%s" === e && (t = M(t)), "%c" === e && (t = function(e) {
var t = "" + e;
0 === t.indexOf("#") && (t = t.substr(1));
3 === t.length && (t = t.replace(/(.)/g, "$1$1"));
H(t = s(t, 16)) && v.error(e + " is invalid hex color.");
return t
}(t)), "%b" === e && (t = function(e) {
K(e) && (e = e.replace(/^data:(\/|\w|\-|\.)+;base64,/i, ""));
return e
}(t)), "%d" === e && (t = s(t, 10)), "%f" === e && (t = parseFloat(t)), t
}
function k(a, i, u) {
var s;
return u = u || {}, O(i, function(e, t) {
var n, r, o;
n = i[e], r = (n || "").match(/(\w+)(%\w)$/i), o = {
k: n
}, r && (o.k = r[1], o.t = r[2]), !q(t = (s = o).k) && (N(a, e) || N(u, e)) && q(a[t]) && (a[
t] = B(s.t, q(u[e]) ? a[e] : u[e]), t !== e && delete a[e])
}), a
}
y.extendJSAPI.mapping = k, y.extendJSAPI.toType = B, y.isAlipay || v.warn("Run alipayjsapi.js in Alipay please!"), y
.extendJSAPI(b, !0), y.on("ready", function() {
c.length && function t() {
I(function() {
var e = c.shift();
y.call.apply(null, e), c.length && t()
})
}()
});
var T = function() {
var t = [],
n = void 0,
r = !1;
function o() {
setTimeout(function() {
if (0 < t.length) {
var e = t.join("|");
y.ready(function() {
g.call("remoteLog", {
type: "monitor",
bizType: "ALIPAYJSAPI",
logLevel: 1,
actionId: "MonitorReport",
seedId: "ALIPAYJSAPI_INVOKE_COUNTER",
param1: e
})
}), y.debug && v.info("REMOTE_LOG_QUEUE>", t), t = []
}!q(n) && clearTimeout(n), r = !1
}, 0)
}
return y.on("back", function() {
o()
}),
function(e) {
t.push(e), 6 <= t.length ? o() : r || (r = !0, n = setTimeout(function() {
o()
}, 5e3))
}
}();
function E() {
var e, t, n, r, o, a, i = Z(arguments);
y.debug && (e = i[0], t = i[1], n = i[2], r = i[3], o = i[4], a = [3 < i.length ? "RETURN>" : "INVOKE>", e, N(t,
"_") ? t._ : t, n], 3 < i.length && a.push(r), 4 < i.length && a.push(o), v.info(a))
}
function D(e) {
return e.test(t)
}
var I = i.requestAnimationFrame || i.webkitRequestAnimationFrame || i.mozRequestAnimationFrame || i
.msRequestAnimationFrame || function(e, t) {
i.setTimeout(function() {
e(+new Date, t)
}, 1e3 / 60)
};
function x() {
if (void 0 === a) {
var e = !1,
t = o.Promise;
if (t) {
var n = null,
r = null;
try {
r = (n = t.resolve()).then
} catch (e) {}
n instanceof t && J(r) && !t.cast && (e = !0)
}
e || v.warn("try callback since no Promise detected"), a = e
}
return a
}
function M(e) {
var t = e;
if (W(e) || Q(e)) try {
t = JSON.stringify(e)
} catch (e) {} else t = e + "";
return t
}
function L(e) {
var n = [];
return O(e, function(e, t) {
n.push(e + "=" + encodeURIComponent(q(t) ? "" : t))
}), n = n.join("&")
}
function R(e, t) {
var n = t;
return W(t) && (n = L(t)), /\?/.test(e) ? /&$/.test(e) || /\?$/.test(e) || (n = "&" + n) : n = "?" + n, e + n
}
function N(e, t) {
return !(!W(e) && !Q(e)) && e.hasOwnProperty(t)
}
function O(e, t, n) {
var r, o, a;
if (n || (!(a = e) || J(a) || !Q(a) && !$(a.length))) {
for (o in e)
if (!1 === t(o, e[o])) return e
} else
for (r = 0; r < e.length; r++)
if (!1 === t(r, e[r])) return e;
return e
}
function F(t) {
try {
t = JSON.parse(t)
} catch (e) {
v.warn(e, t)
}
return t
}
function V(e) {
return K(e) && (e = e.toLowerCase()), e
}
function j(e) {
return K(e) && (e = e.toUpperCase()), e
}
function z() {
return D(/android/i)
}
function U() {
return D(/iPad|iPod|iPhone|iOS/i)
}
function q(e) {
return "[object Undefined]" === G(e)
}
function H(e) {
return "NaN" === s(e, 10).toString()
}
function J(e) {
return "[object Function]" === G(e)
}
function K(e) {
return "string" == typeof e
}
function W(e) {
return "[object Object]" === G(e)
}
function $(e) {
return "[object Number]" === G(e)
}
function Q(e) {
return "[object Array]" === G(e)
}
function G(e) {
return Object.prototype.toString.call(e)
}
function Y(e) {
for (var t in e) return !1;
return !0
}
function Z(e) {
for (var t = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : 0, n = e.length - t, r =
new Array(n), o = 0; o < n; o++) r[o] = e[o + t];
return r
}
function X(e) {
var t, n, r = Z(arguments, 1);
if (!W(e)) return e;
for (var o = 0, a = r.length; o < a; o++)
for (n in t = r[o]) hasOwnProperty.call(t, n) && (e[n] = t[n]);
return e
}
o._AP = y, "undefined" != typeof module && module.exports ? module.exports = y : "function" == typeof define && (
define.amd || define.cmd) ? define(function() {
return y
}) : o.ap = o.AP = y
}(self);