123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461 |
- ! function(a, b) {
- // "function" == typeof define && (define.amd || define.cmd) ? define(function() {
- // return b(a)
- // }) : b(a, !0)
- b(a, !0);
-
- }(this, function(a, b) {
- function c(b, c, d) {
- a.WeixinJSBridge ? WeixinJSBridge.invoke(b, e(c), function(a) {
- i(b, a, d)
- }) : l(b, d)
- }
- function d(b, c, d) {
- a.WeixinJSBridge ? WeixinJSBridge.on(b, function(a) {
- d && d.trigger && d.trigger(a), i(b, a, c)
- }) : d ? l(b, d) : l(b, c)
- }
- function e(a) {
- return a = a || {}, a.appId = B.appId, a.verifyAppId = B.appId, a.verifySignType = "sha1", a.verifyTimestamp = B.timestamp + "", a.verifyNonceStr = B.nonceStr, a.verifySignature = B.signature, a
- }
- function f(a, b) {
- return {
- scope: b,
- signType: "sha1",
- timeStamp: a.timestamp + "",
- nonceStr: a.nonceStr,
- addrSign: a.addrSign
- }
- }
- function g(a) {
- return {
- timeStamp: a.timestamp + "",
- nonceStr: a.nonceStr,
- "package": a.package,
- paySign: a.paySign,
- signType: "SHA1"
- }
- }
- function i(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 = j(a, d, c), b.errMsg = d), c = c || {}, c._complete && (c._complete(b), delete c._complete), d = b.errMsg || "", B.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 j(a, b) {
- var d, e, f, g;
- if (b) {
- switch (d = b.indexOf(":"), a) {
- case q.config:
- e = "config";
- break;
- case q.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 = r[e], f && (e = f)
- }
- g = b.substring(d + 1), "confirm" == g && (g = "ok"), -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 k(a) {
- var b, c, d, e;
- if (a) {
- for (b = 0, c = a.length; c > b; ++b) d = a[b], e = q[d], e && (a[b] = e);
- return a
- }
- }
- function l(a, b) {
- if (B.debug && !b.isInnerInvoke) {
- var c = r[a];
- c && (a = c), b && b._complete && delete b._complete, console.log('"' + a + '",', b || "")
- }
- }
- function m() {
- if (!("6.0.2" > y)) {
- var b = new Image;
- A.appId = B.appId, A.initTime = z.initEndTime - z.initStartTime, A.preVerifyTime = z.preVerifyEndTime - z.preVerifyStartTime, E.getNetworkType({
- isInnerInvoke: !0,
- success: function(a) {
- A.networkType = a.networkType;
- var c = "https://open.weixin.qq.com/sdk/report?v=" + A.version + "&o=" + A.isPreVerifyOk + "&s=" + A.systemType + "&c=" + A.clientVersion + "&a=" + A.appId + "&n=" + A.networkType + "&i=" + A.initTime + "&p=" + A.preVerifyTime + "&u=" + A.url;
- b.src = c
- }
- })
- }
- }
- function n() {
- return (new Date).getTime()
- }
- function o(b) {
- v && (a.WeixinJSBridge ? b() : s.addEventListener && s.addEventListener("WeixinJSBridgeReady", b, !1))
- }
- function p() {
- E.invoke || (E.invoke = function(b, c, d) {
- a.WeixinJSBridge && WeixinJSBridge.invoke(b, e(c), d)
- }, E.on = function(b, c) {
- a.WeixinJSBridge && WeixinJSBridge.on(b, c)
- })
- }
- var q, r, s, t, u, v, w, x, y, z, A, B, C, D, E;
- if (!a.jWeixin) return q = {
- 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"
- }, r = function() {
- var b, a = {};
- for (b in q) a[q[b]] = b;
- return a
- }(), s = a.document, t = s.title, u = navigator.userAgent.toLowerCase(), v = -1 != u.indexOf("micromessenger"), w = -1 != u.indexOf("android"), x = -1 != u.indexOf("iphone") || -1 != u.indexOf("ipad"), y = function() {
- var a = u.match(/micromessenger\/(\d+\.\d+\.\d+)/) || u.match(/micromessenger\/(\d+\.\d+)/);
- return a ? a[1] : ""
- }(), z = {
- initStartTime: n(),
- initEndTime: 0,
- preVerifyStartTime: 0,
- preVerifyEndTime: 0
- }, A = {
- version: 1,
- appId: "",
- initTime: 0,
- preVerifyTime: 0,
- networkType: "",
- isPreVerifyOk: 1,
- systemType: x ? 1 : w ? 2 : -1,
- clientVersion: y,
- url: encodeURIComponent(location.href)
- }, B = {}, C = {
- _completes: []
- }, D = {
- state: 0,
- res: {}
- }, o(function() {
- z.initEndTime = n()
- }), E = {
- config: function(a) {
- B = a, l("config", a), o(function() {
- c(q.config, {
- verifyJsApiList: k(B.jsApiList)
- }, function() {
- C._complete = function(a) {
- z.preVerifyEndTime = n(), D.state = 1, D.res = a
- }, C.success = function() {
- A.isPreVerifyOk = 0
- }, C.fail = function(a) {
- C._fail ? C._fail(a) : D.state = -1
- };
- var a = C._completes;
- return a.push(function() {
- B.debug || m()
- }), C.complete = function(b) {
- for (var c = 0, d = a.length; d > c; ++c) a[c](b);
- C._completes = []
- }, C
- }()), z.preVerifyStartTime = n()
- }), B.beta && p()
- },
- ready: function(a) {
- 0 != D.state ? a() : (C._completes.push(a), !v && B.debug && a())
- },
- error: function(a) {
- "6.0.2" > y || (-1 == D.state ? a(D.res) : C._fail = a)
- },
- checkJsApi: function(a) {
- var b = function(a) {
- var c, d, b = a.checkResult;
- for (c in b) d = r[c], d && (b[d] = b[c], delete b[c]);
- return a
- };
- c("checkJsApi", {
- jsApiList: k(a.jsApiList)
- }, function() {
- return a._complete = function(a) {
- if (w) {
- var c = a.checkResult;
- c && (a.checkResult = JSON.parse(c))
- }
- a = b(a)
- }, a
- }())
- },
- onMenuShareTimeline: function(a) {
- d(q.onMenuShareTimeline, {
- complete: function() {
- c("shareTimeline", {
- title: a.title || t,
- desc: a.title || t,
- img_url: a.imgUrl,
- link: a.link || location.href
- }, a)
- }
- }, a)
- },
- onMenuShareAppMessage: function(a) {
- d(q.onMenuShareAppMessage, {
- complete: function() {
- c("sendAppMessage", {
- title: a.title || t,
- 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(q.onMenuShareQQ, {
- complete: function() {
- c("shareQQ", {
- title: a.title || t,
- desc: a.desc || "",
- img_url: a.imgUrl,
- link: a.link || location.href
- }, a)
- }
- }, a)
- },
- onMenuShareWeibo: function(a) {
- d(q.onMenuShareWeibo, {
- complete: function() {
- c("shareWeiboApp", {
- title: a.title || t,
- 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: a.isShowProgressTips || 1
- }, a)
- },
- downloadVoice: function(a) {
- c("downloadVoice", {
- serverId: a.serverId,
- isShowProgressTips: a.isShowProgressTips || 1
- }, a)
- },
- translateVoice: function(a) {
- c("translateVoice", {
- localId: a.localId,
- isShowProgressTips: a.isShowProgressTips || 1
- }, a)
- },
- chooseImage: function(a) {
- c("chooseImage", {
- scene: "1|2"
- }, function() {
- return a._complete = function(a) {
- if (w) {
- var b = a.localIds;
- b && (a.localIds = JSON.parse(b))
- }
- }, a
- }())
- },
- previewImage: function(a) {
- c(q.previewImage, {
- current: a.current,
- urls: a.urls
- }, a)
- },
- uploadImage: function(a) {
- c("uploadImage", {
- localId: a.localId,
- isShowProgressTips: a.isShowProgressTips || 1
- }, a)
- },
- downloadImage: function(a) {
- c("downloadImage", {
- serverId: a.serverId,
- isShowProgressTips: a.isShowProgressTips || 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 "fail":
- case "permission denied":
- case "localparameters":
- a.errMsg = "getNetworkType:fail";
- break;
- default:
- a.networkType = e
- }
- 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) {
- c(q.getLocation, f(a, "jsapi_location"), a)
- },
- hideOptionMenu: function(a) {
- c("hideOptionMenu", {}, a)
- },
- showOptionMenu: function(a) {
- c("showOptionMenu", {}, a)
- },
- closeWindow: function(a) {
- c("closeWindow", {
- immediate_close: a && 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) {
- c("scanQRCode", {
- desc: a.desc,
- needResult: a.needResult || 0,
- scanType: a.scanType || ["qrCode", "barCode"]
- }, a)
- },
- openProductSpecificView: function(a) {
- c(q.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(q.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: B.appId,
- location_id: a.shopId || "",
- sign_type: "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(q.openCard, {
- card_list: d
- }, a)
- },
- chooseWXPay: function(a) {
- c(q.chooseWXPay, g(a), a)
- }
- }, b && (a.wx = a.jWeixin = E), E
- });
|