596 lines
17 KiB
JavaScript
596 lines
17 KiB
JavaScript
!(function(a, b) {
|
|
"function" == typeof define && (define.amd || define.cmd)
|
|
? define(function() {
|
|
return b(a);
|
|
})
|
|
: b(a, !0);
|
|
})(this, function(a, b) {
|
|
function c(b, c, d) {
|
|
a.WeixinJSBridge
|
|
? WeixinJSBridge.invoke(b, e(c), function(a) {
|
|
g(b, a, d);
|
|
})
|
|
: j(b, d);
|
|
}
|
|
function d(b, c, d) {
|
|
a.WeixinJSBridge
|
|
? WeixinJSBridge.on(b, function(a) {
|
|
d && d.trigger && d.trigger(a), g(b, a, c);
|
|
})
|
|
: d ? j(b, d) : j(b, c);
|
|
}
|
|
function e(a) {
|
|
return (a = a || {}), (a.appId = E.appId), (a.verifyAppId = E.appId), (a.verifySignType = "sha1"), (a.verifyTimestamp = E.timestamp + ""), (a.verifyNonceStr = E.nonceStr), (a.verifySignature = E.signature), a;
|
|
}
|
|
function f(a) {
|
|
return {
|
|
timeStamp: a.timestamp + "",
|
|
nonceStr: a.nonceStr,
|
|
package: a.package,
|
|
paySign: a.paySign,
|
|
signType: a.signType || "SHA1"
|
|
};
|
|
}
|
|
function g(a, b, c) {
|
|
var d, e, f;
|
|
switch ((delete b.err_code, delete b.err_desc, delete b.err_detail, (d =
|
|
b.errMsg), d || ((d = b.err_msg), delete b.err_msg, (d = h(a, d)), (b.errMsg = d)), (c = c || {}), c._complete && (c._complete(b), delete c._complete), (d = b.errMsg || ""), E.debug && !c.isInnerInvoke && alert(JSON.stringify(b)), (e = d.indexOf(":")), (f = d.substring(e + 1)))) {
|
|
case "ok":
|
|
c.success && c.success(b);
|
|
break;
|
|
case "cancel":
|
|
c.cancel && c.cancel(b);
|
|
break;
|
|
default:
|
|
c.fail && c.fail(b);
|
|
}
|
|
c.complete && c.complete(b);
|
|
}
|
|
function h(a, b) {
|
|
var e, f, c = a, d = p[c];
|
|
return d &&
|
|
(c = d), (e = "ok"), b && ((f = b.indexOf(":")), (e = b.substring(f + 1)), "confirm" == e && (e = "ok"), "failed" == e && (e = "fail"), -1 != e.indexOf("failed_") && (e = e.substring(7)), -1 != e.indexOf("fail_") && (e = e.substring(5)), (e = e.replace(/_/g, " ")), (e = e.toLowerCase()), ("access denied" == e || "no permission to execute" == e) && (e = "permission denied"), "config" == c && "function not exist" == e && (e = "ok"), "" == e && (e = "fail")), (b = c + ":" + e);
|
|
}
|
|
function i(a) {
|
|
var b, c, d, e;
|
|
if (a) {
|
|
for ((b = 0), (c = a.length); c > b; ++b)
|
|
(d = a[b]), (e = o[d]), e && (a[b] = e);
|
|
return a;
|
|
}
|
|
}
|
|
function j(a, b) {
|
|
if (!(!E.debug || (b && b.isInnerInvoke))) {
|
|
var c = p[a];
|
|
c && (a = c), b && b._complete && delete b._complete, console.log(
|
|
'"' + a + '",',
|
|
b || ""
|
|
);
|
|
}
|
|
}
|
|
function k() {
|
|
0 != D.preVerifyState &&
|
|
(u ||
|
|
v ||
|
|
E.debug ||
|
|
"6.0.2" > z ||
|
|
D.systemType < 0 ||
|
|
A ||
|
|
((A = !0), (D.appId = E.appId), (D.initTime =
|
|
C.initEndTime - C.initStartTime), (D.preVerifyTime =
|
|
C.preVerifyEndTime - C.preVerifyStartTime), H.getNetworkType({
|
|
isInnerInvoke: !0,
|
|
success: function(a) {
|
|
var b, c;
|
|
(D.networkType = a.networkType), (b =
|
|
"http://open.weixin.qq.com/sdk/report?v=" +
|
|
D.version +
|
|
"&o=" +
|
|
D.preVerifyState +
|
|
"&s=" +
|
|
D.systemType +
|
|
"&c=" +
|
|
D.clientVersion +
|
|
"&a=" +
|
|
D.appId +
|
|
"&n=" +
|
|
D.networkType +
|
|
"&i=" +
|
|
D.initTime +
|
|
"&p=" +
|
|
D.preVerifyTime +
|
|
"&u=" +
|
|
D.url), (c = new Image()), (c.src = b);
|
|
}
|
|
})));
|
|
}
|
|
function l() {
|
|
return new Date().getTime();
|
|
}
|
|
function m(b) {
|
|
w &&
|
|
(a.WeixinJSBridge
|
|
? b()
|
|
: q.addEventListener &&
|
|
q.addEventListener("WeixinJSBridgeReady", b, !1));
|
|
}
|
|
function n() {
|
|
H.invoke ||
|
|
((H.invoke = function(b, c, d) {
|
|
a.WeixinJSBridge && WeixinJSBridge.invoke(b, e(c), d);
|
|
}), (H.on = function(b, c) {
|
|
a.WeixinJSBridge && WeixinJSBridge.on(b, c);
|
|
}));
|
|
}
|
|
var o, p, q, r, s, t, u, v, w, x, y, z, A, B, C, D, E, F, G, H;
|
|
if (!a.jWeixin)
|
|
return (o = {
|
|
config: "preVerifyJSAPI",
|
|
onMenuShareTimeline: "menu:share:timeline",
|
|
onMenuShareAppMessage: "menu:share:appmessage",
|
|
onMenuShareQQ: "menu:share:qq",
|
|
onMenuShareWeibo: "menu:share:weiboApp",
|
|
onMenuShareQZone: "menu:share:QZone",
|
|
previewImage: "imagePreview",
|
|
getLocation: "geoLocation",
|
|
openProductSpecificView: "openProductViewWithPid",
|
|
addCard: "batchAddCard",
|
|
openCard: "batchViewCard",
|
|
chooseWXPay: "getBrandWCPayRequest"
|
|
}), (p = (function() {
|
|
var b, a = {};
|
|
for (b in o)
|
|
a[o[b]] = b;
|
|
return a;
|
|
})()), (q = a.document), (r =
|
|
q.title), (s = navigator.userAgent.toLowerCase()), (t = navigator.platform.toLowerCase()), (u = !(!t.match(
|
|
"mac"
|
|
) && !t.match("win"))), (v = -1 != s.indexOf("wxdebugger")), (w =
|
|
-1 != s.indexOf("micromessenger")), (x = -1 != s.indexOf("android")), (y =
|
|
-1 != s.indexOf("iphone") || -1 != s.indexOf("ipad")), (z = (function() {
|
|
var a =
|
|
s.match(/micromessenger\/(\d+\.\d+\.\d+)/) ||
|
|
s.match(/micromessenger\/(\d+\.\d+)/);
|
|
return a ? a[1] : "";
|
|
})()), (A = !1), (B = !1), (C = {
|
|
initStartTime: l(),
|
|
initEndTime: 0,
|
|
preVerifyStartTime: 0,
|
|
preVerifyEndTime: 0
|
|
}), (D = {
|
|
version: 1,
|
|
appId: "",
|
|
initTime: 0,
|
|
preVerifyTime: 0,
|
|
networkType: "",
|
|
preVerifyState: 1,
|
|
systemType: y ? 1 : x ? 2 : -1,
|
|
clientVersion: z,
|
|
url: encodeURIComponent(location.href)
|
|
}), (E = {}), (F = { _completes: [] }), (G = {
|
|
state: 0,
|
|
data: {}
|
|
}), m(function() {
|
|
C.initEndTime = l();
|
|
}), (H = {
|
|
config: function(a) {
|
|
(E = a), j("config", a);
|
|
var b = E.check === !1 ? !1 : !0;
|
|
m(function() {
|
|
var a, d, e;
|
|
if (b)
|
|
c(
|
|
o.config,
|
|
{ verifyJsApiList: i(E.jsApiList) },
|
|
(function() {
|
|
(F._complete = function(a) {
|
|
(C.preVerifyEndTime = l()), (G.state = 1), (G.data = a);
|
|
}), (F.success = function() {
|
|
D.preVerifyState = 0;
|
|
}), (F.fail = function(a) {
|
|
F._fail ? F._fail(a) : (G.state = -1);
|
|
});
|
|
var a = F._completes;
|
|
return a.push(function() {
|
|
k();
|
|
}), (F.complete = function() {
|
|
for (var c = 0, d = a.length; d > c; ++c)
|
|
a[c]();
|
|
F._completes = [];
|
|
}), F;
|
|
})()
|
|
), (C.preVerifyStartTime = l());
|
|
else {
|
|
for (
|
|
(G.state = 1), (a = F._completes), (d = 0), (e = a.length);
|
|
e > d;
|
|
++d
|
|
)
|
|
a[d]();
|
|
F._completes = [];
|
|
}
|
|
}), E.beta && n();
|
|
},
|
|
ready: function(a) {
|
|
0 != G.state ? a() : (F._completes.push(a), !w && E.debug && a());
|
|
},
|
|
error: function(a) {
|
|
"6.0.2" > z ||
|
|
B ||
|
|
((B = !0), -1 == G.state ? a(G.data) : (F._fail = a));
|
|
},
|
|
checkJsApi: function(a) {
|
|
var b = function(a) {
|
|
var c, d, b = a.checkResult;
|
|
for (c in b)
|
|
(d = p[c]), d && ((b[d] = b[c]), delete b[c]);
|
|
return a;
|
|
};
|
|
c(
|
|
"checkJsApi",
|
|
{ jsApiList: i(a.jsApiList) },
|
|
(function() {
|
|
return (a._complete = function(a) {
|
|
if (x) {
|
|
var c = a.checkResult;
|
|
c && (a.checkResult = JSON.parse(c));
|
|
}
|
|
a = b(a);
|
|
}), a;
|
|
})()
|
|
);
|
|
},
|
|
onMenuShareTimeline: function(a) {
|
|
d(
|
|
o.onMenuShareTimeline,
|
|
{
|
|
complete: function() {
|
|
c(
|
|
"shareTimeline",
|
|
{
|
|
title: a.title || r,
|
|
desc: a.title || r,
|
|
img_url: a.imgUrl || "",
|
|
link: a.link || location.href,
|
|
type: a.type || "link",
|
|
data_url: a.dataUrl || ""
|
|
},
|
|
a
|
|
);
|
|
}
|
|
},
|
|
a
|
|
);
|
|
},
|
|
onMenuShareAppMessage: function(a) {
|
|
d(
|
|
o.onMenuShareAppMessage,
|
|
{
|
|
complete: function() {
|
|
c(
|
|
"sendAppMessage",
|
|
{
|
|
title: a.title || r,
|
|
desc: a.desc || "",
|
|
link: a.link || location.href,
|
|
img_url: a.imgUrl || "",
|
|
type: a.type || "link",
|
|
data_url: a.dataUrl || ""
|
|
},
|
|
a
|
|
);
|
|
}
|
|
},
|
|
a
|
|
);
|
|
},
|
|
onMenuShareQQ: function(a) {
|
|
d(
|
|
o.onMenuShareQQ,
|
|
{
|
|
complete: function() {
|
|
c(
|
|
"shareQQ",
|
|
{
|
|
title: a.title || r,
|
|
desc: a.desc || "",
|
|
img_url: a.imgUrl || "",
|
|
link: a.link || location.href
|
|
},
|
|
a
|
|
);
|
|
}
|
|
},
|
|
a
|
|
);
|
|
},
|
|
onMenuShareWeibo: function(a) {
|
|
d(
|
|
o.onMenuShareWeibo,
|
|
{
|
|
complete: function() {
|
|
c(
|
|
"shareWeiboApp",
|
|
{
|
|
title: a.title || r,
|
|
desc: a.desc || "",
|
|
img_url: a.imgUrl || "",
|
|
link: a.link || location.href
|
|
},
|
|
a
|
|
);
|
|
}
|
|
},
|
|
a
|
|
);
|
|
},
|
|
onMenuShareQZone: function(a) {
|
|
d(
|
|
o.onMenuShareQZone,
|
|
{
|
|
complete: function() {
|
|
c(
|
|
"shareQZone",
|
|
{
|
|
title: a.title || r,
|
|
desc: a.desc || "",
|
|
img_url: a.imgUrl || "",
|
|
link: a.link || location.href
|
|
},
|
|
a
|
|
);
|
|
}
|
|
},
|
|
a
|
|
);
|
|
},
|
|
startRecord: function(a) {
|
|
c("startRecord", {}, a);
|
|
},
|
|
stopRecord: function(a) {
|
|
c("stopRecord", {}, a);
|
|
},
|
|
onVoiceRecordEnd: function(a) {
|
|
d("onVoiceRecordEnd", a);
|
|
},
|
|
playVoice: function(a) {
|
|
c("playVoice", { localId: a.localId }, a);
|
|
},
|
|
pauseVoice: function(a) {
|
|
c("pauseVoice", { localId: a.localId }, a);
|
|
},
|
|
stopVoice: function(a) {
|
|
c("stopVoice", { localId: a.localId }, a);
|
|
},
|
|
onVoicePlayEnd: function(a) {
|
|
d("onVoicePlayEnd", a);
|
|
},
|
|
uploadVoice: function(a) {
|
|
c(
|
|
"uploadVoice",
|
|
{
|
|
localId: a.localId,
|
|
isShowProgressTips: 0 == a.isShowProgressTips ? 0 : 1
|
|
},
|
|
a
|
|
);
|
|
},
|
|
downloadVoice: function(a) {
|
|
c(
|
|
"downloadVoice",
|
|
{
|
|
serverId: a.serverId,
|
|
isShowProgressTips: 0 == a.isShowProgressTips ? 0 : 1
|
|
},
|
|
a
|
|
);
|
|
},
|
|
translateVoice: function(a) {
|
|
c(
|
|
"translateVoice",
|
|
{
|
|
localId: a.localId,
|
|
isShowProgressTips: 0 == a.isShowProgressTips ? 0 : 1
|
|
},
|
|
a
|
|
);
|
|
},
|
|
chooseImage: function(a) {
|
|
c(
|
|
"chooseImage",
|
|
{
|
|
scene: "1|2",
|
|
count: a.count || 9,
|
|
sizeType: a.sizeType || ["original", "compressed"],
|
|
sourceType: a.sourceType || ["album", "camera"]
|
|
},
|
|
(function() {
|
|
return (a._complete = function(a) {
|
|
if (x) {
|
|
var b = a.localIds;
|
|
b && (a.localIds = JSON.parse(b));
|
|
}
|
|
}), a;
|
|
})()
|
|
);
|
|
},
|
|
previewImage: function(a) {
|
|
c(o.previewImage, { current: a.current, urls: a.urls }, a);
|
|
},
|
|
uploadImage: function(a) {
|
|
c(
|
|
"uploadImage",
|
|
{
|
|
localId: a.localId,
|
|
isShowProgressTips: 0 == a.isShowProgressTips ? 0 : 1
|
|
},
|
|
a
|
|
);
|
|
},
|
|
downloadImage: function(a) {
|
|
c(
|
|
"downloadImage",
|
|
{
|
|
serverId: a.serverId,
|
|
isShowProgressTips: 0 == a.isShowProgressTips ? 0 : 1
|
|
},
|
|
a
|
|
);
|
|
},
|
|
getNetworkType: function(a) {
|
|
var b = function(a) {
|
|
var c, d, e, b = a.errMsg;
|
|
if (
|
|
((a.errMsg = "getNetworkType:ok"), (c =
|
|
a.subtype), delete a.subtype, c)
|
|
)
|
|
a.networkType = c;
|
|
else
|
|
switch (((d = b.indexOf(":")), (e = b.substring(d + 1)))) {
|
|
case "wifi":
|
|
case "edge":
|
|
case "wwan":
|
|
a.networkType = e;
|
|
break;
|
|
default:
|
|
a.errMsg = "getNetworkType:fail";
|
|
}
|
|
return a;
|
|
};
|
|
c(
|
|
"getNetworkType",
|
|
{},
|
|
(function() {
|
|
return (a._complete = function(a) {
|
|
a = b(a);
|
|
}), a;
|
|
})()
|
|
);
|
|
},
|
|
openLocation: function(a) {
|
|
c(
|
|
"openLocation",
|
|
{
|
|
latitude: a.latitude,
|
|
longitude: a.longitude,
|
|
name: a.name || "",
|
|
address: a.address || "",
|
|
scale: a.scale || 28,
|
|
infoUrl: a.infoUrl || ""
|
|
},
|
|
a
|
|
);
|
|
},
|
|
getLocation: function(a) {
|
|
(a = a || {}), c(
|
|
o.getLocation,
|
|
{ type: a.type || "wgs84" },
|
|
(function() {
|
|
return (a._complete = function(a) {
|
|
delete a.type;
|
|
}), a;
|
|
})()
|
|
);
|
|
},
|
|
hideOptionMenu: function(a) {
|
|
c("hideOptionMenu", {}, a);
|
|
},
|
|
showOptionMenu: function(a) {
|
|
c("showOptionMenu", {}, a);
|
|
},
|
|
closeWindow: function(a) {
|
|
(a = a || {}), c("closeWindow", {}, a);
|
|
},
|
|
hideMenuItems: function(a) {
|
|
c("hideMenuItems", { menuList: a.menuList }, a);
|
|
},
|
|
showMenuItems: function(a) {
|
|
c("showMenuItems", { menuList: a.menuList }, a);
|
|
},
|
|
hideAllNonBaseMenuItem: function(a) {
|
|
c("hideAllNonBaseMenuItem", {}, a);
|
|
},
|
|
showAllNonBaseMenuItem: function(a) {
|
|
c("showAllNonBaseMenuItem", {}, a);
|
|
},
|
|
scanQRCode: function(a) {
|
|
(a = a || {}), c(
|
|
"scanQRCode",
|
|
{
|
|
needResult: a.needResult || 0,
|
|
scanType: a.scanType || ["qrCode", "barCode"]
|
|
},
|
|
(function() {
|
|
return (a._complete = function(a) {
|
|
var b, c;
|
|
y &&
|
|
((b = a.resultStr), b &&
|
|
((c = JSON.parse(b)), (a.resultStr =
|
|
c && c.scan_code && c.scan_code.scan_result)));
|
|
}), a;
|
|
})()
|
|
);
|
|
},
|
|
openProductSpecificView: function(a) {
|
|
c(
|
|
o.openProductSpecificView,
|
|
{ pid: a.productId, view_type: a.viewType || 0, ext_info: a.extInfo },
|
|
a
|
|
);
|
|
},
|
|
addCard: function(a) {
|
|
var e, f, g, h, b = a.cardList, d = [];
|
|
for ((e = 0), (f = b.length); f > e; ++e)
|
|
(g = b[e]), (h = { card_id: g.cardId, card_ext: g.cardExt }), d.push(
|
|
h
|
|
);
|
|
c(
|
|
o.addCard,
|
|
{ card_list: d },
|
|
(function() {
|
|
return (a._complete = function(a) {
|
|
var c, d, e, b = a.card_list;
|
|
if (b) {
|
|
for ((b = JSON.parse(b)), (c = 0), (d = b.length); d > c; ++c)
|
|
(e = b[c]), (e.cardId = e.card_id), (e.cardExt =
|
|
e.card_ext), (e.isSuccess = e.is_succ
|
|
? !0
|
|
: !1), delete e.card_id, delete e.card_ext, delete e.is_succ;
|
|
(a.cardList = b), delete a.card_list;
|
|
}
|
|
}), a;
|
|
})()
|
|
);
|
|
},
|
|
chooseCard: function(a) {
|
|
c(
|
|
"chooseCard",
|
|
{
|
|
app_id: E.appId,
|
|
location_id: a.shopId || "",
|
|
sign_type: a.signType || "SHA1",
|
|
card_id: a.cardId || "",
|
|
card_type: a.cardType || "",
|
|
card_sign: a.cardSign,
|
|
time_stamp: a.timestamp + "",
|
|
nonce_str: a.nonceStr
|
|
},
|
|
(function() {
|
|
return (a._complete = function(a) {
|
|
(a.cardList = a.choose_card_info), delete a.choose_card_info;
|
|
}), a;
|
|
})()
|
|
);
|
|
},
|
|
openCard: function(a) {
|
|
var e, f, g, h, b = a.cardList, d = [];
|
|
for ((e = 0), (f = b.length); f > e; ++e)
|
|
(g = b[e]), (h = { card_id: g.cardId, code: g.code }), d.push(h);
|
|
c(o.openCard, { card_list: d }, a);
|
|
},
|
|
chooseWXPay: function(a) {
|
|
c(o.chooseWXPay, f(a), a);
|
|
}
|
|
}), b && (a.wx = a.jWeixin = H), H;
|
|
});
|