Created
January 25, 2017 09:02
-
-
Save dcsan/3cdda7c07864027aa493db7d49216529 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
! 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 | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment