Files
jefferyzhao b9bdc8598b first commit
2025-07-31 17:44:12 +08:00

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;
});