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