From 47688fe09371436ce82325c08e1a22eaa65c3a8c Mon Sep 17 00:00:00 2001 From: "yanxi.me" Date: Sat, 21 Jan 2017 00:44:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=88=B0=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E5=AE=98=E6=96=B9=20js=20sdk=201.2.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 +- index.js | 707 ++++++++++++++++++++++++++-------------------- index.original.js | 4 +- package.json | 2 +- 4 files changed, 405 insertions(+), 316 deletions(-) diff --git a/README.md b/README.md index 6ea1aa4..aac9b27 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,9 @@ 说明: 仅将官方 js-sdk 发布到 npm,便于 browserify 使用 -js源码: [http://res.wx.qq.com/open/js/jweixin-1.0.0.js](http://res.wx.qq.com/open/js/jweixin-1.0.0.js) +js源码: https://res.wx.qq.com/open/js/jweixin-1.2.0.js -官方使用说明: [http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html](http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html) +官方使用说明: https://mp.weixin.qq.com/wiki 微信网页开发 - iOS 网页开发适配指南 安装: @@ -14,3 +14,7 @@ js源码: [http://res.wx.qq.com/open/js/jweixin-1.0.0.js](http://res.wx.qq.com/o 使用: var wx = require('weixin-js-sdk'); + +### Old version + +[1.0.0](https://github.com/yanxi-me/weixin-js-sdk/tree/1.0.0) diff --git a/index.js b/index.js index 830faac..a05328c 100644 --- a/index.js +++ b/index.js @@ -3,33 +3,40 @@ }(window, function (a, b) { function c(b, c, d) { a.WeixinJSBridge ? WeixinJSBridge.invoke(b, e(c), function (a) { - g(b, a, d) - }) : j(b, d) + h(b, a, d) + }) : k(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) + d && d.trigger && d.trigger(a), h(b, a, c) + }) : d ? k(b, d) : k(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 + return a = a || {}, a.appId = D.appId, a.verifyAppId = D.appId, a.verifySignType = "sha1", a.verifyTimestamp = D.timestamp + "", a.verifyNonceStr = D.nonceStr, a.verifySignature = D.signature, a } function f(a) { return { timeStamp: a.timestamp + "", nonceStr: a.nonceStr, - "package": a.package, + "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)) { + function g(a) { + return a.postalCode = a.addressPostalCode, delete a.addressPostalCode, a.provinceName = a.proviceFirstStageName, delete a.proviceFirstStageName, a.cityName = a.addressCitySecondStageName, delete a.addressCitySecondStageName, a.countryName = a.addressCountiesThirdStageName, delete a.addressCountiesThirdStageName, a.detailInfo = a.addressDetailInfo, delete a.addressDetailInfo, a + } + + function h(a, b, c) { + "openEnterpriseChat" == a && (b.errCode = b.err_code), delete b.err_code, delete b.err_desc, delete b.err_detail; + var d = b.errMsg; + d || (d = b.err_msg, delete b.err_msg, d = i(a, d), b.errMsg = d), c = c || {}, c._complete && (c._complete(b), delete c._complete), d = b.errMsg || "", D.debug && !c.isInnerInvoke && alert(JSON.stringify(b)); + var e = d.indexOf(":"), f = d.substring(e + 1); + switch (f) { case"ok": c.success && c.success(b); break; @@ -42,341 +49,419 @@ c.complete && c.complete(b) } - function h(a, b) { - var d, e, f, g; + function i(a, b) { + var c = a, d = q[c]; + d && (c = d); + var e = "ok"; 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 + var 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") } - return b + return b = c + ":" + e } - function i(a) { - var b, c, d, e; + function j(a) { if (a) { - for (b = 0, c = a.length; c > b; ++b)d = a[b], e = o[d], e && (a[b] = e); + for (var b = 0, c = a.length; c > b; ++b) { + var d = a[b], e = p[d]; + e && (a[b] = e) + } return a } } - function j(a, b) { - if (!(!z.debug || b && b.isInnerInvoke)) { - var c = p[a]; + function k(a, b) { + if (!(!D.debug || b && b.isInnerInvoke)) { + var c = q[a]; c && (a = c), b && b._complete && delete b._complete, console.log('"' + a + '",', b || "") } } - function k() { - if (!("6.0.2" > w || y.systemType < 0)) { + function l(a) { + if (!(v || w || D.debug || "6.0.2" > A || C.systemType < 0)) { var b = new Image; - y.appId = z.appId, y.initTime = x.initEndTime - x.initStartTime, y.preVerifyTime = x.preVerifyEndTime - x.preVerifyStartTime, C.getNetworkType({ + C.appId = D.appId, C.initTime = B.initEndTime - B.initStartTime, C.preVerifyTime = B.preVerifyEndTime - B.preVerifyStartTime, I.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; + C.networkType = a.networkType; + var c = "https://open.weixin.qq.com/sdk/report?v=" + C.version + "&o=" + C.isPreVerifyOk + "&s=" + C.systemType + "&c=" + C.clientVersion + "&a=" + C.appId + "&n=" + C.networkType + "&i=" + C.initTime + "&p=" + C.preVerifyTime + "&u=" + C.url; b.src = c } }) } } - function l() { + function m() { return (new Date).getTime() } - function m(b) { - t && (a.WeixinJSBridge ? b() : q.addEventListener && q.addEventListener("WeixinJSBridgeReady", b, !1)) + function n(b) { + x && (a.WeixinJSBridge ? b() : r.addEventListener && r.addEventListener("WeixinJSBridgeReady", b, !1)) } - function n() { - C.invoke || (C.invoke = function (b, c, d) { + function o() { + I.invoke || (I.invoke = function (b, c, d) { a.WeixinJSBridge && WeixinJSBridge.invoke(b, e(c), d) - }, C.on = function (b, c) { + }, I.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", - 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 = -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); - var b = z.check === !1 ? !1 : !0; - m(function () { - var a, d, e; - if (b)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 () { - for (var c = 0, d = a.length; d > c; ++c)a[c](); - A._completes = [] - }, A - }()), x.preVerifyStartTime = l(); else { - for (B.state = 1, a = A._completes, d = 0, e = a.length; e > d; ++d)a[d](); - A._completes = [] - } - }), 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)) + if (!a.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" + }, q = function () { + var a = {}; + for (var b in p)a[p[b]] = b; + return a + }(), r = a.document, s = r.title, t = navigator.userAgent.toLowerCase(), u = navigator.platform.toLowerCase(), v = !(!u.match("mac") && !u.match("win")), w = -1 != t.indexOf("wxdebugger"), x = -1 != t.indexOf("micromessenger"), y = -1 != t.indexOf("android"), z = -1 != t.indexOf("iphone") || -1 != t.indexOf("ipad"), A = function () { + var a = t.match(/micromessenger\/(\d+\.\d+\.\d+)/) || t.match(/micromessenger\/(\d+\.\d+)/); + return a ? a[1] : "" + }(), B = {initStartTime: m(), initEndTime: 0, preVerifyStartTime: 0, preVerifyEndTime: 0}, C = { + version: 1, + appId: "", + initTime: 0, + preVerifyTime: 0, + networkType: "", + isPreVerifyOk: 1, + systemType: z ? 1 : y ? 2 : -1, + clientVersion: A, + url: encodeURIComponent(location.href) + }, D = {}, E = {_completes: []}, F = {state: 0, data: {}}; + n(function () { + B.initEndTime = m() + }); + var G = !1, H = [], I = { + config: function (a) { + D = a, k("config", a); + var b = D.check === !1 ? !1 : !0; + n(function () { + if (b)c(p.config, {verifyJsApiList: j(D.jsApiList)}, function () { + E._complete = function (a) { + B.preVerifyEndTime = m(), F.state = 1, F.data = a + }, E.success = function (a) { + C.isPreVerifyOk = 0 + }, E.fail = function (a) { + E._fail ? E._fail(a) : F.state = -1 + }; + var a = E._completes; + return a.push(function () { + l() + }), E.complete = function (b) { + for (var c = 0, d = a.length; d > c; ++c)a[c](); + E._completes = [] + }, E + }()), B.preVerifyStartTime = m(); else { + F.state = 1; + for (var a = E._completes, d = 0, e = a.length; e > d; ++d)a[d](); + E._completes = [] } - 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) - }, 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 (u) { - var b = a.localIds; - b && (a.localIds = JSON.parse(b)) + }), D.beta && o() + }, ready: function (a) { + 0 != F.state ? a() : (E._completes.push(a), !x && D.debug && a()) + }, error: function (a) { + "6.0.2" > A || (-1 == F.state ? a(F.data) : E._fail = a) + }, checkJsApi: function (a) { + var b = function (a) { + var b = a.checkResult; + for (var c in b) { + var d = q[c]; + d && (b[d] = b[c], delete b[c]) } - }, 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 + return a + }; + c("checkJsApi", {jsApiList: j(a.jsApiList)}, function () { + return a._complete = function (a) { + if (y) { + var c = a.checkResult; + c && (a.checkResult = JSON.parse(c)) + } + a = b(a) + }, a + }()) + }, onMenuShareTimeline: function (a) { + d(p.onMenuShareTimeline, { + complete: function () { + c("shareTimeline", { + title: a.title || s, + desc: a.title || s, + img_url: a.imgUrl || "", + link: a.link || location.href, + type: a.type || "link", + data_url: a.dataUrl || "" + }, a) } - }, 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 + }, a) + }, onMenuShareAppMessage: function (a) { + d(p.onMenuShareAppMessage, { + complete: function () { + c("sendAppMessage", { + title: a.title || s, + 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(p.onMenuShareQQ, { + complete: function () { + c("shareQQ", { + title: a.title || s, + desc: a.desc || "", + img_url: a.imgUrl || "", + link: a.link || location.href + }, a) + } + }, a) + }, onMenuShareWeibo: function (a) { + d(p.onMenuShareWeibo, { + complete: function () { + c("shareWeiboApp", { + title: a.title || s, + desc: a.desc || "", + img_url: a.imgUrl || "", + link: a.link || location.href + }, a) + } + }, a) + }, onMenuShareQZone: function (a) { + d(p.onMenuShareQZone, { + complete: function () { + c("shareQZone", { + title: a.title || s, + 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 (y) { + var b = a.localIds; + b && (a.localIds = JSON.parse(b)) + } + }, a + }()) + }, getLocation: function (a) { + }, previewImage: function (a) { + c(p.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) + }, getLocalImgData: function (a) { + G === !1 ? (G = !0, c("getLocalImgData", {localId: a.localId}, function () { + return a._complete = function (a) { + if (G = !1, H.length > 0) { + var b = H.shift(); + wx.getLocalImgData(b) + } + }, a + }())) : H.push(a) + }, getNetworkType: function (a) { + var b = function (a) { + var b = a.errMsg; + a.errMsg = "getNetworkType:ok"; + var c = a.subtype; + if (delete a.subtype, c)a.networkType = c; else { + var d = b.indexOf(":"), e = b.substring(d + 1); + switch (e) { + 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(p.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) { + if (z) { + var b = a.resultStr; + if (b) { + var c = JSON.parse(b); + a.resultStr = c && c.scan_code && c.scan_code.scan_result + } + } + }, a + }()) + }, openAddress: function (a) { + c(p.openAddress, {}, function () { + return a._complete = function (a) { + a = g(a) + }, a + }()) + }, openProductSpecificView: function (a) { + c(p.openProductSpecificView, {pid: a.productId, view_type: a.viewType || 0, ext_info: a.extInfo}, a) + }, addCard: function (a) { + for (var b = a.cardList, d = [], e = 0, f = b.length; f > e; ++e) { + var g = b[e], h = {card_id: g.cardId, card_ext: g.cardExt}; + d.push(h) + } + c(p.addCard, {card_list: d}, function () { + return a._complete = function (a) { + var b = a.card_list; + if (b) { + b = JSON.parse(b); + for (var c = 0, d = b.length; d > c; ++c) { + var 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: D.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) { + for (var b = a.cardList, d = [], e = 0, f = b.length; f > e; ++e) { + var g = b[e], h = {card_id: g.cardId, code: g.code}; + d.push(h) + } + c(p.openCard, {card_list: d}, a) + }, consumeAndShareCard: function (a) { + c(p.consumeAndShareCard, {consumedCardId: a.cardId, consumedCode: a.code}, a) + }, chooseWXPay: function (a) { + c(p.chooseWXPay, f(a), a) + }, openEnterpriseRedPacket: function (a) { + c(p.openEnterpriseRedPacket, f(a), a) + }, startSearchBeacons: function (a) { + c(p.startSearchBeacons, {ticket: a.ticket}, a) + }, stopSearchBeacons: function (a) { + c(p.stopSearchBeacons, {}, a) + }, onSearchBeacons: function (a) { + d(p.onSearchBeacons, a) + }, openEnterpriseChat: function (a) { + c("openEnterpriseChat", {useridlist: a.userIds, chatname: a.groupName}, a) + } + }, J = 1, K = {}; + return r.addEventListener("error", function (a) { + if (!y) { + var b = a.target, c = b.tagName, d = b.src; + if ("IMG" == c || "VIDEO" == c || "AUDIO" == c || "SOURCE" == c) { + var e = -1 != d.indexOf("wxlocalresource://"); + if (e) { + a.preventDefault(), a.stopPropagation(); + var f = b["wx-id"]; + if (f || (f = J++, b["wx-id"] = f), K[f])return; + K[f] = !0, wx.getLocalImgData({ + localId: d, success: function (a) { + b.src = a.localData + } + }) + } + } + } + }, !0), r.addEventListener("load", function (a) { + if (!y) { + var b = a.target, c = b.tagName; + b.src; + if ("IMG" == c || "VIDEO" == c || "AUDIO" == c || "SOURCE" == c) { + var d = b["wx-id"]; + d && (K[d] = !1) + } + } + }, !0), b && (a.wx = a.jWeixin = I), I + } }); \ No newline at end of file diff --git a/index.original.js b/index.original.js index f175d5c..c901be1 100644 --- a/index.original.js +++ b/index.original.js @@ -1,2 +1,2 @@ -// from http://res.wx.qq.com/open/js/jweixin-1.0.0.js -!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&&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",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=-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);var b=z.check===!1?!1:!0;m(function(){var a,d,e;if(b)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(){for(var c=0,d=a.length;d>c;++c)a[c]();A._completes=[]},A}()),x.preVerifyStartTime=l();else{for(B.state=1,a=A._completes,d=0,e=a.length;e>d;++d)a[d]();A._completes=[]}}),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)},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(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}); \ No newline at end of file +// from https://res.wx.qq.com/open/js/jweixin-1.2.0.js +!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){h(b,a,d)}):k(b,d)}function d(b,c,d){a.WeixinJSBridge?WeixinJSBridge.on(b,function(a){d&&d.trigger&&d.trigger(a),h(b,a,c)}):d?k(b,d):k(b,c)}function e(a){return a=a||{},a.appId=D.appId,a.verifyAppId=D.appId,a.verifySignType="sha1",a.verifyTimestamp=D.timestamp+"",a.verifyNonceStr=D.nonceStr,a.verifySignature=D.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){return a.postalCode=a.addressPostalCode,delete a.addressPostalCode,a.provinceName=a.proviceFirstStageName,delete a.proviceFirstStageName,a.cityName=a.addressCitySecondStageName,delete a.addressCitySecondStageName,a.countryName=a.addressCountiesThirdStageName,delete a.addressCountiesThirdStageName,a.detailInfo=a.addressDetailInfo,delete a.addressDetailInfo,a}function h(a,b,c){"openEnterpriseChat"==a&&(b.errCode=b.err_code),delete b.err_code,delete b.err_desc,delete b.err_detail;var d=b.errMsg;d||(d=b.err_msg,delete b.err_msg,d=i(a,d),b.errMsg=d),c=c||{},c._complete&&(c._complete(b),delete c._complete),d=b.errMsg||"",D.debug&&!c.isInnerInvoke&&alert(JSON.stringify(b));var e=d.indexOf(":"),f=d.substring(e+1);switch(f){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 i(a,b){var c=a,d=q[c];d&&(c=d);var e="ok";if(b){var 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")}return b=c+":"+e}function j(a){if(a){for(var b=0,c=a.length;c>b;++b){var d=a[b],e=p[d];e&&(a[b]=e)}return a}}function k(a,b){if(!(!D.debug||b&&b.isInnerInvoke)){var c=q[a];c&&(a=c),b&&b._complete&&delete b._complete,console.log('"'+a+'",',b||"")}}function l(a){if(!(v||w||D.debug||"6.0.2">A||C.systemType<0)){var b=new Image;C.appId=D.appId,C.initTime=B.initEndTime-B.initStartTime,C.preVerifyTime=B.preVerifyEndTime-B.preVerifyStartTime,I.getNetworkType({isInnerInvoke:!0,success:function(a){C.networkType=a.networkType;var c="https://open.weixin.qq.com/sdk/report?v="+C.version+"&o="+C.isPreVerifyOk+"&s="+C.systemType+"&c="+C.clientVersion+"&a="+C.appId+"&n="+C.networkType+"&i="+C.initTime+"&p="+C.preVerifyTime+"&u="+C.url;b.src=c}})}}function m(){return(new Date).getTime()}function n(b){x&&(a.WeixinJSBridge?b():r.addEventListener&&r.addEventListener("WeixinJSBridgeReady",b,!1))}function o(){I.invoke||(I.invoke=function(b,c,d){a.WeixinJSBridge&&WeixinJSBridge.invoke(b,e(c),d)},I.on=function(b,c){a.WeixinJSBridge&&WeixinJSBridge.on(b,c)})}if(!a.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"},q=function(){var a={};for(var b in p)a[p[b]]=b;return a}(),r=a.document,s=r.title,t=navigator.userAgent.toLowerCase(),u=navigator.platform.toLowerCase(),v=!(!u.match("mac")&&!u.match("win")),w=-1!=t.indexOf("wxdebugger"),x=-1!=t.indexOf("micromessenger"),y=-1!=t.indexOf("android"),z=-1!=t.indexOf("iphone")||-1!=t.indexOf("ipad"),A=function(){var a=t.match(/micromessenger\/(\d+\.\d+\.\d+)/)||t.match(/micromessenger\/(\d+\.\d+)/);return a?a[1]:""}(),B={initStartTime:m(),initEndTime:0,preVerifyStartTime:0,preVerifyEndTime:0},C={version:1,appId:"",initTime:0,preVerifyTime:0,networkType:"",isPreVerifyOk:1,systemType:z?1:y?2:-1,clientVersion:A,url:encodeURIComponent(location.href)},D={},E={_completes:[]},F={state:0,data:{}};n(function(){B.initEndTime=m()});var G=!1,H=[],I={config:function(a){D=a,k("config",a);var b=D.check===!1?!1:!0;n(function(){if(b)c(p.config,{verifyJsApiList:j(D.jsApiList)},function(){E._complete=function(a){B.preVerifyEndTime=m(),F.state=1,F.data=a},E.success=function(a){C.isPreVerifyOk=0},E.fail=function(a){E._fail?E._fail(a):F.state=-1};var a=E._completes;return a.push(function(){l()}),E.complete=function(b){for(var c=0,d=a.length;d>c;++c)a[c]();E._completes=[]},E}()),B.preVerifyStartTime=m();else{F.state=1;for(var a=E._completes,d=0,e=a.length;e>d;++d)a[d]();E._completes=[]}}),D.beta&&o()},ready:function(a){0!=F.state?a():(E._completes.push(a),!x&&D.debug&&a())},error:function(a){"6.0.2">A||(-1==F.state?a(F.data):E._fail=a)},checkJsApi:function(a){var b=function(a){var b=a.checkResult;for(var c in b){var d=q[c];d&&(b[d]=b[c],delete b[c])}return a};c("checkJsApi",{jsApiList:j(a.jsApiList)},function(){return a._complete=function(a){if(y){var c=a.checkResult;c&&(a.checkResult=JSON.parse(c))}a=b(a)},a}())},onMenuShareTimeline:function(a){d(p.onMenuShareTimeline,{complete:function(){c("shareTimeline",{title:a.title||s,desc:a.title||s,img_url:a.imgUrl||"",link:a.link||location.href,type:a.type||"link",data_url:a.dataUrl||""},a)}},a)},onMenuShareAppMessage:function(a){d(p.onMenuShareAppMessage,{complete:function(){c("sendAppMessage",{title:a.title||s,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(p.onMenuShareQQ,{complete:function(){c("shareQQ",{title:a.title||s,desc:a.desc||"",img_url:a.imgUrl||"",link:a.link||location.href},a)}},a)},onMenuShareWeibo:function(a){d(p.onMenuShareWeibo,{complete:function(){c("shareWeiboApp",{title:a.title||s,desc:a.desc||"",img_url:a.imgUrl||"",link:a.link||location.href},a)}},a)},onMenuShareQZone:function(a){d(p.onMenuShareQZone,{complete:function(){c("shareQZone",{title:a.title||s,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(y){var b=a.localIds;b&&(a.localIds=JSON.parse(b))}},a}())},getLocation:function(a){},previewImage:function(a){c(p.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)},getLocalImgData:function(a){G===!1?(G=!0,c("getLocalImgData",{localId:a.localId},function(){return a._complete=function(a){if(G=!1,H.length>0){var b=H.shift();wx.getLocalImgData(b)}},a}())):H.push(a)},getNetworkType:function(a){var b=function(a){var b=a.errMsg;a.errMsg="getNetworkType:ok";var c=a.subtype;if(delete a.subtype,c)a.networkType=c;else{var d=b.indexOf(":"),e=b.substring(d+1);switch(e){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(p.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){if(z){var b=a.resultStr;if(b){var c=JSON.parse(b);a.resultStr=c&&c.scan_code&&c.scan_code.scan_result}}},a}())},openAddress:function(a){c(p.openAddress,{},function(){return a._complete=function(a){a=g(a)},a}())},openProductSpecificView:function(a){c(p.openProductSpecificView,{pid:a.productId,view_type:a.viewType||0,ext_info:a.extInfo},a)},addCard:function(a){for(var b=a.cardList,d=[],e=0,f=b.length;f>e;++e){var g=b[e],h={card_id:g.cardId,card_ext:g.cardExt};d.push(h)}c(p.addCard,{card_list:d},function(){return a._complete=function(a){var b=a.card_list;if(b){b=JSON.parse(b);for(var c=0,d=b.length;d>c;++c){var 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:D.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){for(var b=a.cardList,d=[],e=0,f=b.length;f>e;++e){var g=b[e],h={card_id:g.cardId,code:g.code};d.push(h)}c(p.openCard,{card_list:d},a)},consumeAndShareCard:function(a){c(p.consumeAndShareCard,{consumedCardId:a.cardId,consumedCode:a.code},a)},chooseWXPay:function(a){c(p.chooseWXPay,f(a),a)},openEnterpriseRedPacket:function(a){c(p.openEnterpriseRedPacket,f(a),a)},startSearchBeacons:function(a){c(p.startSearchBeacons,{ticket:a.ticket},a)},stopSearchBeacons:function(a){c(p.stopSearchBeacons,{},a)},onSearchBeacons:function(a){d(p.onSearchBeacons,a)},openEnterpriseChat:function(a){c("openEnterpriseChat",{useridlist:a.userIds,chatname:a.groupName},a)}},J=1,K={};return r.addEventListener("error",function(a){if(!y){var b=a.target,c=b.tagName,d=b.src;if("IMG"==c||"VIDEO"==c||"AUDIO"==c||"SOURCE"==c){var e=-1!=d.indexOf("wxlocalresource://");if(e){a.preventDefault(),a.stopPropagation();var f=b["wx-id"];if(f||(f=J++,b["wx-id"]=f),K[f])return;K[f]=!0,wx.getLocalImgData({localId:d,success:function(a){b.src=a.localData}})}}}},!0),r.addEventListener("load",function(a){if(!y){var b=a.target,c=b.tagName;b.src;if("IMG"==c||"VIDEO"==c||"AUDIO"==c||"SOURCE"==c){var d=b["wx-id"];d&&(K[d]=!1)}}},!0),b&&(a.wx=a.jWeixin=I),I}}); diff --git a/package.json b/package.json index 3af03c6..2f87741 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "weixin-js-sdk", - "version": "1.0.7", + "version": "1.2.0", "main": "index.js", "description": "微信官方 js-sdk CommonJS 版", "repository": {