!function (e, n) { "function" == typeof define && (define.amd || define.cmd) ? define(function () { return n(e) }) : n(e, !0) }(this, function (e, n) { function i(n, i, t) { e.weixinjsbridge ? weixinjsbridge.invoke(n, o(i), function (e) { c(n, e, t) }) : u(n, t) } function t(n, i, t) { e.weixinjsbridge ? weixinjsbridge.on(n, function (e) { t && t.trigger && t.trigger(e), c(n, e, i) }) : t ? u(n, t) : u(n, i) } function o(e) { return e = e || {}, e.appid = p.appid, e.verifyappid = p.appid, e.verifysigntype = "sha1", e.verifytimestamp = p.timestamp + "", e.verifynoncestr = p.noncestr, e.verifysignature = p.signature, e } function r(e) { return { timestamp: e.timestamp + "", noncestr: e.noncestr, package: e.package, paysign: e.paysign, signtype: e.signtype || "sha1" } } function a(e) { return 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 } function c(e, n, i) { "openenterprisechat" == e && (n.errcode = n.err_code), delete n.err_code, delete n.err_desc, delete n.err_detail; var t = n.errmsg; t || (t = n.err_msg, delete n.err_msg, t = s(e, t), n.errmsg = t), (i = i || {})._complete && (i._complete(n), delete i._complete), t = n.errmsg || "", p.debug && !i.isinnerinvoke && alert(json.stringify(n)); var o = t.indexof(":"); switch (t.substring(o + 1)) { case "ok": i.success && i.success(n); break; case "cancel": i.cancel && i.cancel(n); break; default: i.fail && i.fail(n) }i.complete && i.complete(n) } function s(e, n) { var i = e, t = h[i]; t && (i = t); var o = "ok"; if (n) { var r = n.indexof(":"); "confirm" == (o = n.substring(r + 1)) && (o = "ok"), "failed" == o && (o = "fail"), -1 != o.indexof("failed_") && (o = o.substring(7)), -1 != o.indexof("fail_") && (o = o.substring(5)), "access denied" != (o = (o = o.replace(/_/g, " ")).tolowercase()) && "no permission to execute" != o || (o = "permission denied"), "config" == i && "function not exist" == o && (o = "ok"), "" == o && (o = "fail") } return n = i + ":" + o } function d(e) { if (e) { for (var n = 0, i = e.length; n < i; ++n) { var t = e[n], o = g[t]; o && (e[n] = o) } return e } } function u(e, n) { if (!(!p.debug || n && n.isinnerinvoke)) { var i = h[e]; i && (e = i), n && n._complete && delete n._complete, console.log('"' + e + '",', n || "") } } function l(e) { if (!(i || t || p.debug || c < "6.0.2" || x.systemtype < 0)) { var n = new image; x.appid = p.appid, x.inittime = v.initendtime - v.initstarttime, x.preverifytime = v.preverifyendtime - v.preverifystarttime, b.getnetworktype({ isinnerinvoke: !0, success: function (e) { x.networktype = e.networktype; var i = "https://open.weixin.qq.com/sdk/report?v=" + x.version + "&o=" + x.ispreverifyok + "&s=" + x.systemtype + "&c=" + x.clientversion + "&a=" + x.appid + "&n=" + x.networktype + "&i=" + x.inittime + "&p=" + x.preverifytime + "&u=" + x.url; n.src = i } }) } } function p() { return (new date).gettime() } function f(n) { w && (e.weixinjsbridge ? n() : s.addeventlistener && s.addeventlistener("weixinjsbridgeready", n, !1)) } function m() { b.invoke || (b.invoke = function (n, i, t) { e.weixinjsbridge && weixinjsbridge.invoke(n, o(i), t) }, b.on = function (n, i) { e.weixinjsbridge && weixinjsbridge.on(n, i) }) } if (!e.jweixin) { var g = { 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" }, h = function () { var e = {}; for (var n in g) e[g[n]] = n; return e }(), s = e.document, y = s.title, v = navigator.useragent.tolowercase(), _ = navigator.platform.tolowercase(), i = !(!_.match("mac") && !_.match("win")), t = -1 != v.indexof("wxdebugger"), w = -1 != v.indexof("micromessenger"), k = -1 != v.indexof("android"), m = -1 != v.indexof("iphone") || -1 != v.indexof("ipad"), c = function () { var e = v.match(/micromessenger\/(\d+\.\d+\.\d+)/) || v.match(/micromessenger\/(\d+\.\d+)/); return e ? e[1] : "" }(), v = { initstarttime: p(), initendtime: 0, preverifystarttime: 0, preverifyendtime: 0 }, x = { version: 1, appid: "", inittime: 0, preverifytime: 0, networktype: "", ispreverifyok: 1, systemtype: m ? 1 : k ? 2 : -1, clientversion: c, url: encodeuricomponent(location.href) }, p = {}, a = { _completes: [] }, b = { state: 0, data: {} }; f(function () { v.initendtime = p() }); var b = { config: function (e) { p = e, u("config", e); var n = !1 !== p.check; f(function () { if (n) i(g.config, { verifyjsapilist: d(p.jsapilist) }, function () { a._complete = function (e) { v.preverifyendtime = p(), b.state = 1, b.data = e }, a.success = function (e) { x.ispreverifyok = 0 }, a.fail = function (e) { a._fail ? a._fail(e) : b.state = -1 }; var e = a._completes; return e.push(function () { l() }), a.complete = function (n) { for (var i = 0, t = e.length; i < t; ++i)e[i](); a._completes = [] }, a }()), v.preverifystarttime = p(); else { b.state = 1; for (var e = a._completes, t = 0, o = e.length; t < o; ++t)e[t](); a._completes = [] } }), p.beta && m() }, ready: function (e) { 0 != b.state ? e() : (a._completes.push(e), !w && p.debug && e()) }, error: function (e) { c < "6.0.2" || (-1 == b.state ? e(b.data) : a._fail = e) }, checkjsapi: function (e) { var n = function (e) { var n = e.checkresult; for (var i in n) { var t = h[i]; t && (n[t] = n[i], delete n[i]) } return e }; i("checkjsapi", { jsapilist: d(e.jsapilist) }, (e._complete = function (e) { if (k) { var i = e.checkresult; i && (e.checkresult = json.parse(i)) } e = n(e) }, e)) }, onmenusharetimeline: function (e) { t(g.onmenusharetimeline, { complete: function () { i("sharetimeline", { title: e.title || y, desc: e.title || y, img_url: e.imgurl || "", link: e.link || location.href, type: e.type || "link", data_url: e.dataurl || "" }, e) } }, e) }, onmenushareappmessage: function (e) { t(g.onmenushareappmessage, { complete: function (n) { "favorite" === n.scene ? i("sendappmessage", { title: e.title || y, desc: e.desc || "", link: e.link || location.href, img_url: e.imgurl || "", type: e.type || "link", data_url: e.dataurl || "" }) : i("sendappmessage", { title: e.title || y, desc: e.desc || "", link: e.link || location.href, img_url: e.imgurl || "", type: e.type || "link", data_url: e.dataurl || "" }, e) } }, e) }, onmenushareqq: function (e) { t(g.onmenushareqq, { complete: function () { i("shareqq", { title: e.title || y, desc: e.desc || "", img_url: e.imgurl || "", link: e.link || location.href }, e) } }, e) }, onmenushareweibo: function (e) { t(g.onmenushareweibo, { complete: function () { i("shareweiboapp", { title: e.title || y, desc: e.desc || "", img_url: e.imgurl || "", link: e.link || location.href }, e) } }, e) }, onmenushareqzone: function (e) { t(g.onmenushareqzone, { complete: function () { i("shareqzone", { title: e.title || y, desc: e.desc || "", img_url: e.imgurl || "", link: e.link || location.href }, e) } }, e) }, startrecord: function (e) { i("startrecord", {}, e) }, stoprecord: function (e) { i("stoprecord", {}, e) }, onvoicerecordend: function (e) { t("onvoicerecordend", e) }, playvoice: function (e) { i("playvoice", { localid: e.localid }, e) }, pausevoice: function (e) { i("pausevoice", { localid: e.localid }, e) }, stopvoice: function (e) { i("stopvoice", { localid: e.localid }, e) }, onvoiceplayend: function (e) { t("onvoiceplayend", e) }, uploadvoice: function (e) { i("uploadvoice", { localid: e.localid, isshowprogresstips: 0 == e.isshowprogresstips ? 0 : 1 }, e) }, downloadvoice: function (e) { i("downloadvoice", { serverid: e.serverid, isshowprogresstips: 0 == e.isshowprogresstips ? 0 : 1 }, e) }, translatevoice: function (e) { i("translatevoice", { localid: e.localid, isshowprogresstips: 0 == e.isshowprogresstips ? 0 : 1 }, e) }, chooseimage: function (e) { i("chooseimage", { scene: "1|2", count: e.count || 9, sizetype: e.sizetype || ["original", "compressed"], sourcetype: e.sourcetype || ["album", "camera"] }, (e._complete = function (e) { if (k) { var n = e.localids; n && (e.localids = json.parse(n)) } }, e)) }, previewimage: function (e) { i(g.previewimage, { current: e.current, urls: e.urls }, e) }, uploadimage: function (e) { i("uploadimage", { localid: e.localid, isshowprogresstips: 0 == e.isshowprogresstips ? 0 : 1 }, e) }, downloadimage: function (e) { i("downloadimage", { serverid: e.serverid, isshowprogresstips: 0 == e.isshowprogresstips ? 0 : 1 }, e) }, getnetworktype: function (e) { var n = function (e) { var n = e.errmsg; e.errmsg = "getnetworktype:ok"; var i = e.subtype; if (delete e.subtype, i) e.networktype = i; else { var t = n.indexof(":"), o = n.substring(t + 1); switch (o) { case "wifi": case "edge": case "wwan": e.networktype = o; break; default: e.errmsg = "getnetworktype:fail" } } return e }; i("getnetworktype", {}, (e._complete = function (e) { e = n(e) }, e)) }, openlocation: function (e) { i("openlocation", { latitude: e.latitude, longitude: e.longitude, name: e.name || "", address: e.address || "", scale: e.scale || 28, infourl: e.infourl || "" }, e) }, getlocation: function (e) { e = e || {}, i(g.getlocation, { type: e.type || "wgs84" }, (e._complete = function (e) { delete e.type }, e)) }, hideoptionmenu: function (e) { i("hideoptionmenu", {}, e) }, showoptionmenu: function (e) { i("showoptionmenu", {}, e) }, closewindow: function (e) { i("closewindow", {}, e = e || {}) }, hidemenuitems: function (e) { i("hidemenuitems", { menulist: e.menulist }, e) }, showmenuitems: function (e) { i("showmenuitems", { menulist: e.menulist }, e) }, hideallnonbasemenuitem: function (e) { i("hideallnonbasemenuitem", {}, e) }, showallnonbasemenuitem: function (e) { i("showallnonbasemenuitem", {}, e) }, scanqrcode: function (e) { i("scanqrcode", { needresult: (e = e || {}).needresult || 0, scantype: e.scantype || ["qrcode", "barcode"] }, (e._complete = function (e) { if (m) { var n = e.resultstr; if (n) { var i = json.parse(n); e.resultstr = i && i.scan_code && i.scan_code.scan_result } } }, e)) }, openaddress: function (e) { i(g.openaddress, {}, (e._complete = function (e) { e = a(e) }, e)) }, openproductspecificview: function (e) { i(g.openproductspecificview, { pid: e.productid, view_type: e.viewtype || 0, ext_info: e.extinfo }, e) }, addcard: function (e) { for (var n = e.cardlist, t = [], o = 0, r = n.length; o < r; ++o) { var a = n[o], c = { card_id: a.cardid, card_ext: a.cardext }; t.push(c) } i(g.addcard, { card_list: t }, (e._complete = function (e) { var n = e.card_list; if (n) { for (var i = 0, t = (n = json.parse(n)).length; i < t; ++i) { var o = n[i]; o.cardid = o.card_id, o.cardext = o.card_ext, o.issuccess = !!o.is_succ, delete o.card_id, delete o.card_ext, delete o.is_succ } e.cardlist = n, delete e.card_list } }, e)) }, choosecard: function (e) { i("choosecard", { app_id: p.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, t = [], o = 0, r = n.length; o < r; ++o) { var a = n[o], c = { card_id: a.cardid, code: a.code }; t.push(c) } i(g.opencard, { card_list: t }, e) }, consumeandsharecard: function (e) { i(g.consumeandsharecard, { consumedcardid: e.cardid, consumedcode: e.code }, e) }, choosewxpay: function (e) { i(g.choosewxpay, r(e), e) }, openenterpriseredpacket: function (e) { i(g.openenterpriseredpacket, r(e), e) }, startsearchbeacons: function (e) { i(g.startsearchbeacons, { ticket: e.ticket }, e) }, stopsearchbeacons: function (e) { i(g.stopsearchbeacons, {}, e) }, onsearchbeacons: function (e) { t(g.onsearchbeacons, e) }, openenterprisechat: function (e) { i("openenterprisechat", { useridlist: e.userids, chatname: e.groupname }, e) } }; return n && (e.wx = e.jweixin = b), b } });