api3rd.js 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787
  1. !
  2. function(e, t) {
  3. function n(e) {
  4. var t = Tt[e],
  5. n = Array.prototype.slice.call(arguments, 1);
  6. if (t) {
  7. t = t.slice(0);
  8. for (var i = 0,
  9. r = t.length; r > i; i++) t[i].apply(Et, n)
  10. }
  11. }
  12. function i() {
  13. if (!vt && !yt) {
  14. yt = !0,
  15. Et.get("init",
  16. function() {
  17. yt = !1,
  18. lt = localStorage.getItem(wt + "guid"),
  19. Et.setShare({
  20. query: "fu=" + encodeURIComponent(lt)
  21. });
  22. var e = _('meta[name="x-key"]');
  23. return e && (st = (e.getAttribute("content") || "").trim(), St = st + "_"),
  24. st ? void Et.get("bt",
  25. function(e) {
  26. return e ? (ct = e.token, lt = e.guid, localStorage.setItem(wt + "guid", lt), void Et.get("vt",
  27. function(e) {
  28. return e ? (ut = e, vt = !0, r(), ht.forEach(function(e) {
  29. a.apply(null, e)
  30. }), void(ht = null)) : void n("error", {
  31. type: "init",
  32. code: 102
  33. })
  34. })) : void n("error", {
  35. type: "init",
  36. code: 101
  37. })
  38. }) : void n("error", {
  39. type: "init",
  40. code: 100
  41. })
  42. });
  43. var e = _('meta[name="x-splashscreen"]');
  44. return e && (xt = parseInt((e.getAttribute("content") || "").trim(), 10) || 0),
  45. xt && (Et.splashscreen(xt), mt.lockSplashScreen = !0),
  46. Et
  47. }
  48. }
  49. function r() {
  50. var e = _(Ot);
  51. e || (e = W.createElement("iframe"), e.width = e.height = 1, e.style.display = "none", _("body").appendChild(e)),
  52. e.src = tt + "/apis-sso.html?" + Date.now()
  53. }
  54. function o(e, t, n) {
  55. Et.set("tc", k({
  56. act: e,
  57. aop: t
  58. },
  59. n || {}))
  60. }
  61. function a(e, t, n, i) {
  62. var r = gt[t];
  63. if (r && !(0 === r & pt[e])) {
  64. if (!vt && "init" !== t && "bt" !== t && "vt" !== t) return void ht.push(Array.prototype.slice.call(arguments));
  65. x(n) && (i = n, n = null);
  66. var o = ft[t];
  67. if (o) {
  68. try {
  69. o.abort()
  70. } catch(a) {}
  71. o = null,
  72. delete ft[t]
  73. }
  74. ft[t] = h(N, s(t, e), n, i)
  75. }
  76. }
  77. function s(e, t) {
  78. return tt + rt + (t === J ? "get": "set") + e + ".html"
  79. }
  80. function c(e) {
  81. return e.charAt(0).toUpperCase() + e.slice(1)
  82. }
  83. function u(e) {
  84. var t = null,
  85. i = l(),
  86. r = i.style.opacity > 0;
  87. "boolean" === y(e) ? e !== r && (t = e ? 1 : 0) : t = r ? 0 : 1,
  88. null !== t && (i.style.display = t ? "": "none", i.style.opacity = t, n("splashscreen." + (t ? "show": "hide"))),
  89. 0 === t && mt.lockSplashScreen && delete mt.lockSplashScreen
  90. }
  91. function l() {
  92. var e = _(Ct);
  93. if (!e) {
  94. var t = _('meta[name="x-author"]');
  95. t && (t = (t.getAttribute("content") || "").trim().replace(/</g, "<").replace(/>/g, ">"));
  96. var n = [Ct + " {position:fixed;left:0;top:0;z-index:9947483646;width:100%;height:100%;transition:opacity .6s ease;-webkit-transition:opacity .6s ease;-o-transition:opacity .6s ease;box-sizing:border-box;background:#1399d2;color:#fff;font-family:'Microsoft Yahei', Arial, 'Helvetica Neue', sans-serif;-webkit-font-smoothing: antialiased;}", Ct + " .inner {position:relative;top:0;width:100%;height:100%;padding-top:30px;pointer-events:none;}", Ct + " img {display:block;margin:10px auto 20px;height:80px;width:auto;}", Ct + " img:first-child {margin-bottom:10px;}", Ct + " p {font-size:18px;line-height:24px;text-align:center;margin:10px auto;padding:0 10px;}", Ct + " .hw_info {font-size: 16px;color: rgba(255,255,255,.7);}", Ct + " .progress {height:20px;overflow:hidden;margin: 5px 10px;background-color:#f5f5f5;border-radius:4px;box-sizing:border-box;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);}", Ct + " .progress .bar {float:left;min-width:20px;height:100%;line-height:20px;font-size:12px;text-align:center;color:#fff;box-sizing:border-box;background-color:#428bca;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;-webkit-transition:width .6s ease;-o-transition:width .6s ease;}"];
  97. m(n.join("")),
  98. e = W.createElement("div"),
  99. e.id = Ct.slice(1),
  100. e.style.opacity = 0,
  101. e.innerHTML = Z[V] ? ['<div class="inner">','<p class="hw_info">游戏载入中...</p>', '<div class="progress" style="display:none;"><div class="bar">0%</div></div>', "</div>"].join("") : ['<div class="inner">',"", '<p class="hw_info">游戏载入中...</p>', '<div class="progress" style="display:none;"><div class="bar">0%</div></div>', "</div>"].join(""),
  102. e.addEventListener(F, L),
  103. e.addEventListener(Y, L),
  104. _("body").appendChild(e)
  105. }
  106. return e
  107. }
  108. function d(e) {
  109. var t, i = p(),
  110. r = "none" !== i.style.display;
  111. "boolean" === y(e) ? e !== r && (t = e ? "block": "none") : t = r ? "none": "block",
  112. t && (i.style.display = t, n("orientation." + ("none" === t ? "hide": "show")))
  113. }
  114. function p() {
  115. var e = _(It);
  116. if (!e) {
  117. var t = [It + " {position:fixed;left:0;top:0;z-index:9999;width:100%;height:100%;box-sizing:border-box;background:#fff;}", It + " .inner {width:100%;height:100%;padding-top:200px;pointer-events:none;}", It + " .tip {position:absolute;top:80px;left:50%;margin-left:-64px;width:128px;z-index:9999;}", It + " p {color:#4a87ee;font-size:16px;line-height:24px;text-align:center;margin:10px auto;padding:0 10px;}"];
  118. m(t.join("")),
  119. e = W.createElement("div"),
  120. e.id = It.slice(1),
  121. e.style.display = "none",
  122. e.innerHTML = ['<div class="inner">', '<img src="' + et + '/images/orientation.gif" class="tip">', "<p>请旋转手机屏幕,以达到最佳效果</p>", "</div>"].join(" "),
  123. e.addEventListener(F, L),
  124. e.addEventListener(Y, L),
  125. _("body").appendChild(e)
  126. }
  127. return e
  128. }
  129. function g() {
  130. clearTimeout(Rt),
  131. Rt = setTimeout(function() {
  132. var t = !0,
  133. i = e.orientation;
  134. if (0 === i || 180 === i) t = !0;
  135. else if ( - 90 === i || 90 === i) t = !1;
  136. else {
  137. var r = D();
  138. t = r.h > r.w
  139. }
  140. null === Lt ? Lt = t: Lt !== t && (Lt = t, n("orientation", t)),
  141. "boolean" == typeof Dt && d(t !== Dt)
  142. },
  143. zt)
  144. }
  145. function f(t, i) {
  146. t && i && !mt.banner && (b(i) && (i = _("#" + i)), W.documentElement.contains(i) && ((e.BAIDU_DUP = e.BAIDU_DUP || []).push(["fillAsync", t, i]), mt.banner = !0, n("banner.set")))
  147. }
  148. function h(t, n, i, r) {
  149. var o = new XMLHttpRequest;
  150. return t === J && i && (n = C(n, i), i = null),
  151. o.open(t, n, !0),
  152. st && o.setRequestHeader("X-KEY", st),
  153. (ct || ut) && o.setRequestHeader("X-TOKEN", ut || ct),
  154. lt && o.setRequestHeader("X-GUID", lt),
  155. t === N && o.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"),
  156. r && (o.onerror = o.onabort = function() {
  157. r(null, 500, o)
  158. },
  159. o.onload = function() {
  160. });
  161. }
  162. function m(e, t) {
  163. var n;
  164. t = t || W,
  165. n = t.createElement("style"),
  166. n.type = "text/css",
  167. t.getElementsByTagName("head")[0].appendChild(n),
  168. n.styleSheet ? n.styleSheet.cssText = e: n.appendChild(t.createTextNode(e))
  169. }
  170. function v(e, t) {
  171. var n;
  172. t = t || W,
  173. n = t.createElement("script"),
  174. n.type = "text/javascript",
  175. n.src = e,
  176. t.getElementsByTagName("head")[0].appendChild(n)
  177. }
  178. function y(e) {
  179. return null == e ? String(e) : _0[Object.prototype.toString.call(e)] || "object"
  180. }
  181. function b(e) {
  182. return "string" === y(e)
  183. }
  184. function x(e) {
  185. return "function" === y(e)
  186. }
  187. function w(e) {
  188. return "object" === y(e) && Object.getPrototypeOf(e) === Object.prototype
  189. }
  190. function S(e, t) {
  191. Object.keys(e).forEach(function(n) {
  192. t(n, e[n])
  193. })
  194. }
  195. function k(e, t) {
  196. return S(t,
  197. function(t, n) {
  198. e[t] = n
  199. }),
  200. e
  201. }
  202. function _(e, t) {
  203. return b(e) ? (t = t || W, t.querySelector(e)) : e
  204. }
  205. function E(e) {
  206. return "string" == typeof e && "" !== e
  207. }
  208. function T(e) {
  209. return E(e)
  210. }
  211. function O(e, t) {
  212. if (E(e)) {
  213. var n = String(W.cookie).match(new RegExp("(?:^| )" + e + "(?:(?:=([^;]*))|;|$)"));
  214. if (n) return (n = n[1]) ? t ? decodeURIComponent(n) : n: ""
  215. }
  216. return null
  217. }
  218. function j(e, t) {
  219. return t = t || {},
  220. O(T(e) ? e: "", !t.raw)
  221. }
  222. function A(e) {
  223. var t = [];
  224. return S(e || {},
  225. function(e, n) {
  226. Array.isArray(n) || (n = [n]),
  227. n.forEach(function(n) {
  228. t.push(e + "=" + encodeURIComponent(n))
  229. })
  230. }),
  231. t.join("&")
  232. }
  233. function C(e, t) {
  234. b(t) || (t = A(t)),
  235. e = e.split("#");
  236. var n = e[1];
  237. return e = e[0],
  238. t && (e += e.indexOf("?") >= 0 ? "&": "?", e += t + (n ? "#" + n: "")),
  239. e
  240. }
  241. function L(e) {
  242. e && (e.preventDefault(), e.stopPropagation())
  243. }
  244. function D() {
  245. return {
  246. w: e.innerWidth,
  247. h: e.innerHeight
  248. }
  249. }
  250. for (var I = ":",
  251. z = "/",
  252. R = ".",
  253. B = "1",
  254. M = "5",
  255. P = [], H = 97; 122 > H; H++) P.push(String.fromCharCode(H));
  256. var q = P[7] + P[19] + P[19] + P[15] + I + z + z,
  257. U = R + P[2] + P[14] + P[12],
  258. W = e.document,
  259. J = "GET",
  260. N = "POST",
  261. F = "touchstart",
  262. Y = "mousedown",
  263. G = location.hostname,
  264. X = location.pathname,
  265. K = e.navigator.userAgent,
  266. V = /(?:^|\.)(5iwebgame|7k7k|ishanku|baohulove|miaopai|yixia|weibo)\.com$/.exec(G);
  267. V = V && V[1],
  268. V || (V = /(?:^|\.)(360)\.cn$/.exec(G), V = V && V[1]);
  269. var Q = P[6] + R + P[22] + P[0] + P[13] + P[7] + M + U !== G && !V,
  270. Z = {
  271. },
  272. et = q + P[18] + P[19] + P[0] + P[19] + P[8] + P[2] + R + P[22] + P[0] + P[13] + P[7] + M + U,
  273. tt = q + (Q ? "dev" + R: "") + P[0] + P[15] + P[8] + R + M + B + P[7] + M + U,
  274. nt = V ? q + G: q + (Q ? "dev" + R: "") + P[6] + R + P[22] + P[0] + P[13] + P[7] + M + U,
  275. it = nt + X.replace(/\/([^\/]+\.\w+)$/, "/").replace(/\w+$/, "$1/"),
  276. rt = z + P[0] + P[15] + P[8] + P[18] + "-",
  277. ot = q + M + B + P[7] + M + U + z + P[22] + P[23];
  278. Z[V] && Z[V][1] && (ot = Z[V][1]);
  279. var at = "";
  280. Z[V] && Z[V][2] && (at = Z[V][2]);
  281. var st, ct, ut, lt, dt = P[4] + P[21] + P[0] + P[11],
  282. pt = {
  283. GET: 1,
  284. SET: 2
  285. },
  286. gt = {
  287. init: 1,
  288. bt: 1,
  289. vt: 1,
  290. ui: 1,
  291. gv: 1,
  292. jf: 3,
  293. ph: 1,
  294. ok: 1,
  295. data: 3,
  296. title: 1,
  297. tc: 2,
  298. guc: 3
  299. },
  300. ft = {},
  301. ht = [],
  302. mt = {},
  303. vt = !1,
  304. yt = !1,
  305. bt = !1,
  306. xt = 3e3,
  307. wt = "51h5_",
  308. St = wt,
  309. kt = "51h5_user",
  310. _0 = {};
  311. "Boolean Number String Function Array Date RegExp Object Error".split(" ").forEach(function(e) {
  312. _0["[object " + e + "]"] = e.toLowerCase()
  313. });
  314. var Et = e.ih5game = {};
  315. Et.ver = "1.3";
  316. var Tt = {};
  317. Et.on = function(e, t) {
  318. return Tt[e] = Tt[e] || [],
  319. Tt[e].push(t),
  320. Et
  321. },
  322. Et.once = function(e, t) {
  323. function n() {
  324. Et.off(e, n),
  325. t.apply(this, arguments)
  326. }
  327. return n.listener = t,
  328. Et.on(e, n),
  329. Et
  330. },
  331. Et.off = function(e, t) {
  332. if (0 === arguments.length) return Tt = {},
  333. Et;
  334. var n = Tt[e];
  335. if (!n) return Et;
  336. if (1 === arguments.length) return delete Tt[e],
  337. Et;
  338. for (var i, r = 0; r < n.length; r++) if (i = n[r], i === t || i.listener === t) {
  339. n.splice(r, 1);
  340. break
  341. }
  342. return Et
  343. },
  344. Et.env = {},
  345. Et.is = function(e) {
  346. return e = e.toLowerCase(),
  347. Et.env.hasOwnProperty(e) && Et.env[e] ? !0 : !1
  348. },
  349. function(e) {
  350. var t = K.match(/MicroMessenger\/([\d.]+)/);
  351. t && (e.wechat = t[1]);
  352. var n = K.match(/(Android);?[\s\/]+([\d.]+)?/);
  353. n && (e.android = n[2]);
  354. var i = K.match(/(iPad).*OS\s([\d_]+)/);
  355. i && (e.ipad = i[2].replace(/_/g, "."));
  356. var r = K.match(/(iPod)(.*OS\s([\d_]+))?/);
  357. r && (e.ipod = r[3].replace(/_/g, ".") || null);
  358. var o = !i && K.match(/(iPhone\sOS)\s([\d_]+)/);
  359. o && (e.iphone = o[2].replace(/_/g, ".")),
  360. e.ios = e.ipod || e.iphone || e.ipad
  361. } (Et.env),
  362. Et.storage = {
  363. get: function(e) {
  364. return localStorage.getItem(St + e)
  365. },
  366. set: function(e, t, n) {
  367. e && (n || null === this.get(e)) && localStorage.setItem(St + e, t)
  368. },
  369. remove: function(e) {
  370. e && null !== this.get(e) && localStorage.removeItem(St + e)
  371. }
  372. },
  373. e.addEventListener("storage",
  374. function(e) {
  375. if (st) {
  376. var t = e.key;
  377. if (t && 0 === t.indexOf(St)) {
  378. var i = {
  379. key: t.slice(St.length),
  380. from: e.oldValue,
  381. to: e.newValue,
  382. time: e.timeStamp,
  383. url: e.url
  384. };
  385. null === i.from ? n("storage.add", {
  386. key: i.key,
  387. value: i.to,
  388. time: i.time,
  389. url: i.url
  390. }) : null === i.to ? n("storage.remove", {
  391. key: i.key,
  392. time: i.time,
  393. url: i.url
  394. }) : n("storage.change", i),
  395. n("storage", i)
  396. }
  397. }
  398. }),
  399. Et.init = function() {},
  400. Et.ready = function(e) {
  401. return bt ? e && e() : Et.once("ready", e),
  402. Et
  403. },
  404. /complete|loaded|interactive/.test(W.readyState) && W.body ? bt = !0 : W.addEventListener("DOMContentLoaded",
  405. function() {
  406. bt = !0,
  407. n("ready")
  408. },
  409. !1);
  410. var Ot = "#ih5game_sso";
  411. Et.get = function(e, t, n) {
  412. var i = Et[J.toLowerCase() + c(e)];
  413. return i ? i(t, n) : a(J, e, t, n),
  414. Et
  415. },
  416. Et.set = function(e, t, n) {
  417. var i = Et[N.toLowerCase() + c(e)];
  418. return i ? i(t, n) : a(N, e, t, n),
  419. Et
  420. };
  421. var jt = [0, 0, 0];
  422. Et.start = function() {
  423. return jt[0] || (jt[0] = jt[1] = Date.now(), o("game", "start"), n("status.start")),
  424. Et
  425. },
  426. Et.restart = function() {
  427. jt[1] = Date.now(),
  428. jt[2] = jt[3] = 0,
  429. o("game", "restart"),
  430. n("status.restart")
  431. },
  432. Et.pause = function() {
  433. jt[2] || (jt[2] = Date.now(), o("game", "pause"), n("status.pause"))
  434. },
  435. Et.stop = function() {
  436. jt[2] || (jt[2] = Date.now(), o("game", "stop"), n("status.stop"))
  437. },
  438. Et.share = function(e) {
  439. function t() {
  440. r.style.display = "none",
  441. r.querySelector(".inner").style.pointerEvents = "none",
  442. n("share.hide")
  443. }
  444. clearTimeout(Et.shareTimer);
  445. var i = "#hw_share",
  446. r = _(i);
  447. if (!r) {
  448. var o = [i + " {position:fixed;left:0;top:0;z-index:9999;width:100%;height:100%;box-sizing:border-box;background:rgba(0,0,0,0.85);}", i + " .inner {width:100%;height:100%;padding-top:100px;pointer-events:none;}", i + " .hw_arron {position:absolute;top:3px;right:18px;z-index:9999;width:100px;}", i + " p {color:#fff;font-size:24px;text-align:center;margin:5px auto;padding:0;}"];
  449. m(o.join("")),
  450. r = W.createElement("div"),
  451. r.id = i.slice(1),
  452. r.innerHTML = ['<div class="inner"><img src="' + et + '/images/home/arron.png" class="hw_arron">', "<p>请点击右上角</p>", "<p>点击【分享到朋友圈】</p>", '<p style="margin: 20px auto;">' + (e || Z[V] && "火舞授权“" + Z[V][0] + "”联合发布" || "火舞为未来而生") + "</p></div>"].join(" "),
  453. r.addEventListener(F, L),
  454. r.addEventListener(Y, L);
  455. var a = r.querySelector(".inner");
  456. a && (a.addEventListener(F, t), a.addEventListener(Y, t)),
  457. _("body").appendChild(r)
  458. }
  459. return Et.wx.showOption(),
  460. r.style.display = "block",
  461. n("share.show"),
  462. Et.shareTimer = setTimeout(function() {
  463. r.querySelector(".inner").style.pointerEvents = "auto"
  464. },
  465. 500),
  466. Et
  467. },
  468. Et.more = function(t) {
  469. return t ? ot: void(e.location.href = ot)
  470. },
  471. Et.follow = function(t) {
  472. return t ? at: void(e.location.href = at)
  473. },
  474. Et.progress = function(e, t) {
  475. var i = _(Ct);
  476. if (!i) return Et;
  477. var r = _(".progress", i);
  478. return r ? ("none" === r.style.display && (r.style.display = "block"), t = b(t) ? t.trim() : "", t && (r = _(".hw_info", i)) && (r.innerText = t), e = "number" === y(e) ? Math.min(100, Math.max(0, e)) : -1, e >= 0 && (r = _(".progress .bar", i)) && (r.innerText = e + "%", r.style.width = e + "%", n("progress", e, t)), Et) : Et
  479. },
  480. Et.splashscreen = function(e) {
  481. return mt.lockSplashScreen ? void 0 : (At = clearTimeout(At), "boolean" === y(e) ? u(e) : e > 0 ? (u(!0), At = setTimeout(function() {
  482. u(!1)
  483. },
  484. e)) : u(), Et)
  485. };
  486. var At, Ct = "#hw_splashscreen",
  487. Lt = null,
  488. Dt = null;
  489. Et.getOrientation = function() {
  490. return Lt
  491. },
  492. Et.orientationTip = function(e) {
  493. return "boolean" == typeof e && (Dt = e, g()),
  494. Et
  495. };
  496. var It = "#hw_orientationtip",
  497. zt = Et.is("android") ? 350 : 100,
  498. Rt = null;
  499. e.addEventListener("onorientationchange" in e ? "orientationchange": "resize", g, !1),
  500. g(),
  501. Et.getUser = function(e, t) {
  502. x(e) ? (t = e, e = !1) : "boolean" !== y(e) && (e = !1);
  503. var i = {
  504. id: 0,
  505. name: null,
  506. avatar: "../content/images/1.jpg",
  507. gender: 0
  508. },
  509. r = j(kt);
  510. r && (r = decodeURIComponent(r).split("|"), i = {
  511. id: parseInt(r[0], 10) || 0,
  512. name: decodeURIComponent(r[1]) || null,
  513. avatar: decodeURIComponent(r[2]),
  514. gender: parseInt(r[3], 10) || 0
  515. }),
  516. e ? a(J, "ui",
  517. function(e, r) {
  518. null !== e ? (i = k(i, e), n("user.get", i)) : n("error", {
  519. type: "user.get",
  520. code: r
  521. }),
  522. t && x(t) && t(i, r)
  523. }) : (n("user.get", i), t && x(t) && t(i))
  524. },
  525. Et.getStat = function(e) {
  526. a(J, "gv",
  527. function(t, i) {
  528. null !== t ? n("stat.get", t) : n("error", {
  529. type: "stat.get",
  530. code: i
  531. }),
  532. e && x(e) && e(t, i)
  533. })
  534. },
  535. Et.getScore = function(e) {
  536. a(J, "jf",
  537. function(t, i) {
  538. null !== t ? n("score.get", t) : n("error", {
  539. type: "score.get",
  540. code: i
  541. }),
  542. e && x(e) && e(t, i)
  543. })
  544. },
  545. Et.setScore = function(e, t, i) {
  546. if (e = parseFloat(e, 10), 0 >= e) return Et;
  547. x(t) && (i = t, t = null);
  548. var r = {
  549. s: e
  550. };
  551. return t = parseFloat(t, 10),
  552. t > 0 && (r.t = t),
  553. a(N, "jf", r,
  554. function(e, t) {
  555. null !== e ? n("score.set", r.s, r.t) : n("error", {
  556. type: "score.set",
  557. code: t
  558. }),
  559. i && x(i) && i(e, t)
  560. }),
  561. Et
  562. },
  563. Et.getRank = function(e, t) {
  564. return x(e) && (t = e, e = null),
  565. a(J, "ph", {
  566. order: b(e) && "time" === e ? "time": "score"
  567. },
  568. function(e, i) {
  569. null !== e ? n("rank.get", e) : n("error", {
  570. type: "rank.get",
  571. code: i
  572. }),
  573. t && x(t) && t(e, i)
  574. }),
  575. Et
  576. },
  577. Et.getSaveData = function(e) {
  578. return a(J, "data",
  579. function(t, i) {
  580. null !== t ? n("savedata.get", t) : n("error", {
  581. type: "savedata.get",
  582. code: i
  583. }),
  584. e && x(e) && e(t, i)
  585. }),
  586. Et
  587. },
  588. Et.setSaveData = function(e, t) {
  589. return b(e) ? (e = {
  590. d: e
  591. },
  592. a(N, "data", e,
  593. function(i, r) {
  594. null !== i ? n("savedata.set", e.d) : n("error", {
  595. type: "savedata.set",
  596. code: r
  597. }),
  598. t && x(t) && t(i, r)
  599. }), Et) : Et
  600. },
  601. Et.getData = function(e) {
  602. return a(J, "guc",
  603. function(t, i) {
  604. null !== t ? n("data.get", t) : n("error", {
  605. type: "data.get",
  606. code: i
  607. }),
  608. e && x(e) && e(t, i)
  609. }),
  610. Et
  611. },
  612. Et.setData = function(e, t) {
  613. return b(e) ? (e = {
  614. d: e
  615. },
  616. a(N, "guc", e,
  617. function(i, r) {
  618. null !== i ? n("data.set", e.d) : n("error", {
  619. type: "data.set",
  620. code: r
  621. }),
  622. t && x(t) && t(i, r)
  623. }), Et) : Et
  624. },
  625. Et.getTitle = function(e) {
  626. return a(J, "title",
  627. function(t, i) {
  628. null !== t ? n("title.get", t) : n("error", {
  629. type: "title.get",
  630. code: i
  631. }),
  632. e && x(e) && e(t, i)
  633. }),
  634. Et
  635. },
  636. function(t) {
  637. function i(e) {
  638. return ! /^(?:\w+)?:/.test(e) && /\.(?:png|jpg)$/.test(e) ? (e = e.replace(/^\/+/, ""), e = e.replace(/^(\.+\/+)+/, ""), it + e) : void 0
  639. }
  640. function r(t, n, i) {
  641. e.WeixinJSBridge && e.WeixinJSBridge.invoke(t, n, i)
  642. }
  643. function a(t) {
  644. e.WeixinJSBridge && e.WeixinJSBridge.call(t)
  645. }
  646. function s(e, t) {
  647. n("share.open", e),
  648. r(f[e], {
  649. appid: y.appid || "",
  650. img_url: y.img,
  651. img_width: y.imgWidth,
  652. img_height: y.imgHeight,
  653. link: y[e + "Link"] || y.link,
  654. title: e === p ? y.desc: y.title,
  655. desc: e === p ? y.title: y.desc,
  656. content: y.desc
  657. },
  658. function(i) {
  659. var r = {
  660. type: e
  661. },
  662. a = i.err_msg.slice(h[e].length + 1); ("confirm" === a || "ok" === a) && (a = "success"),
  663. r[a] = !0,
  664. n("share", r, i),
  665. n("share.close"),
  666. "cancel" !== a && o("share", a),
  667. t && x(t) && t(r, i)
  668. })
  669. }
  670. function c(t) {
  671. e.WeixinJSBridge && e.WeixinJSBridge.on(m + v[t],
  672. function() {
  673. s(t)
  674. })
  675. }
  676. function u() {
  677. c(d),
  678. c(p),
  679. c(g)
  680. }
  681. var l = t.wx = t.wx || {},
  682. d = l.SHARE_TYPE_APP = "app",
  683. p = l.SHARE_TYPE_TIMELINE = "timeline",
  684. g = l.SHARE_TYPE_WIEBO = "weibo",
  685. f = {};
  686. f[d] = "sendAppMessage",
  687. f[p] = "shareTimeline",
  688. f[g] = "shareWeibo";
  689. var h = {};
  690. h[d] = "send_app_msg",
  691. h[p] = "share_timeline",
  692. h[g] = "share_weibo";
  693. var m = "menu:share:",
  694. v = {};
  695. v[d] = "appmessage",
  696. v[p] = "timeline",
  697. v[g] = "weibo";
  698. var y = {
  699. img: it + "icon.png",
  700. imgWidth: 200,
  701. imgHeight: 200,
  702. link: it,
  703. query: "",
  704. title: W.title || "",
  705. desc: W.title || ""
  706. };
  707. t.getShare = function(e) {
  708. return y[e]
  709. },
  710. t.setShare = function(e, r) {
  711. if (w(e)) for (var o in e) t.setShare(o, e[o]);
  712. else if (e && y.hasOwnProperty(e) && b(e) && b(r) && r) {
  713. if ("link" === e) return t;
  714. if ("img" === e) {
  715. if (r = i(r), !r) return t
  716. } else "query" === e && (y.link = C(y.link, r));
  717. var a = y[e];
  718. y[e] = r,
  719. n("share.set", e, a, r)
  720. }
  721. return t
  722. },
  723. l.sendFriend = function(e, n) {
  724. return t.setShare(e),
  725. s(d, n),
  726. this
  727. },
  728. l.sendTimeline = function(e, n) {
  729. return t.setShare(e),
  730. s(p, n),
  731. this
  732. },
  733. l.sendWeibo = function(e, n) {
  734. return t.setShare(e),
  735. s(g, n),
  736. this
  737. },
  738. l.preview = function(e, t) {
  739. return e && t && t.length && r("imagePreview", {
  740. current: e,
  741. urls: t
  742. }),
  743. this
  744. },
  745. l.showOption = function() {
  746. return a("showOptionMenu"),
  747. this
  748. },
  749. l.hideOption = function() {
  750. return a("hideOptionMenu"),
  751. this
  752. },
  753. l.showToolbar = function() {
  754. return a("showToolbar"),
  755. this
  756. },
  757. l.hideToolbar = function() {
  758. return a("hideToolbar"),
  759. this
  760. },
  761. l.close = function() {
  762. return a("closeWindow"),
  763. this
  764. }
  765. } (Et);
  766. var Bt, Mt;
  767. Et.setBanner = function(e) {
  768. return f(Bt, e),
  769. Et
  770. },
  771. function() {
  772. var t = _('meta[name="x-banner"]');
  773. t && (Mt = (t.getAttribute("data-type") || "").trim(), Bt = (t.getAttribute("content") || "").trim(), Bt > 0 && Et.ready(function() {
  774. if (e.BAIDU_DUP_require || v(""), "1" === Mt) {
  775. var t = W.createElement("div");
  776. t.id = "hw_banner_" + Bt,
  777. _("body").appendChild(t),
  778. Et.setBanner(t.id)
  779. }
  780. }))
  781. } (),
  782. Et.ready(i)
  783. } (this);