284 lines
20 KiB
JavaScript
284 lines
20 KiB
JavaScript
|
! function(e, n) { "object" == typeof exports && "object" == typeof module ? module.exports = n(e) : "function" == typeof define && (define.amd || define.cmd) ? define(function() { return n(e) }) : n(e, !0) }(window, function(o, e) {
|
||
|
function c(n, e, i) { o.WeixinJSBridge ? WeixinJSBridge.invoke(n, r(e), function(e) { a(n, e, i) }) : d(n, i) }
|
||
|
|
||
|
function i(n, i, t) { o.WeixinJSBridge ? WeixinJSBridge.on(n, function(e) { t && t.trigger && t.trigger(e), a(n, e, i) }) : d(n, t || i) }
|
||
|
|
||
|
function r(e) { return (e = e || {}).appId = M.appId, e.verifyAppId = M.appId, e.verifySignType = "sha1", e.verifyTimestamp = M.timestamp + "", e.verifyNonceStr = M.nonceStr, e.verifySignature = M.signature, e }
|
||
|
|
||
|
function n(e) { return { timeStamp: e.timestamp + "", nonceStr: e.nonceStr, package: e.package, paySign: e.paySign, signType: e.signType || "SHA1" } }
|
||
|
|
||
|
function a(e, n, i) {
|
||
|
"openEnterpriseChat" == e && (n.errCode = n.err_code), delete n.err_code, delete n.err_desc, delete n.err_detail;
|
||
|
var t = n.errMsg;
|
||
|
t || (t = n.err_msg, delete n.err_msg, t = function(e, n) {
|
||
|
var i = e,
|
||
|
t = f[i];
|
||
|
t && (i = t);
|
||
|
var o = "ok";
|
||
|
if (n) { var r = n.indexOf(":"); "confirm" == (o = n.substring(r + 1)) && (o = "ok"), "failed" == o && (o = "fail"), -1 != o.indexOf("failed_") && (o = o.substring(7)), -1 != o.indexOf("fail_") && (o = o.substring(5)), "access denied" != (o = (o = o.replace(/_/g, " ")).toLowerCase()) && "no permission to execute" != o || (o = "permission denied"), "config" == i && "function not exist" == o && (o = "ok"), "" == o && (o = "fail") }
|
||
|
return n = i + ":" + o
|
||
|
}(e, t), n.errMsg = t), (i = i || {})._complete && (i._complete(n), delete i._complete), t = n.errMsg || "", M.debug && !i.isInnerInvoke && alert(JSON.stringify(n));
|
||
|
var o = t.indexOf(":");
|
||
|
switch (t.substring(o + 1)) {
|
||
|
case "ok":
|
||
|
i.success && i.success(n);
|
||
|
break;
|
||
|
case "cancel":
|
||
|
i.cancel && i.cancel(n);
|
||
|
break;
|
||
|
default:
|
||
|
i.fail && i.fail(n)
|
||
|
}
|
||
|
i.complete && i.complete(n)
|
||
|
}
|
||
|
|
||
|
function s(e) {
|
||
|
if (e) {
|
||
|
for (var n = 0, i = e.length; n < i; ++n) {
|
||
|
var t = e[n],
|
||
|
o = p[t];
|
||
|
o && (e[n] = o)
|
||
|
}
|
||
|
return e
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function d(e, n) {
|
||
|
if (!(!M.debug || n && n.isInnerInvoke)) {
|
||
|
var i = f[e];
|
||
|
i && (e = i), n && n._complete && delete n._complete,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function l() { return (new Date).getTime() }
|
||
|
|
||
|
function u(e) { I && (o.WeixinJSBridge ? e() : t.addEventListener && t.addEventListener("WeixinJSBridgeReady", e, !1)) }
|
||
|
if (!o.jWeixin) {
|
||
|
var p = { 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", openEnterpriseRedPacket: "getRecevieBizHongBaoRequest", startSearchBeacons: "startMonitoringBeacons", stopSearchBeacons: "stopMonitoringBeacons", onSearchBeacons: "onBeaconsInRange", consumeAndShareCard: "consumedShareCard", openAddress: "editAddress" },
|
||
|
f = function() { var e = {}; for (var n in p) e[p[n]] = n; return e }(),
|
||
|
t = o.document,
|
||
|
m = t.title,
|
||
|
g = navigator.userAgent.toLowerCase(),
|
||
|
h = navigator.platform.toLowerCase(),
|
||
|
v = !(!h.match("mac") && !h.match("win")),
|
||
|
S = -1 != g.indexOf("wxdebugger"),
|
||
|
I = -1 != g.indexOf("micromessenger"),
|
||
|
y = -1 != g.indexOf("android"),
|
||
|
_ = -1 != g.indexOf("iphone") || -1 != g.indexOf("ipad"),
|
||
|
w = (O = g.match(/micromessenger\/(\d+\.\d+\.\d+)/) || g.match(/micromessenger\/(\d+\.\d+)/)) ? O[1] : "",
|
||
|
k = { initStartTime: l(), initEndTime: 0, preVerifyStartTime: 0, preVerifyEndTime: 0 },
|
||
|
T = { version: 1, appId: "", initTime: 0, preVerifyTime: 0, networkType: "", isPreVerifyOk: 1, systemType: _ ? 1 : y ? 2 : -1, clientVersion: w, url: encodeURIComponent(location.href) },
|
||
|
M = {},
|
||
|
P = { _completes: [] },
|
||
|
x = { state: 0, data: {} };
|
||
|
u(function() { k.initEndTime = l() });
|
||
|
var A = !1,
|
||
|
V = [],
|
||
|
C = {
|
||
|
config: function(e) {
|
||
|
d("config", M = e);
|
||
|
var t = !1 !== M.check;
|
||
|
u(function() {
|
||
|
if (t) c(p.config, { verifyJsApiList: s(M.jsApiList) }, function() {
|
||
|
P._complete = function(e) { k.preVerifyEndTime = l(), x.state = 1, x.data = e }, P.success = function(e) { T.isPreVerifyOk = 0 }, P.fail = function(e) { P._fail ? P._fail(e) : x.state = -1 };
|
||
|
var t = P._completes;
|
||
|
return t.push(function() {
|
||
|
! function(e) {
|
||
|
if (!(v || S || M.debug || w < "6.0.2" || T.systemType < 0)) {
|
||
|
var i = new Image;
|
||
|
T.appId = M.appId, T.initTime = k.initEndTime - k.initStartTime, T.preVerifyTime = k.preVerifyEndTime - k.preVerifyStartTime, C.getNetworkType({
|
||
|
isInnerInvoke: !0,
|
||
|
success: function(e) {
|
||
|
T.networkType = e.networkType;
|
||
|
var n = "https://open.weixin.qq.com/sdk/report?v=" + T.version + "&o=" + T.isPreVerifyOk + "&s=" + T.systemType + "&c=" + T.clientVersion + "&a=" + T.appId + "&n=" + T.networkType + "&i=" + T.initTime + "&p=" + T.preVerifyTime + "&u=" + T.url;
|
||
|
i.src = n
|
||
|
}
|
||
|
})
|
||
|
}
|
||
|
}()
|
||
|
}), P.complete = function(e) {
|
||
|
for (var n = 0, i = t.length; n < i; ++n) t[n]();
|
||
|
P._completes = []
|
||
|
}, P
|
||
|
}()), k.preVerifyStartTime = l();
|
||
|
else {
|
||
|
x.state = 1;
|
||
|
for (var e = P._completes, n = 0, i = e.length; n < i; ++n) e[n]();
|
||
|
P._completes = []
|
||
|
}
|
||
|
}), C.invoke || (C.invoke = function(e, n, i) { o.WeixinJSBridge && WeixinJSBridge.invoke(e, r(n), i) }, C.on = function(e, n) { o.WeixinJSBridge && WeixinJSBridge.on(e, n) })
|
||
|
},
|
||
|
ready: function(e) { 0 != x.state ? e() : (P._completes.push(e), !I && M.debug && e()) },
|
||
|
error: function(e) { w < "6.0.2" || (-1 == x.state ? e(x.data) : P._fail = e) },
|
||
|
checkJsApi: function(e) {
|
||
|
c("checkJsApi", { jsApiList: s(e.jsApiList) }, (e._complete = function(e) {
|
||
|
if (y) {
|
||
|
var n = e.checkResult;
|
||
|
n && (e.checkResult = JSON.parse(n))
|
||
|
}
|
||
|
e = function(e) {
|
||
|
var n = e.checkResult;
|
||
|
for (var i in n) {
|
||
|
var t = f[i];
|
||
|
t && (n[t] = n[i], delete n[i])
|
||
|
}
|
||
|
return e
|
||
|
}(e)
|
||
|
}, e))
|
||
|
},
|
||
|
onMenuShareTimeline: function(e) { i(p.onMenuShareTimeline, { complete: function() { c("shareTimeline", { title: e.title || m, desc: e.title || m, img_url: e.imgUrl || "", link: e.link || location.href, type: e.type || "link", data_url: e.dataUrl || "" }, e) } }, e) },
|
||
|
onMenuShareAppMessage: function(n) { i(p.onMenuShareAppMessage, { complete: function(e) { "favorite" === e.scene ? c("sendAppMessage", { title: n.title || m, desc: n.desc || "", link: n.link || location.href, img_url: n.imgUrl || "", type: n.type || "link", data_url: n.dataUrl || "" }) : c("sendAppMessage", { title: n.title || m, desc: n.desc || "", link: n.link || location.href, img_url: n.imgUrl || "", type: n.type || "link", data_url: n.dataUrl || "" }, n) } }, n) },
|
||
|
onMenuShareQQ: function(e) { i(p.onMenuShareQQ, { complete: function() { c("shareQQ", { title: e.title || m, desc: e.desc || "", img_url: e.imgUrl || "", link: e.link || location.href }, e) } }, e) },
|
||
|
onMenuShareWeibo: function(e) { i(p.onMenuShareWeibo, { complete: function() { c("shareWeiboApp", { title: e.title || m, desc: e.desc || "", img_url: e.imgUrl || "", link: e.link || location.href }, e) } }, e) },
|
||
|
onMenuShareQZone: function(e) { i(p.onMenuShareQZone, { complete: function() { c("shareQZone", { title: e.title || m, desc: e.desc || "", img_url: e.imgUrl || "", link: e.link || location.href }, e) } }, e) },
|
||
|
updateTimelineShareData: function(e) { c("updateTimelineShareData", { title: e.title, link: e.link, imgUrl: e.imgUrl }, e) },
|
||
|
updateAppMessageShareData: function(e) { c("updateAppMessageShareData", { title: e.title, desc: e.desc, link: e.link, imgUrl: e.imgUrl }, e) },
|
||
|
startRecord: function(e) { c("startRecord", {}, e) },
|
||
|
stopRecord: function(e) { c("stopRecord", {}, e) },
|
||
|
onVoiceRecordEnd: function(e) { i("onVoiceRecordEnd", e) },
|
||
|
playVoice: function(e) { c("playVoice", { localId: e.localId }, e) },
|
||
|
pauseVoice: function(e) { c("pauseVoice", { localId: e.localId }, e) },
|
||
|
stopVoice: function(e) { c("stopVoice", { localId: e.localId }, e) },
|
||
|
onVoicePlayEnd: function(e) { i("onVoicePlayEnd", e) },
|
||
|
uploadVoice: function(e) { c("uploadVoice", { localId: e.localId, isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 }, e) },
|
||
|
downloadVoice: function(e) { c("downloadVoice", { serverId: e.serverId, isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 }, e) },
|
||
|
translateVoice: function(e) { c("translateVoice", { localId: e.localId, isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 }, e) },
|
||
|
chooseImage: function(e) { c("chooseImage", { scene: "1|2", count: e.count || 9, sizeType: e.sizeType || ["original", "compressed"], sourceType: e.sourceType || ["album", "camera"] }, (e._complete = function(e) { if (y) { var n = e.localIds; try { n && (e.localIds = JSON.parse(n)) } catch (e) {} } }, e)) },
|
||
|
getLocation: function(e) {},
|
||
|
previewImage: function(e) { c(p.previewImage, { current: e.current, urls: e.urls }, e) },
|
||
|
uploadImage: function(e) { c("uploadImage", { localId: e.localId, isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 }, e) },
|
||
|
downloadImage: function(e) { c("downloadImage", { serverId: e.serverId, isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 }, e) },
|
||
|
getLocalImgData: function(e) {
|
||
|
!1 === A ? (A = !0, c("getLocalImgData", { localId: e.localId }, (e._complete = function(e) {
|
||
|
if (A = !1, 0 < V.length) {
|
||
|
var n = V.shift();
|
||
|
wx.getLocalImgData(n)
|
||
|
}
|
||
|
}, e))) : V.push(e)
|
||
|
},
|
||
|
getNetworkType: function(e) {
|
||
|
c("getNetworkType", {}, (e._complete = function(e) {
|
||
|
e = function(e) {
|
||
|
var n = e.errMsg;
|
||
|
e.errMsg = "getNetworkType:ok";
|
||
|
var i = e.subtype;
|
||
|
if (delete e.subtype, i) e.networkType = i;
|
||
|
else {
|
||
|
var t = n.indexOf(":"),
|
||
|
o = n.substring(t + 1);
|
||
|
switch (o) {
|
||
|
case "wifi":
|
||
|
case "edge":
|
||
|
case "wwan":
|
||
|
e.networkType = o;
|
||
|
break;
|
||
|
default:
|
||
|
e.errMsg = "getNetworkType:fail"
|
||
|
}
|
||
|
}
|
||
|
return e
|
||
|
}(e)
|
||
|
}, e))
|
||
|
},
|
||
|
openLocation: function(e) { c("openLocation", { latitude: e.latitude, longitude: e.longitude, name: e.name || "", address: e.address || "", scale: e.scale || 28, infoUrl: e.infoUrl || "" }, e) },
|
||
|
getLocation: function(e) { c(p.getLocation, { type: (e = e || {}).type || "wgs84" }, (e._complete = function(e) { delete e.type }, e)) },
|
||
|
hideOptionMenu: function(e) { c("hideOptionMenu", {}, e) },
|
||
|
showOptionMenu: function(e) { c("showOptionMenu", {}, e) },
|
||
|
closeWindow: function(e) { c("closeWindow", {}, e = e || {}) },
|
||
|
hideMenuItems: function(e) { c("hideMenuItems", { menuList: e.menuList }, e) },
|
||
|
showMenuItems: function(e) { c("showMenuItems", { menuList: e.menuList }, e) },
|
||
|
hideAllNonBaseMenuItem: function(e) { c("hideAllNonBaseMenuItem", {}, e) },
|
||
|
showAllNonBaseMenuItem: function(e) { c("showAllNonBaseMenuItem", {}, e) },
|
||
|
scanQRCode: function(e) {
|
||
|
c("scanQRCode", { needResult: (e = e || {}).needResult || 0, scanType: e.scanType || ["qrCode", "barCode"] }, (e._complete = function(e) {
|
||
|
if (_) {
|
||
|
var n = e.resultStr;
|
||
|
if (n) {
|
||
|
var i = JSON.parse(n);
|
||
|
e.resultStr = i && i.scan_code && i.scan_code.scan_result
|
||
|
}
|
||
|
}
|
||
|
}, e))
|
||
|
},
|
||
|
openAddress: function(e) {
|
||
|
c(p.openAddress, {}, (e._complete = function(e) {
|
||
|
var n;
|
||
|
(n = e).postalCode = n.addressPostalCode, delete n.addressPostalCode, n.provinceName = n.proviceFirstStageName, delete n.proviceFirstStageName, n.cityName = n.addressCitySecondStageName, delete n.addressCitySecondStageName, n.countryName = n.addressCountiesThirdStageName, delete n.addressCountiesThirdStageName, n.detailInfo = n.addressDetailInfo, delete n.addressDetailInfo, e = n
|
||
|
}, e))
|
||
|
},
|
||
|
openProductSpecificView: function(e) { c(p.openProductSpecificView, { pid: e.productId, view_type: e.viewType || 0, ext_info: e.extInfo }, e) },
|
||
|
addCard: function(e) {
|
||
|
for (var n = e.cardList, i = [], t = 0, o = n.length; t < o; ++t) {
|
||
|
var r = n[t],
|
||
|
a = { card_id: r.cardId, card_ext: r.cardExt };
|
||
|
i.push(a)
|
||
|
}
|
||
|
c(p.addCard, { card_list: i }, (e._complete = function(e) {
|
||
|
var n = e.card_list;
|
||
|
if (n) {
|
||
|
for (var i = 0, t = (n = JSON.parse(n)).length; i < t; ++i) {
|
||
|
var o = n[i];
|
||
|
o.cardId = o.card_id, o.cardExt = o.card_ext, o.isSuccess = !!o.is_succ, delete o.card_id, delete o.card_ext, delete o.is_succ
|
||
|
}
|
||
|
e.cardList = n, delete e.card_list
|
||
|
}
|
||
|
}, e))
|
||
|
},
|
||
|
chooseCard: function(e) { c("chooseCard", { app_id: M.appId, location_id: e.shopId || "", sign_type: e.signType || "SHA1", card_id: e.cardId || "", card_type: e.cardType || "", card_sign: e.cardSign, time_stamp: e.timestamp + "", nonce_str: e.nonceStr }, (e._complete = function(e) { e.cardList = e.choose_card_info, delete e.choose_card_info }, e)) },
|
||
|
openCard: function(e) {
|
||
|
for (var n = e.cardList, i = [], t = 0, o = n.length; t < o; ++t) {
|
||
|
var r = n[t],
|
||
|
a = { card_id: r.cardId, code: r.code };
|
||
|
i.push(a)
|
||
|
}
|
||
|
c(p.openCard, { card_list: i }, e)
|
||
|
},
|
||
|
consumeAndShareCard: function(e) { c(p.consumeAndShareCard, { consumedCardId: e.cardId, consumedCode: e.code }, e) },
|
||
|
chooseWXPay: function(e) { c(p.chooseWXPay, n(e), e) },
|
||
|
openEnterpriseRedPacket: function(e) { c(p.openEnterpriseRedPacket, n(e), e) },
|
||
|
startSearchBeacons: function(e) { c(p.startSearchBeacons, { ticket: e.ticket }, e) },
|
||
|
stopSearchBeacons: function(e) { c(p.stopSearchBeacons, {}, e) },
|
||
|
onSearchBeacons: function(e) { i(p.onSearchBeacons, e) },
|
||
|
openEnterpriseChat: function(e) { c("openEnterpriseChat", { useridlist: e.userIds, chatname: e.groupName }, e) },
|
||
|
launchMiniProgram: function(e) {
|
||
|
c("launchMiniProgram", {
|
||
|
targetAppId: e.targetAppId,
|
||
|
path: function(e) {
|
||
|
if ("string" == typeof e && 0 < e.length) {
|
||
|
var n = e.split("?")[0],
|
||
|
i = e.split("?")[1];
|
||
|
return n += ".html", void 0 !== i ? n + "?" + i : n
|
||
|
}
|
||
|
}(e.path),
|
||
|
envVersion: e.envVersion
|
||
|
}, e)
|
||
|
},
|
||
|
miniProgram: { navigateBack: function(e) { e = e || {}, u(function() { c("invokeMiniProgramAPI", { name: "navigateBack", arg: { delta: e.delta || 1 } }, e) }) }, navigateTo: function(e) { u(function() { c("invokeMiniProgramAPI", { name: "navigateTo", arg: { url: e.url } }, e) }) }, redirectTo: function(e) { u(function() { c("invokeMiniProgramAPI", { name: "redirectTo", arg: { url: e.url } }, e) }) }, switchTab: function(e) { u(function() { c("invokeMiniProgramAPI", { name: "switchTab", arg: { url: e.url } }, e) }) }, reLaunch: function(e) { u(function() { c("invokeMiniProgramAPI", { name: "reLaunch", arg: { url: e.url } }, e) }) }, postMessage: function(e) { u(function() { c("invokeMiniProgramAPI", { name: "postMessage", arg: e.data || {} }, e) }) }, getEnv: function(e) { u(function() { e({ miniprogram: "miniprogram" === o.__wxjs_environment }) }) } }
|
||
|
},
|
||
|
L = 1,
|
||
|
B = {};
|
||
|
return t.addEventListener("error", function(e) {
|
||
|
if (!y) {
|
||
|
var n = e.target,
|
||
|
i = n.tagName,
|
||
|
t = n.src;
|
||
|
if (("IMG" == i || "VIDEO" == i || "AUDIO" == i || "SOURCE" == i) && -1 != t.indexOf("wxlocalresource://")) {
|
||
|
e.preventDefault(), e.stopPropagation();
|
||
|
var o = n["wx-id"];
|
||
|
if (o || (o = L++, n["wx-id"] = o), B[o]) return;
|
||
|
B[o] = !0, wx.ready(function() { wx.getLocalImgData({ localId: t, success: function(e) { n.src = e.localData } }) })
|
||
|
}
|
||
|
}
|
||
|
}, !0), t.addEventListener("load", function(e) {
|
||
|
if (!y) {
|
||
|
var n = e.target,
|
||
|
i = n.tagName;
|
||
|
if (n.src, "IMG" == i || "VIDEO" == i || "AUDIO" == i || "SOURCE" == i) {
|
||
|
var t = n["wx-id"];
|
||
|
t && (B[t] = !1)
|
||
|
}
|
||
|
}
|
||
|
}, !0), e && (o.wx = o.jWeixin = C), C
|
||
|
}
|
||
|
var O
|
||
|
});
|