weixin.js 19 KB

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