game.js 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381
  1. window.qike = {}, qike.util = qike.utils = {}, qike.ui = {}, qike.lib = {}, qike.template = {}, qike.global = {}, qike.global.CLASS_NAME_SHOW = "dspb", qike.global.CLASS_NAME_HIDE = "dspn", function() {
  2. function insertHTML(el, where, html) {
  3. if (!el) return !1;
  4. if (where = where.toLowerCase(), el.insertAdjacentHTML) el.insertAdjacentHTML(where, html);
  5. else {
  6. var range = el.ownerDocument.createRange(),
  7. frag = null;
  8. switch (where) {
  9. case "beforebegin":
  10. return range.setStartBefore(el), frag = range.createContextualFragment(html), el.parentNode.insertBefore(frag, el), el.previousSibling;
  11. case "afterbegin":
  12. return el.firstChild ? (range.setStartBefore(el.firstChild), frag = range.createContextualFragment(html), el.insertBefore(frag, el.firstChild)) : el.innerHTML = html, el.firstChild;
  13. case "beforeend":
  14. return el.lastChild ? (range.setStartAfter(el.lastChild), frag = range.createContextualFragment(html), el.appendChild(frag)) : el.innerHTML = html, el.lastChild;
  15. case "afterend":
  16. return range.setStartAfter(el), frag = range.createContextualFragment(html), el.parentNode.insertBefore(frag, el.nextSibling), el.nextSibling
  17. }
  18. }
  19. }
  20. qike.util.insertHTML = insertHTML
  21. }(), function() {
  22. "use strict";
  23. function detect(ua) {
  24. var os = this.os = {},
  25. browser = this.browser = {},
  26. webkit = ua.match(/Web[kK]it[\/]{0,1}([\d.]+)/),
  27. android = ua.match(/(Android);?[\s\/]+([\d.]+)?/),
  28. ipad = ua.match(/(iPad).*OS\s([\d_]+)/),
  29. ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/),
  30. iphone = !ipad && ua.match(/(iPhone\sOS)\s([\d_]+)/),
  31. webos = ua.match(/(webOS|hpwOS)[\s\/]([\d.]+)/),
  32. touchpad = webos && ua.match(/TouchPad/),
  33. kindle = ua.match(/Kindle\/([\d.]+)/),
  34. silk = ua.match(/Silk\/([\d._]+)/),
  35. blackberry = ua.match(/(BlackBerry).*Version\/([\d.]+)/),
  36. bb10 = ua.match(/(BB10).*Version\/([\d.]+)/),
  37. rimtabletos = ua.match(/(RIM\sTablet\sOS)\s([\d.]+)/),
  38. playbook = ua.match(/PlayBook/),
  39. chrome = ua.match(/Chrome\/([\d.]+)/) || ua.match(/CriOS\/([\d.]+)/),
  40. firefox = ua.match(/Firefox\/([\d.]+)/),
  41. ie = ua.match(/MSIE ([\d.]+)/),
  42. safari = webkit && ua.match(/Mobile\//) && !chrome,
  43. webview = ua.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/) && !chrome,
  44. wx = ua.match(/micromessenger\/([\d.]+)/i),
  45. app = ua.match(/qikegameplayer\/([\d.]+)/i),
  46. ie = ua.match(/MSIE\s([\d.]+)/);
  47. (browser.webkit = !! webkit) && (browser.version = webkit[1]), android && (os.android = !0, os.version = android[2]), iphone && !ipod && (os.ios = os.iphone = !0, os.version = iphone[2].replace(/_/g, ".")), ipad && (os.ios = os.ipad = !0, os.version = ipad[2].replace(/_/g, ".")), ipod && (os.ios = os.ipod = !0, os.version = ipod[3] ? ipod[3].replace(/_/g, ".") : null), webos && (os.webos = !0, os.version = webos[2]), touchpad && (os.touchpad = !0), blackberry && (os.blackberry = !0, os.version = blackberry[2]), bb10 && (os.bb10 = !0, os.version = bb10[2]), rimtabletos && (os.rimtabletos = !0, os.version = rimtabletos[2]), playbook && (browser.playbook = !0), kindle && (os.kindle = !0, os.version = kindle[1]), silk && (browser.silk = !0, browser.version = silk[1]), !silk && os.android && ua.match(/Kindle Fire/) && (browser.silk = !0), chrome && (browser.chrome = !0, browser.version = chrome[1]), firefox && (browser.firefox = !0, browser.version = firefox[1]), ie && (browser.ie = !0, browser.version = ie[1]), safari && (ua.match(/Safari/) || os.ios) && (browser.safari = !0), webview && (browser.webview = !0), wx && (browser.wx = !0, browser.version = wx[1]), app && os.android && (browser.androidApp = !0, browser.version = app[1]), app && os.ios && (browser.iosApp = !0, browser.version = app[1]), ie && (browser.ie = !0, browser.version = ie[1]), os.tablet = !! (ipad || playbook || android && !ua.match(/Mobile/) || firefox && ua.match(/Tablet/) || ie && !ua.match(/Phone/) && ua.match(/Touch/)), os.phone = !(os.tablet || os.ipod || !(android || iphone || webos || blackberry || bb10 || chrome && ua.match(/Android/) || chrome && ua.match(/CriOS\/([\d.]+)/) || firefox && ua.match(/Mobile/) || ie && ua.match(/Touch/)))
  48. }
  49. detect.call(qike, navigator.userAgent)
  50. }(), function() {
  51. function isType(type) {
  52. return function(obj) {
  53. return {}.toString.call(obj) == "[object " + type + "]"
  54. }
  55. }
  56. function isFunction(obj) {
  57. return "[object Function]" == {}.toString.call(obj)
  58. }
  59. function request(url, callback, charset) {
  60. var isCSS = IS_CSS_RE.test(url),
  61. node = doc.createElement(isCSS ? "link" : "script");
  62. if (charset) {
  63. var cs = isFunction(charset) ? charset(url) : charset;
  64. cs && (node.charset = cs)
  65. }
  66. addOnload(node, callback, isCSS, url), isCSS ? (node.rel = "stylesheet", node.href = url) : (node.async = !0, node.src = url), currentlyAddingScript = node, baseElement ? head.insertBefore(node, baseElement) : head.appendChild(node), currentlyAddingScript = null
  67. }
  68. function addOnload(node, callback, isCSS) {
  69. function onload() {
  70. node.onload = node.onerror = node.onreadystatechange = null, isCSS || head.removeChild(node), node = null, "function" == typeof callback && callback()
  71. }
  72. var supportOnload = "onload" in node;
  73. return !isCSS || !isOldWebKit && supportOnload ? void(supportOnload ? (node.onload = onload, node.onerror = function() {
  74. onload()
  75. }) : node.onreadystatechange = function() {
  76. /loaded|complete/.test(node.readyState) && onload()
  77. }) : void setTimeout(function() {
  78. pollCss(node, callback)
  79. }, 1)
  80. }
  81. function pollCss(node, callback) {
  82. var isLoaded, sheet = node.sheet;
  83. if (isOldWebKit) sheet && (isLoaded = !0);
  84. else if (sheet) try {
  85. sheet.cssRules && (isLoaded = !0)
  86. } catch (ex) {
  87. "NS_ERROR_DOM_SECURITY_ERR" === ex.name && (isLoaded = !0)
  88. }
  89. setTimeout(function() {
  90. isLoaded ? callback() : pollCss(node, callback)
  91. }, 20)
  92. }
  93. var currentlyAddingScript, doc = (isType("String"), document),
  94. head = doc.head || doc.getElementsByTagName("head")[0] || doc.documentElement,
  95. baseElement = head.getElementsByTagName("base")[0],
  96. IS_CSS_RE = /\.css(?:\?|$)/i,
  97. isOldWebKit = +navigator.userAgent.replace(/.*(?:AppleWebKit|AndroidWebKit)\/(\d+).*/, "$1") < 536;
  98. qike.util.loadCssJs = request
  99. }(), function() {
  100. var SubscribeModel = {};
  101. SubscribeModel.subscribe = function(even, func) {
  102. var events, eventType, namespace, m = this;
  103. return "string" != typeof even ? 1 : "function" != typeof func ? 2 : (events = even.split("."), eventType = events[0], namespace = events[1], m.event = m.event || {}, void 0 === m.event[eventType] && (m.event[eventType] = []), m.event[eventType].push(void 0 === namespace ? func : [namespace, func]), 0)
  104. }, SubscribeModel.unSubscribe = function(even, func) {
  105. var o, i, len, events, eventType, namespace, m = this;
  106. if ("string" != typeof even) return 1;
  107. if (events = even.split("."), eventType = events[0], namespace = events[1], m.event = m.event || {}, void 0 === m.event[eventType]) return 3;
  108. if (o = m.event[eventType], void 0 === namespace) {
  109. if ("undefined" == typeof func) return m.event[eventType] = void 0, 3;
  110. for (i = 0, len = o.length; len > i; i++) o[i] instanceof Array && o[i][1] === func ? o.splice(i, 1) : o[i] == func && o.splice(i, 1)
  111. } else if ("undefined" == typeof func) for (i = 0, len = o.length; len > i; i++) o[i] instanceof Array && o[i][0] === namespace && o.splice(i, 1);
  112. else for (i = 0, len = o.length; len > i; i++) o[i] instanceof Array && o[i][0] === namespace && o[i] === func && o.splice(i, 1);
  113. return 0
  114. }, SubscribeModel.fire = function(even, data) {
  115. var len, o, m = this,
  116. i = 0;
  117. if (o = m.event[even]) for (i = 0, len = o.length; len > i; i++) o[i] instanceof Array ? o[i][1](data, even) : o[i](data, even)
  118. }, qike.util.subscribeModel = SubscribeModel
  119. }(), function() {
  120. function template(html, options) {
  121. for (var re = /<%([^%>]+)?%>/g, reExp = /(^( )?(if|for|else|switch|case|break|{|}))(.*)?/g, code = "var r=[];\n", cursor = 0, add = function(line, js) {
  122. return code += js ? line.match(reExp) ? line + "\n" : "r.push(" + line + ");\n" : "" !== line ? 'r.push("' + line.replace(/"/g, '\\"') + '");\n' : "", add
  123. }; null !== (match = re.exec(html));) add(html.slice(cursor, match.index))(match[1], !0), cursor = match.index + match[0].length;
  124. return add(html.substr(cursor, html.length - cursor)), code += 'return r.join("");', new Function(code.replace(/[\r\t\n]/g, "")).apply(options)
  125. }
  126. qike.lib.template = template
  127. }(), function() {
  128. function appendStrAsHtml(htmlStr, target) {
  129. var dom, i, len, frag = document.createElement("div");
  130. for (frag.innerHTML = htmlStr, dom = [].slice.call(frag.childNodes), i = 0, len = dom.length; len > i; i++) target.appendChild(dom[i])
  131. }
  132. qike.util.appendStrAsHtml = appendStrAsHtml
  133. }(), function() {
  134. function getTag(tagName) {
  135. return document.getElementsByTagName(tagName)[0]
  136. }
  137. qike.util.getTag = getTag
  138. }(), function() {
  139. function toCamelCase(str) {
  140. var STRING_CAMELIZE_REGEXP = /(\-|_|\.|\s)+(.)?/g;
  141. return str.replace(STRING_CAMELIZE_REGEXP, function(match, separator, chr) {
  142. return chr ? chr.toUpperCase() : ""
  143. }).replace(/^([A-Z])/, function(match) {
  144. return match.toLowerCase()
  145. })
  146. }
  147. qike.util.toCamelCase = toCamelCase
  148. }(), function() {
  149. var dataAction = {
  150. isSupportDataSet: function() {
  151. return document.documentElement.dataset || Object.getOwnPropertyDescriptor(Element.prototype, "dataset") && Object.getOwnPropertyDescriptor(Element.prototype, "dataset").get ? !0 : !1
  152. }(),
  153. toCamelCase: function(dataName) {
  154. return qike.util.toCamelCase(dataName.replace("data-", ""))
  155. },
  156. getData: function(dom, dataName) {
  157. var res, boolValue;
  158. return this.isSupportDataSet ? (res = dom.dataset[this.toCamelCase(dataName)], boolValue = !! res, boolValue === !0 ? res : void 0) : (res = dom.getAttribute(dataName), null === res ? void 0 : res)
  159. },
  160. setData: function() {}
  161. };
  162. qike.util.dataAction = dataAction
  163. }(), function() {
  164. var classAction = {
  165. isSupportClassList: !! qike.util.getTag("body").classList,
  166. isContainsClass: function(dom, className) {
  167. var classNames, isContains = !1;
  168. return this.isSupportClassList ? dom.classList.contains(className) : (classNames = dom.className.split(" "), classNames.forEach(function(cn) {
  169. cn === className && (isContains = !0)
  170. }), isContains)
  171. },
  172. addClass: function(dom, className) {
  173. this.isSupportClassList ? dom.classList.add(className) : this.isContainsClass(className) || (dom.className = dom.className + " " + className)
  174. },
  175. removeClass: function(dom, className) {
  176. var reg;
  177. this.isSupportClassList ? dom.classList.remove(className) : (reg = new RegExp("\\s?" + className, "g"), dom.className = dom.className.replace(reg, ""))
  178. }
  179. };
  180. qike.util.classAction = classAction
  181. }(), function() {
  182. function regEvent(selector, eventType, callback) {
  183. var doms;
  184. "string" == typeof selector ? doms = [].slice.call(document.querySelectorAll(selector)) : selector instanceof Array == !1 && void 0 !== selector.length ? doms = [].slice.call(selector) : "object" == typeof selector && (doms = [selector]), doms.forEach(function(dom) {
  185. dom.addEventListener(eventType, callback, !1)
  186. })
  187. }
  188. qike.util.regEvent = regEvent
  189. }(), function() {
  190. function all(element, css) {
  191. var name;
  192. for (name in css) one(element, name, css[name])
  193. }
  194. function one(element, name, value) {
  195. element.style[qike.util.toCamelCase(name)] = value
  196. }
  197. function style(element) {
  198. return 3 == arguments.length ? one(element, arguments[1], arguments[2]) : all(element, arguments[1])
  199. }
  200. qike.util.styleAction = {
  201. add: style
  202. }
  203. }(), function() {
  204. var popupAction = {
  205. currIndex: 1e3,
  206. originIndex: 1e3,
  207. show: function(panel) {
  208. this.currIndex++, qike.util.styleAction.add(panel, "z-index", this.currIndex)
  209. },
  210. hide: function(panel) {
  211. this.currIndex--, qike.util.styleAction.add(panel, "z-index", this.originIndex)
  212. }
  213. };
  214. qike.util.popupAction = popupAction
  215. }(), function() {
  216. function extendObj(originObj, willAddedObj, deep) {
  217. var propName, deep = void 0 !== typeof deep ? !! deep : !1;
  218. for (propName in willAddedObj) willAddedObj.hasOwnProperty(propName) && (deep && "object" == typeof willAddedObj[propName] && null !== willAddedObj[propName] ? (originObj[propName] = {}, extendObj(originObj[propName], willAddedObj[propName])) : originObj[propName] = willAddedObj[propName]);
  219. return originObj
  220. }
  221. qike.util.extendObj = extendObj
  222. }(), qike.util.subscribeModel.subscribe("qike-mobile-init", function() {
  223. function fireEventInTreeFromBase(baseDOM, evt) {
  224. for (var dataActionValue, actionDataValue, DATA_NAME_ACTION = "data-qike-mobile-action", ACTION_DATA = "data-qike-mobile-action-data";
  225. "html" !== baseDOM.nodeName.toLowerCase();) {
  226. dataActionValue = qike.util.dataAction.getData(baseDOM, DATA_NAME_ACTION); {
  227. if (void 0 !== dataActionValue) {
  228. evt.preventDefault(), actionDataValue = qike.util.dataAction.getData(baseDOM, ACTION_DATA);
  229. try {
  230. actionDataValue = JSON.parse(actionDataValue)
  231. } catch (e) {
  232. actionDataValue = {}
  233. }
  234. return actionDataValue.eventTarget = baseDOM, void qike.util.subscribeModel.fire(dataActionValue, actionDataValue)
  235. }
  236. baseDOM = baseDOM.parentNode
  237. }
  238. }
  239. }
  240. var wrapDom = document.getElementById("J-qike-mobile-template-wrap");
  241. qike.lib.FastClick.attach(wrapDom), qike.util.regEvent(wrapDom, "click", function(e) {
  242. return fireEventInTreeFromBase(e.target, e), !0
  243. })
  244. }, !1), qike.util.subscribeModel.subscribe("qike-mobile-init", function() {
  245. var d = document,
  246. panelAction = {
  247. outPanel: d.querySelector("#J-qike-mobile-zoom-panel-out"),
  248. inPanel: d.querySelector("#J-qike-mobile-zoom-panel-in"),
  249. show: function() {
  250. qike.util.classAction.removeClass(this.inPanel, qike.global.CLASS_NAME_SHOW), qike.util.popupAction.hide(this.inPanel), qike.util.classAction.addClass(this.outPanel, qike.global.CLASS_NAME_SHOW), qike.util.popupAction.show(this.outPanel)
  251. },
  252. hide: function() {
  253. qike.util.classAction.addClass(this.inPanel, qike.global.CLASS_NAME_SHOW), qike.util.popupAction.show(this.outPanel), qike.util.classAction.removeClass(this.outPanel, qike.global.CLASS_NAME_SHOW), qike.util.popupAction.hide(this.outPanel)
  254. }
  255. };
  256. qike.template.panelAction = panelAction
  257. }), qike.util.subscribeModel.subscribe("qike-mobile-init", function() {
  258. var d = document,
  259. downloadPopupAction = {
  260. panel: d.querySelector(""),
  261. show: function() {
  262. qike.util.classAction.addClass(this.panel, qike.global.CLASS_NAME_SHOW), qike.util.popupAction.show(this.panel)
  263. },
  264. hide: function() {
  265. qike.util.classAction.removeClass(this.panel, qike.global.CLASS_NAME_SHOW), qike.util.popupAction.hide(this.panel)
  266. }
  267. };
  268. qike.template.downloadPopupAction = downloadPopupAction
  269. }), qike.util.subscribeModel.subscribe("qike-mobile-init", function() {
  270. var d = document,
  271. feedPopupAction = {
  272. panel: d.querySelector("#J-qike-mobile-feed"),
  273. show: function() {
  274. qike.util.classAction.addClass(this.panel, qike.global.CLASS_NAME_SHOW), qike.util.popupAction.show(this.panel)
  275. },
  276. hide: function() {
  277. qike.util.classAction.removeClass(this.panel, qike.global.CLASS_NAME_SHOW), qike.util.popupAction.hide(this.panel)
  278. }
  279. };
  280. qike.template.feedPopupAction = feedPopupAction
  281. }), qike.util.subscribeModel.subscribe("qike-mobile-init", function() {
  282. var d = document,
  283. gameoverPopupAction = {
  284. panel: d.querySelector("#J-qike-mobile-gameover"),
  285. show: function() {
  286. qike.util.classAction.addClass(this.panel, qike.global.CLASS_NAME_SHOW), qike.util.popupAction.show(this.panel)
  287. },
  288. hide: function() {
  289. qike.util.classAction.removeClass(this.panel, qike.global.CLASS_NAME_SHOW), qike.util.popupAction.hide(this.panel)
  290. }
  291. };
  292. qike.template.gameoverPopupAction = gameoverPopupAction
  293. }), qike.util.subscribeModel.subscribe("qike-mobile-init", function() {
  294. var d = document,
  295. sharePopupAction = {
  296. panel: d.querySelector("#J-qike-mobile-share"),
  297. show: function() {
  298. qike.util.classAction.addClass(this.panel, qike.global.CLASS_NAME_SHOW), qike.util.popupAction.show(this.panel)
  299. },
  300. hide: function() {
  301. qike.util.classAction.removeClass(this.panel, qike.global.CLASS_NAME_SHOW), qike.util.popupAction.hide(this.panel)
  302. }
  303. };
  304. qike.template.sharePopupAction = sharePopupAction
  305. }), document.addEventListener("DOMContentLoaded", function() {
  306. "use strict";
  307. function init() {
  308. window.console && console.log("load " + sourceArr[countNum] + " success!"), ++countNum, countNum === sourceNum && (logArr.forEach(function(item) {
  309. qike.util.loadCssJs(item, function() {
  310. console.log("load " + item + " success!")
  311. })
  312. }), qike.util.insertHTML(qike.util.getTag("body"), "beforeend", qike.template.htmlStr), qike.util.subscribeModel.fire("qike-mobile-init", qike.config))
  313. }
  314. function doLoaded() {
  315. var imgScroll;
  316. imgScroll = new qike.lib.IScroll("#J-qike-mobile-iscroll-wrap", {
  317. snap: !0,
  318. momentum: !1,
  319. scrollbars: !1,
  320. scrollY: !1,
  321. scrollX: !0,
  322. disableMouse: !0,
  323. disablePointer: !0
  324. }), imgScroll.on("scrollEnd", function() {
  325. var currLi = document.querySelector("#J-qike-mobile-iscroll-dot-wrap .curr"),
  326. targetLi = document.querySelectorAll("#J-qike-mobile-iscroll-dot-wrap i")[this.currentPage.pageX];
  327. qike.util.classAction.removeClass(currLi, "curr"), qike.util.classAction.addClass(targetLi, "curr")
  328. })
  329. }
  330. qike.config = {}, qike.config.isWx = qike.browser.wx, qike.config.isApp = qike.browser.androidApp || qike.browser.iosApp, qike.config.version = "20140919", qike.config.baseSourceUrl = "qike_public/qike/component/";
  331. var i, sourceArr = [qike.config.baseSourceUrl + "h5ui/built/css/main-20140919.css", qike.config.baseSourceUrl + "h5ui/built/js/html-template-20140919-min.js", qike.config.baseSourceUrl + "h5ui/built/js/iscroll-20140819-min.js", qike.config.baseSourceUrl + "h5ui/built/js/fastclick-20140819-min.js"],
  332. logArr = ["http://w.cnzz.com/c.php?id=30098529", "http://hm.baidu.com/h.js?2330ee0a702a2807b28bfe00eaeb5bbf"],
  333. sourceNum = sourceArr.length,
  334. countNum = 0;
  335. var sourceArr = [];
  336. var sourceNum = sourceArr.length;
  337. var countNum = 0;
  338. for (qike.browser.wx && (sourceArr.push(qike.config.baseSourceUrl + "h5ui/built/js/weixin-action-20140819-min.js"), sourceNum = sourceArr.length), qike.browser.androidApp || qike.browser.iosApp || qike.browser.wx || (qike.browser.wapSite = !0, qike.config.wapSite = !0), i = 0; sourceNum > i; i++) qike.util.loadCssJs(sourceArr[i], init);
  339. qike.util.subscribeModel.subscribe("qike-mobile-init.template", function() {
  340. qike.browser.iosApp || qike.browser.androidApp || qike.util.classAction.addClass(document.querySelector("#J-qike-mobile-zoom-panel-in"), "dspb"), qike.browser.wx && qikeContentPreSet && qikeContentPreSet.shareContent && qike.util.extendObj(qike.template.wxData, qikeContentPreSet.shareContent), qike.browser.wapSite && (qike.util.classAction.removeClass(document.querySelector("#J-qike-mobile-zoom-panel-in"), "dspb"), qike.template.downloadPopupAction.show())
  341. }), qike.util.subscribeModel.subscribe("panel-action-show-panel.template", function() {
  342. qike.template.panelAction.show(), doLoaded()
  343. }), qike.util.subscribeModel.subscribe("panel-action-back-game.template", function() {
  344. qike.template.panelAction.hide()
  345. }), qike.util.subscribeModel.subscribe("feed-popup-action-show.template", function() {
  346. qike.template.feedPopupAction.show()
  347. }), qike.util.subscribeModel.subscribe("feed-popup-action-hide.template", function() {
  348. qike.template.feedPopupAction.hide()
  349. }), qike.util.subscribeModel.subscribe("download-popup-action-show.template", function() {
  350. qike.os.android && setTimeout(function() {
  351. location.href = "http://shuju.naitang.com/az/youxi/appipa/201409/12/mashangwan.apk"
  352. }, 1), qike.os.ios && setTimeout(function() {
  353. location.href = "itms-services://?action=download-manifest&url=https://ssl.naitang.com/plist/app/442515.plist"
  354. }, 1)
  355. }), qike.util.subscribeModel.subscribe("download-popup-action-hide.template", function() {
  356. qike.template.downloadPopupAction.hide(), qike.browser.iosApp || qike.browser.androidApp || qike.util.classAction.addClass(document.querySelector("#J-qike-mobile-zoom-panel-in"), "dspb")
  357. }), qike.util.subscribeModel.subscribe("share-popup-action-show.template", function() {
  358. var msg, defaultMsg = "鐡掞絽鎳楃亸蹇庣箶瀵偓韫囧啩绠伴敍宀勭彯缁旑垰銇囧鏃堢秷閸掑棔闊�-7k7k濞撳憡鍨�";
  359. window.h5view && window.h5view.scoreToShare ? (msg = qikeContentPreSet && qikeContentPreSet.shareContent ? qikeContentPreSet.shareContent.desc || defaultMsg : defaultMsg, window.h5view.scoreToShare(msg)) : window.WebViewJavascriptBridge ? (msg = qikeContentPreSet && qikeContentPreSet.shareContent ? qikeContentPreSet.shareContent.desc || defaultMsg : defaultMsg, window.WebViewJavascriptBridge.callHandler("js-send-share-to-ios", {
  360. msg: msg
  361. }, function() {})) : qike.browser.wx ? (qike.browser.wx && qikeContentPreSet && qikeContentPreSet.shareContent && qike.util.extendObj(qike.template.wxData, qikeContentPreSet.shareContent), qike.template.sharePopupAction.show()) : qike.util.subscribeModel.fire("feed-popup-action-show")
  362. }), qike.util.subscribeModel.subscribe("page-action-wx-share-all.template", function() {
  363. location.href = ""
  364. }), qike.util.subscribeModel.subscribe("page-action-wx-share-ready.template", function() {
  365. qike.browser.wx && qikeContentPreSet && qikeContentPreSet.shareContent && qike.util.extendObj(qike.template.wxData, qikeContentPreSet.shareContent)
  366. }), qike.util.subscribeModel.subscribe("share-popup-action-hide.template", function() {
  367. qike.template.sharePopupAction.hide()
  368. }), qike.util.subscribeModel.subscribe("gameover-popup-action-show.template", function() {
  369. qike.template.gameoverPopupAction.show()
  370. }), qike.util.subscribeModel.subscribe("gameover-popup-action-hide.template", function() {
  371. qike.template.gameoverPopupAction.hide()
  372. }), qike.util.subscribeModel.subscribe("page-action-replay.template", function() {
  373. location.reload()
  374. }), qike.util.subscribeModel.subscribe("page-action-more.template", function() {
  375. location.href = ""
  376. }), qike.util.subscribeModel.subscribe("jump-to-feed-page", function() {
  377. location.href = "http://mp.weixin.qq.com/s?__biz=MzA3NTk2ODUwNA==&mid=201827628&idx=1&sn=0431fc033780b9e9a9745b993863acc1#rd"
  378. })
  379. }, !1);