wx-jssdk.js 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744
  1. ! function(e, n) {
  2. "function" == typeof define && (define.amd || define.cmd) ? define(function() {
  3. return n(e)
  4. }) : n(e, !0)
  5. }(window, function(o, e) {
  6. if (!o.jWeixin) {
  7. var n, c = {
  8. config: "preVerifyJSAPI",
  9. onMenuShareTimeline: "menu:share:timeline",
  10. onMenuShareAppMessage: "menu:share:appmessage",
  11. onMenuShareQQ: "menu:share:qq",
  12. onMenuShareWeibo: "menu:share:weiboApp",
  13. onMenuShareQZone: "menu:share:QZone",
  14. previewImage: "imagePreview",
  15. getLocation: "geoLocation",
  16. openProductSpecificView: "openProductViewWithPid",
  17. addCard: "batchAddCard",
  18. openCard: "batchViewCard",
  19. chooseWXPay: "getBrandWCPayRequest",
  20. openEnterpriseRedPacket: "getRecevieBizHongBaoRequest",
  21. startSearchBeacons: "startMonitoringBeacons",
  22. stopSearchBeacons: "stopMonitoringBeacons",
  23. onSearchBeacons: "onBeaconsInRange",
  24. consumeAndShareCard: "consumedShareCard",
  25. openAddress: "editAddress"
  26. },
  27. a = function() {
  28. var e = {};
  29. for (var n in c) e[c[n]] = n;
  30. return e
  31. }(),
  32. i = o.document,
  33. t = i.title,
  34. r = navigator.userAgent.toLowerCase(),
  35. s = navigator.platform.toLowerCase(),
  36. d = !(!s.match("mac") && !s.match("win")),
  37. u = -1 != r.indexOf("wxdebugger"),
  38. l = -1 != r.indexOf("micromessenger"),
  39. p = -1 != r.indexOf("android"),
  40. f = -1 != r.indexOf("iphone") || -1 != r.indexOf("ipad"),
  41. m = (n = r.match(/micromessenger\/(\d+\.\d+\.\d+)/) || r.match(/micromessenger\/(\d+\.\d+)/)) ?
  42. n[1] : "",
  43. g = {
  44. initStartTime: L(),
  45. initEndTime: 0,
  46. preVerifyStartTime: 0,
  47. preVerifyEndTime: 0
  48. },
  49. h = {
  50. version: 1,
  51. appId: "",
  52. initTime: 0,
  53. preVerifyTime: 0,
  54. networkType: "",
  55. isPreVerifyOk: 1,
  56. systemType: f ? 1 : p ? 2 : -1,
  57. clientVersion: m,
  58. url: encodeURIComponent(location.href)
  59. },
  60. v = {},
  61. S = {
  62. _completes: []
  63. },
  64. y = {
  65. state: 0,
  66. data: {}
  67. };
  68. O(function() {
  69. g.initEndTime = L()
  70. });
  71. var I = !1,
  72. _ = [],
  73. w = {
  74. config: function(e) {
  75. B("config", v = e);
  76. var t = !1 !== v.check;
  77. O(function() {
  78. if (t) M(c.config, {
  79. verifyJsApiList: C(v.jsApiList),
  80. verifyOpenTagList: C(v.openTagList)
  81. }, function() {
  82. S._complete = function(e) {
  83. g.preVerifyEndTime = L(), y.state = 1, y.data = e
  84. }, S.success = function(e) {
  85. h.isPreVerifyOk = 0
  86. }, S.fail = function(e) {
  87. S._fail ? S._fail(e) : y.state = -1
  88. };
  89. var t = S._completes;
  90. return t.push(function() {
  91. ! function() {
  92. if (!(d || u || v.debug || m < "6.0.2" || h
  93. .systemType < 0)) {
  94. var i = new Image;
  95. h.appId = v.appId, h.initTime = g
  96. .initEndTime - g.initStartTime, h
  97. .preVerifyTime = g
  98. .preVerifyEndTime - g
  99. .preVerifyStartTime, w
  100. .getNetworkType({
  101. isInnerInvoke: !0,
  102. success: function(e) {
  103. h.networkType = e
  104. .networkType;
  105. var n =
  106. "https://open.weixin.qq.com/sdk/report?v=" +
  107. h.version +
  108. "&o=" + h
  109. .isPreVerifyOk +
  110. "&s=" + h
  111. .systemType +
  112. "&c=" + h
  113. .clientVersion +
  114. "&a=" + h
  115. .appId + "&n=" +
  116. h.networkType +
  117. "&i=" + h
  118. .initTime +
  119. "&p=" + h
  120. .preVerifyTime +
  121. "&u=" + h.url;
  122. i.src = n
  123. }
  124. })
  125. }
  126. }()
  127. }), S.complete = function(e) {
  128. for (var n = 0, i = t.length; n < i; ++n) t[n]();
  129. S._completes = []
  130. }, S
  131. }()), g.preVerifyStartTime = L();
  132. else {
  133. y.state = 1;
  134. for (var e = S._completes, n = 0, i = e.length; n < i; ++n) e[n]();
  135. S._completes = []
  136. }
  137. }), w.invoke || (w.invoke = function(e, n, i) {
  138. o.WeixinJSBridge && WeixinJSBridge.invoke(e, x(n), i)
  139. }, w.on = function(e, n) {
  140. o.WeixinJSBridge && WeixinJSBridge.on(e, n)
  141. })
  142. },
  143. ready: function(e) {
  144. 0 != y.state ? e() : (S._completes.push(e), !l && v.debug && e())
  145. },
  146. error: function(e) {
  147. m < "6.0.2" || (-1 == y.state ? e(y.data) : S._fail = e)
  148. },
  149. checkJsApi: function(e) {
  150. M("checkJsApi", {
  151. jsApiList: C(e.jsApiList)
  152. }, (e._complete = function(e) {
  153. if (p) {
  154. var n = e.checkResult;
  155. n && (e.checkResult = JSON.parse(n))
  156. }
  157. e = function(e) {
  158. var n = e.checkResult;
  159. for (var i in n) {
  160. var t = a[i];
  161. t && (n[t] = n[i], delete n[i])
  162. }
  163. return e
  164. }(e)
  165. }, e))
  166. },
  167. onMenuShareTimeline: function(e) {
  168. P(c.onMenuShareTimeline, {
  169. complete: function() {
  170. M("shareTimeline", {
  171. title: e.title || t,
  172. desc: e.title || t,
  173. img_url: e.imgUrl || "",
  174. link: e.link || location.href,
  175. type: e.type || "link",
  176. data_url: e.dataUrl || ""
  177. }, e)
  178. }
  179. }, e)
  180. },
  181. onMenuShareAppMessage: function(n) {
  182. P(c.onMenuShareAppMessage, {
  183. complete: function(e) {
  184. "favorite" === e.scene ? M("sendAppMessage", {
  185. title: n.title || t,
  186. desc: n.desc || "",
  187. link: n.link || location.href,
  188. img_url: n.imgUrl || "",
  189. type: n.type || "link",
  190. data_url: n.dataUrl || ""
  191. }) : M("sendAppMessage", {
  192. title: n.title || t,
  193. desc: n.desc || "",
  194. link: n.link || location.href,
  195. img_url: n.imgUrl || "",
  196. type: n.type || "link",
  197. data_url: n.dataUrl || ""
  198. }, n)
  199. }
  200. }, n)
  201. },
  202. onMenuShareQQ: function(e) {
  203. P(c.onMenuShareQQ, {
  204. complete: function() {
  205. M("shareQQ", {
  206. title: e.title || t,
  207. desc: e.desc || "",
  208. img_url: e.imgUrl || "",
  209. link: e.link || location.href
  210. }, e)
  211. }
  212. }, e)
  213. },
  214. onMenuShareWeibo: function(e) {
  215. P(c.onMenuShareWeibo, {
  216. complete: function() {
  217. M("shareWeiboApp", {
  218. title: e.title || t,
  219. desc: e.desc || "",
  220. img_url: e.imgUrl || "",
  221. link: e.link || location.href
  222. }, e)
  223. }
  224. }, e)
  225. },
  226. onMenuShareQZone: function(e) {
  227. P(c.onMenuShareQZone, {
  228. complete: function() {
  229. M("shareQZone", {
  230. title: e.title || t,
  231. desc: e.desc || "",
  232. img_url: e.imgUrl || "",
  233. link: e.link || location.href
  234. }, e)
  235. }
  236. }, e)
  237. },
  238. updateTimelineShareData: function(e) {
  239. M("updateTimelineShareData", {
  240. title: e.title,
  241. link: e.link,
  242. imgUrl: e.imgUrl
  243. }, e)
  244. },
  245. updateAppMessageShareData: function(e) {
  246. M("updateAppMessageShareData", {
  247. title: e.title,
  248. desc: e.desc,
  249. link: e.link,
  250. imgUrl: e.imgUrl
  251. }, e)
  252. },
  253. startRecord: function(e) {
  254. M("startRecord", {}, e)
  255. },
  256. stopRecord: function(e) {
  257. M("stopRecord", {}, e)
  258. },
  259. onVoiceRecordEnd: function(e) {
  260. P("onVoiceRecordEnd", e)
  261. },
  262. playVoice: function(e) {
  263. M("playVoice", {
  264. localId: e.localId
  265. }, e)
  266. },
  267. pauseVoice: function(e) {
  268. M("pauseVoice", {
  269. localId: e.localId
  270. }, e)
  271. },
  272. stopVoice: function(e) {
  273. M("stopVoice", {
  274. localId: e.localId
  275. }, e)
  276. },
  277. onVoicePlayEnd: function(e) {
  278. P("onVoicePlayEnd", e)
  279. },
  280. uploadVoice: function(e) {
  281. M("uploadVoice", {
  282. localId: e.localId,
  283. isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1
  284. }, e)
  285. },
  286. downloadVoice: function(e) {
  287. M("downloadVoice", {
  288. serverId: e.serverId,
  289. isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1
  290. }, e)
  291. },
  292. translateVoice: function(e) {
  293. M("translateVoice", {
  294. localId: e.localId,
  295. isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1
  296. }, e)
  297. },
  298. chooseImage: function(e) {
  299. M("chooseImage", {
  300. scene: "1|2",
  301. count: e.count || 9,
  302. sizeType: e.sizeType || ["original", "compressed"],
  303. sourceType: e.sourceType || ["album", "camera"]
  304. }, (e._complete = function(e) {
  305. if (p) {
  306. var n = e.localIds;
  307. try {
  308. n && (e.localIds = JSON.parse(n))
  309. } catch (e) {}
  310. }
  311. }, e))
  312. },
  313. getLocation: function(e) {},
  314. previewImage: function(e) {
  315. M(c.previewImage, {
  316. current: e.current,
  317. urls: e.urls
  318. }, e)
  319. },
  320. uploadImage: function(e) {
  321. M("uploadImage", {
  322. localId: e.localId,
  323. isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1
  324. }, e)
  325. },
  326. downloadImage: function(e) {
  327. M("downloadImage", {
  328. serverId: e.serverId,
  329. isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1
  330. }, e)
  331. },
  332. getLocalImgData: function(e) {
  333. !1 === I ? (I = !0, M("getLocalImgData", {
  334. localId: e.localId
  335. }, (e._complete = function(e) {
  336. if (I = !1, 0 < _.length) {
  337. var n = _.shift();
  338. wx.getLocalImgData(n)
  339. }
  340. }, e))) : _.push(e)
  341. },
  342. getNetworkType: function(e) {
  343. M("getNetworkType", {}, (e._complete = function(e) {
  344. e = function(e) {
  345. var n = e.errMsg;
  346. e.errMsg = "getNetworkType:ok";
  347. var i = e.subtype;
  348. if (delete e.subtype, i) e.networkType = i;
  349. else {
  350. var t = n.indexOf(":"),
  351. o = n.substring(t + 1);
  352. switch (o) {
  353. case "wifi":
  354. case "edge":
  355. case "wwan":
  356. e.networkType = o;
  357. break;
  358. default:
  359. e.errMsg = "getNetworkType:fail"
  360. }
  361. }
  362. return e
  363. }(e)
  364. }, e))
  365. },
  366. openLocation: function(e) {
  367. M("openLocation", {
  368. latitude: e.latitude,
  369. longitude: e.longitude,
  370. name: e.name || "",
  371. address: e.address || "",
  372. scale: e.scale || 28,
  373. infoUrl: e.infoUrl || ""
  374. }, e)
  375. },
  376. getLocation: function(e) {
  377. M(c.getLocation, {
  378. type: (e = e || {}).type || "wgs84"
  379. }, (e._complete = function(e) {
  380. delete e.type
  381. }, e))
  382. },
  383. hideOptionMenu: function(e) {
  384. M("hideOptionMenu", {}, e)
  385. },
  386. showOptionMenu: function(e) {
  387. M("showOptionMenu", {}, e)
  388. },
  389. closeWindow: function(e) {
  390. M("closeWindow", {}, e = e || {})
  391. },
  392. hideMenuItems: function(e) {
  393. M("hideMenuItems", {
  394. menuList: e.menuList
  395. }, e)
  396. },
  397. showMenuItems: function(e) {
  398. M("showMenuItems", {
  399. menuList: e.menuList
  400. }, e)
  401. },
  402. hideAllNonBaseMenuItem: function(e) {
  403. M("hideAllNonBaseMenuItem", {}, e)
  404. },
  405. showAllNonBaseMenuItem: function(e) {
  406. M("showAllNonBaseMenuItem", {}, e)
  407. },
  408. scanQRCode: function(e) {
  409. M("scanQRCode", {
  410. needResult: (e = e || {}).needResult || 0,
  411. scanType: e.scanType || ["qrCode", "barCode"]
  412. }, (e._complete = function(e) {
  413. if (f) {
  414. var n = e.resultStr;
  415. if (n) {
  416. var i = JSON.parse(n);
  417. e.resultStr = i && i.scan_code && i.scan_code.scan_result
  418. }
  419. }
  420. }, e))
  421. },
  422. openAddress: function(e) {
  423. M(c.openAddress, {}, (e._complete = function(e) {
  424. e = function(e) {
  425. return e.postalCode = e.addressPostalCode, delete e
  426. .addressPostalCode, e.provinceName = e
  427. .proviceFirstStageName, delete e.proviceFirstStageName,
  428. e.cityName = e.addressCitySecondStageName, delete e
  429. .addressCitySecondStageName, e.countryName = e
  430. .addressCountiesThirdStageName, delete e
  431. .addressCountiesThirdStageName, e.detailInfo = e
  432. .addressDetailInfo, delete e.addressDetailInfo, e
  433. }(e)
  434. }, e))
  435. },
  436. openProductSpecificView: function(e) {
  437. M(c.openProductSpecificView, {
  438. pid: e.productId,
  439. view_type: e.viewType || 0,
  440. ext_info: e.extInfo
  441. }, e)
  442. },
  443. addCard: function(e) {
  444. for (var n = e.cardList, i = [], t = 0, o = n.length; t < o; ++t) {
  445. var r = n[t],
  446. a = {
  447. card_id: r.cardId,
  448. card_ext: r.cardExt
  449. };
  450. i.push(a)
  451. }
  452. M(c.addCard, {
  453. card_list: i
  454. }, (e._complete = function(e) {
  455. var n = e.card_list;
  456. if (n) {
  457. for (var i = 0, t = (n = JSON.parse(n)).length; i < t; ++i) {
  458. var o = n[i];
  459. o.cardId = o.card_id, o.cardExt = o.card_ext, o
  460. .isSuccess = !!o.is_succ, delete o.card_id, delete o
  461. .card_ext, delete o.is_succ
  462. }
  463. e.cardList = n, delete e.card_list
  464. }
  465. }, e))
  466. },
  467. chooseCard: function(e) {
  468. M("chooseCard", {
  469. app_id: v.appId,
  470. location_id: e.shopId || "",
  471. sign_type: e.signType || "SHA1",
  472. card_id: e.cardId || "",
  473. card_type: e.cardType || "",
  474. card_sign: e.cardSign,
  475. time_stamp: e.timestamp + "",
  476. nonce_str: e.nonceStr
  477. }, (e._complete = function(e) {
  478. e.cardList = e.choose_card_info, delete e.choose_card_info
  479. }, e))
  480. },
  481. openCard: function(e) {
  482. for (var n = e.cardList, i = [], t = 0, o = n.length; t < o; ++t) {
  483. var r = n[t],
  484. a = {
  485. card_id: r.cardId,
  486. code: r.code
  487. };
  488. i.push(a)
  489. }
  490. M(c.openCard, {
  491. card_list: i
  492. }, e)
  493. },
  494. consumeAndShareCard: function(e) {
  495. M(c.consumeAndShareCard, {
  496. consumedCardId: e.cardId,
  497. consumedCode: e.code
  498. }, e)
  499. },
  500. chooseWXPay: function(e) {
  501. M(c.chooseWXPay, V(e), e)
  502. },
  503. openEnterpriseRedPacket: function(e) {
  504. M(c.openEnterpriseRedPacket, V(e), e)
  505. },
  506. startSearchBeacons: function(e) {
  507. M(c.startSearchBeacons, {
  508. ticket: e.ticket
  509. }, e)
  510. },
  511. stopSearchBeacons: function(e) {
  512. M(c.stopSearchBeacons, {}, e)
  513. },
  514. onSearchBeacons: function(e) {
  515. P(c.onSearchBeacons, e)
  516. },
  517. openEnterpriseChat: function(e) {
  518. M("openEnterpriseChat", {
  519. useridlist: e.userIds,
  520. chatname: e.groupName
  521. }, e)
  522. },
  523. launchMiniProgram: function(e) {
  524. M("launchMiniProgram", {
  525. targetAppId: e.targetAppId,
  526. path: function(e) {
  527. if ("string" == typeof e && 0 < e.length) {
  528. var n = e.split("?")[0],
  529. i = e.split("?")[1];
  530. return n += ".html", void 0 !== i ? n + "?" + i : n
  531. }
  532. }(e.path),
  533. envVersion: e.envVersion
  534. }, e)
  535. },
  536. openBusinessView: function(e) {
  537. M("openBusinessView", {
  538. businessType: e.businessType,
  539. queryString: e.queryString || "",
  540. envVersion: e.envVersion
  541. }, (e._complete = function(n) {
  542. if (p) {
  543. var e = n.extraData;
  544. if (e) try {
  545. n.extraData = JSON.parse(e)
  546. } catch (e) {
  547. n.extraData = {}
  548. }
  549. }
  550. }, e))
  551. },
  552. miniProgram: {
  553. navigateBack: function(e) {
  554. e = e || {}, O(function() {
  555. M("invokeMiniProgramAPI", {
  556. name: "navigateBack",
  557. arg: {
  558. delta: e.delta || 1
  559. }
  560. }, e)
  561. })
  562. },
  563. navigateTo: function(e) {
  564. O(function() {
  565. M("invokeMiniProgramAPI", {
  566. name: "navigateTo",
  567. arg: {
  568. url: e.url
  569. }
  570. }, e)
  571. })
  572. },
  573. redirectTo: function(e) {
  574. O(function() {
  575. M("invokeMiniProgramAPI", {
  576. name: "redirectTo",
  577. arg: {
  578. url: e.url
  579. }
  580. }, e)
  581. })
  582. },
  583. switchTab: function(e) {
  584. O(function() {
  585. M("invokeMiniProgramAPI", {
  586. name: "switchTab",
  587. arg: {
  588. url: e.url
  589. }
  590. }, e)
  591. })
  592. },
  593. reLaunch: function(e) {
  594. O(function() {
  595. M("invokeMiniProgramAPI", {
  596. name: "reLaunch",
  597. arg: {
  598. url: e.url
  599. }
  600. }, e)
  601. })
  602. },
  603. postMessage: function(e) {
  604. O(function() {
  605. M("invokeMiniProgramAPI", {
  606. name: "postMessage",
  607. arg: e.data || {}
  608. }, e)
  609. })
  610. },
  611. getEnv: function(e) {
  612. O(function() {
  613. e({
  614. miniprogram: "miniprogram" === o.__wxjs_environment
  615. })
  616. })
  617. }
  618. }
  619. },
  620. T = 1,
  621. k = {};
  622. return i.addEventListener("error", function(e) {
  623. if (!p) {
  624. var n = e.target,
  625. i = n.tagName,
  626. t = n.src;
  627. if ("IMG" == i || "VIDEO" == i || "AUDIO" == i || "SOURCE" == i)
  628. if (-1 != t.indexOf("wxlocalresource://")) {
  629. e.preventDefault(), e.stopPropagation();
  630. var o = n["wx-id"];
  631. if (o || (o = T++, n["wx-id"] = o), k[o]) return;
  632. k[o] = !0, wx.ready(function() {
  633. wx.getLocalImgData({
  634. localId: t,
  635. success: function(e) {
  636. n.src = e.localData
  637. }
  638. })
  639. })
  640. }
  641. }
  642. }, !0), i.addEventListener("load", function(e) {
  643. if (!p) {
  644. var n = e.target,
  645. i = n.tagName;
  646. n.src;
  647. if ("IMG" == i || "VIDEO" == i || "AUDIO" == i || "SOURCE" == i) {
  648. var t = n["wx-id"];
  649. t && (k[t] = !1)
  650. }
  651. }
  652. }, !0), e && (o.wx = o.jWeixin = w), w
  653. }
  654. function M(n, e, i) {
  655. o.WeixinJSBridge ? WeixinJSBridge.invoke(n, x(e), function(e) {
  656. A(n, e, i)
  657. }) : B(n, i)
  658. }
  659. function P(n, i, t) {
  660. o.WeixinJSBridge ? WeixinJSBridge.on(n, function(e) {
  661. t && t.trigger && t.trigger(e), A(n, e, i)
  662. }) : B(n, t || i)
  663. }
  664. function x(e) {
  665. return (e = e || {}).appId = v.appId, e.verifyAppId = v.appId, e.verifySignType = "sha1", e
  666. .verifyTimestamp = v.timestamp + "", e.verifyNonceStr = v.nonceStr, e.verifySignature = v
  667. .signature, e
  668. }
  669. function V(e) {
  670. return {
  671. timeStamp: e.timestamp + "",
  672. nonceStr: e.nonceStr,
  673. package: e.package,
  674. paySign: e.paySign,
  675. signType: e.signType || "SHA1"
  676. }
  677. }
  678. function A(e, n, i) {
  679. "openEnterpriseChat" != e && "openBusinessView" !== e || (n.errCode = n.err_code), delete n
  680. .err_code, delete n.err_desc, delete n.err_detail;
  681. var t = n.errMsg;
  682. t || (t = n.err_msg, delete n.err_msg, t = function(e, n) {
  683. var i = e,
  684. t = a[i];
  685. t && (i = t);
  686. var o = "ok";
  687. if (n) {
  688. var r = n.indexOf(":");
  689. "confirm" == (o = n.substring(r + 1)) && (o = "ok"), "failed" == o && (o = "fail"),
  690. -1 != o.indexOf("failed_") && (o = o.substring(7)), -1 != o.indexOf("fail_") &&
  691. (o = o.substring(5)), "access denied" != (o = (o = o.replace(/_/g, " "))
  692. .toLowerCase()) && "no permission to execute" != o || (o =
  693. "permission denied"), "config" == i && "function not exist" == o && (o =
  694. "ok"), "" == o && (o = "fail")
  695. }
  696. return n = i + ":" + o
  697. }(e, t), n.errMsg = t), (i = i || {})._complete && (i._complete(n), delete i._complete), t = n
  698. .errMsg || "", v.debug && !i.isInnerInvoke && alert(JSON.stringify(n));
  699. var o = t.indexOf(":");
  700. switch (t.substring(o + 1)) {
  701. case "ok":
  702. i.success && i.success(n);
  703. break;
  704. case "cancel":
  705. i.cancel && i.cancel(n);
  706. break;
  707. default:
  708. i.fail && i.fail(n)
  709. }
  710. i.complete && i.complete(n)
  711. }
  712. function C(e) {
  713. if (e) {
  714. for (var n = 0, i = e.length; n < i; ++n) {
  715. var t = e[n],
  716. o = c[t];
  717. o && (e[n] = o)
  718. }
  719. return e
  720. }
  721. }
  722. function B(e, n) {
  723. if (!(!v.debug || n && n.isInnerInvoke)) {
  724. var i = a[e];
  725. i && (e = i), n && n._complete && delete n._complete, console.log('"' + e + '",', n || "")
  726. }
  727. }
  728. function L() {
  729. return (new Date).getTime()
  730. }
  731. function O(e) {
  732. l && (o.WeixinJSBridge ? e() : i.addEventListener && i.addEventListener("WeixinJSBridgeReady", e, !
  733. 1))
  734. }
  735. });