libs/modules/weixinapi/weixinapi.js
(开头部分) 11KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
!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 = z.appId, a.verifyAppId = z.appId, a.verifySignType = "sha1", a.verifyTimestamp = z.timestamp + "", a.verifyNonceStr = z.nonceStr, a.verifySignature = z.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, c), b.errMsg = d), c = c || {}, c._complete && (c._complete(b), delete c._complete), d = b.errMsg || "", z.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 d, e, f, g; if (b) {
switch (d = b.indexOf(":"), a) {
case o.config:
e = "config";
break;
case o.openProductSpecificView:
e = "openProductSpecificView";
break;
default: e = b.substring(0, d), e = e.replace(/_/g, " "), e = e.replace(/\b\w+\b/g, function (a) { return a.substring(0, 1).toUpperCase() + a.substring(1); }), e = e.substring(0, 1).toLowerCase() + e.substring(1), e = e.replace(/ /g, ""), -1 != e.indexOf("Wcpay") && (e = e.replace("Wcpay", "WCPay")), f = p[e], f && (e = f);
}
g = b.substring(d + 1), "confirm" == g && (g = "ok"), "failed" == g && (g = "fail"), -1 != g.indexOf("failed_") && (g = g.substring(7)), -1 != g.indexOf("fail_") && (g = g.substring(5)), g = g.replace(/_/g, " "), g = g.toLowerCase(), ("access denied" == g || "no permission to execute" == g) && (g = "permission denied"), "config" == e && "function not exist" == g && (g = "ok"), b = e + ":" + g;
} return b; } 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 (z.debug && !b.isInnerInvoke) {
var c = p[a];
c && (a = c), b && b._complete && delete b._complete, console.log('"' + a + '",', b || "");
} } function k() { if (!("6.0.2" > w || y.systemType < 0)) {
var b = new Image;
y.appId = z.appId, y.initTime = x.initEndTime - x.initStartTime, y.preVerifyTime = x.preVerifyEndTime - x.preVerifyStartTime, C.getNetworkType({ isInnerInvoke: !0, success: function (a) { y.networkType = a.networkType; var c = "https://open.weixin.qq.com/sdk/report?v=" + y.version + "&o=" + y.isPreVerifyOk + "&s=" + y.systemType + "&c=" + y.clientVersion + "&a=" + y.appId + "&n=" + y.networkType + "&i=" + y.initTime + "&p=" + y.preVerifyTime + "&u=" + y.url; b.src = c; } });
} } function l() { return (new Date).getTime(); } function m(b) { t && (a.WeixinJSBridge ? b() : q.addEventListener && q.addEventListener("WeixinJSBridgeReady", b, !1)); } function n() { C.invoke || (C.invoke = function (b, c, d) { a.WeixinJSBridge && WeixinJSBridge.invoke(b, e(c), d); }, C.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; if (!a.jWeixin)
return o = { config: "preVerifyJSAPI", onMenuShareTimeline: "menu:share:timeline", onMenuShareAppMessage: "menu:share:appmessage", onMenuShareQQ: "menu:share:qq", onMenuShareWeibo: "menu:share:weiboApp", 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 = -1 != s.indexOf("micromessenger"), u = -1 != s.indexOf("android"), v = -1 != s.indexOf("iphone") || -1 != s.indexOf("ipad"), w = function () { var a = s.match(/micromessenger\/(\d+\.\d+\.\d+)/) || s.match(/micromessenger\/(\d+\.\d+)/); return a ? a[1] : ""; }(), x = { initStartTime: l(), initEndTime: 0, preVerifyStartTime: 0, preVerifyEndTime: 0 }, y = { version: 1, appId: "", initTime: 0, preVerifyTime: 0, networkType: "", isPreVerifyOk: 1, systemType: v ? 1 : u ? 2 : -1, clientVersion: w, url: encodeURIComponent(location.href) }, z = {}, A = { _completes: [] }, B = { state: 0, res: {} }, m(function () { x.initEndTime = l(); }), C = { config: function (a) { z = a, j("config", a), m(function () { c(o.config, { verifyJsApiList: i(z.jsApiList) }, function () { A._complete = function (a) { x.preVerifyEndTime = l(), B.state = 1, B.res = a; }, A.success = function () { y.isPreVerifyOk = 0; }, A.fail = function (a) { A._fail ? A._fail(a) : B.state = -1; }; var a = A._completes; return a.push(function () { z.debug || k(); }), A.complete = function (b) { for (var c = 0, d = a.length; d > c; ++c)
a[c](b); A._completes = []; }, A; }()), x.preVerifyStartTime = l(); }), z.beta && n(); }, ready: function (a) { 0 != B.state ? a() : (A._completes.push(a), !t && z.debug && a()); }, error: function (a) { "6.0.2" > w || (-1 == B.state ? a(B.res) : A._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 (u) {
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 }, 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); }, 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"] }, function () { return a._complete = function (a) { if (u) {
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", { immediate_close: a.immediateClose || 0 }, 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; v && (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 }, 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: z.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 = C), C; });
var BodyConfig = function () { };
var BodyCheckJsAPISupport = function () { };
var BodyMenuShareTimeline = function () { };
var BodyMenuShareAppMessage = function () { };
后面还有 2 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
