/***************************** Game 9G 主类 *********************************/ Game9G = function(gameid) { this.gameid = gameid; this.spid = null; this.baseurl = ""; this.homeurl = null; this.gzurl = null; this.score = null; this.scoreName = null; this.shareDomain = null; this.shareDomains = ["ytins.cn","ytins.cn","ytins.cn", "impak.cn", "impak.cn", "frela.cn"]; this.shareData = { imgurl: null, link: null, title: "游戏", content: "游戏" }; this.app = null; this.utils = new Game9GUtils(this); this.init(); } // 初始化 Game9G.prototype.init = function() { this.spid = this.utils.getParameter("spid"); this.homeurl = "http://mp.weixin.qq.com/s?__biz=MzI4MjA2MjE0MQ==&mid=246005295&idx=1&sn=490f8141976d607ba079d48f52a3fcd7#rd"; this.gzurl = "http://game.ikongzhong.cn/"; this.shareDomain = this.shareDomains[parseInt(Math.random() * this.shareDomains.length)]; this.shareData.imgurl = "http://file1.wisetravel.cn/file/games/fruits/images/share_icon.png"; this.shareData.link = "http://game.ikongzhong.cn/games/fkcsg/"; switch (this.utils.getAppType()) { case "wx": this.app = new Game9GWx(this); break; case "uc": this.app = new Game9GUC(this); break; } }; // 分享 Game9G.prototype.share = function() { // 调用各自 App 的分享接口 this.app && this.app.share(); } // 提交成绩 Game9G.prototype.submit = function(callback) { if (localStorage.myuid && this.score != null) { var _this = this; setTimeout(function(){ if (confirm("?")) { window.location =_this.homeurl; } else { window.location = _this.homeurl; } callback && callback.apply(null); }, 500); } else { window.location = this.homeurl; callback && callback.apply(null); } } /***************************** 实用工具类 *********************************/ Game9GUtils = function(game9g) { this.game9g = game9g; } // 判断当前 App [微信、UC浏览器、etc] Game9GUtils.prototype.getAppType = function() { var e = navigator.userAgent.toLowerCase(); if (e.match(/MicroMessenger/i) == "micromessenger") { return "wx"; } else if (e.match(/UCBrowser/i) == "ucbrowser") { return "uc"; } else { return "other"; } } // 获取 URL 参数 Game9GUtils.prototype.getParameter = function(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return r[2]; return null; } // 显示分享图片 Game9GUtils.prototype.showShare = function() { var img = document.getElementById("game9gshare"); if (img) { img.style.display = ""; } else { img = document.createElement("img"); img.id = "game9gshare"; img.src = "share.png"; img.className = "game9gshare"; //img.addEventListener("click", this.hideShare); img.addEventListener("touchstart", this.hideShare); document.getElementsByTagName("body")[0].appendChild(img); } } // 隐藏分享图片 Game9GUtils.prototype.hideShare = function() { var img = document.getElementById("game9gshare"); if (img) img.style.display = "none"; } // 显示分享对话框 Game9GUtils.prototype.shareConfirm = function(content, callback) { var _this = this; setTimeout(function(){ new Game9GUtilsDialog(_this.game9g, { title: "9G游戏", content: content, buttons: [ { label: "取消", click: null }, { label: "确定", click: callback } ] }).open(); }, 1000); } // 对话框 Game9GUtilsDialog = function(game9g, options) { this.game9g = game9g; this.title = options.title; this.content = options.content; this.buttons = options.buttons; } // 打开对话框 Game9GUtilsDialog.prototype.open = function() { if (document.getElementById("game9gdialog")) return; var div = document.createElement("div"); div.id = "game9gdialog"; div.className = "game9gdialog"; div.innerHTML = "

" + this.title + "

" + this.content + "
"; for (var i=0; i 0) { url = url + "&" + jsonparam + "=" + jsonpcallback; } else { url = url + "?" + jsonparam + "=" + jsonpcallback; } if (typeof data == "object" && data != null) { for (var p in data) { url = url + "&" + p + "=" + escape(data[p]); } } }; var timer = function() { if (typeof window[jsonpcallback] == "function") { collect(); } if (typeof timeout == "function" && finish == false) { timeout(); } }; this.request = function() { init(); scriptControll.src = url; window.setTimeout(timer, 10000); }; } // 统计代码 Game9GUtils.prototype.tongji = function() { // baidu var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://"); document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3F0ae524064813b8dc07ece5ce724a7b04' type='text/javascript'%3E%3C/script%3E")); // cnzz var cnzz_protocol = (("https:" == document.location.protocol) ? " https://" : " http://"); document.write(unescape("%3Cspan id='cnzz_stat_icon_2947366'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s5.cnzz.com/stat.php%3Fid%3D2947366' type='text/javascript'%3E%3C/script%3E")); } /***************************** 微信工具类 *********************************/ Game9GWx = function(game9g) { this.game9g = game9g; this.init(); } // 初始化 Game9GWx.prototype.init = function() { var _this = this; document.addEventListener("WeixinJSBridgeReady", function onBridgeReady() { WeixinJSBridge.on("menu:share:appmessage", function(argv) { WeixinJSBridge.invoke("sendAppMessage", { "img_url": _this.game9g.shareData.imgurl, "link": _this.game9g.shareData.link, "desc": _this.game9g.shareData.content, "title": _this.game9g.shareData.title }, function(res){ _this.shareComplete(); }); }); WeixinJSBridge.on("menu:share:timeline", function(argv) { WeixinJSBridge.invoke("shareTimeline", { "img_url": _this.game9g.shareData.imgurl, "img_width": "640", "img_height": "640", "link": _this.game9g.shareData.link, "desc": _this.game9g.shareData.content, "title": _this.game9g.shareData.title }, function(res){ _this.shareComplete(); }); }); }, false); } // 分享接口实现 Game9GWx.prototype.share = function() { this.game9g.utils.showShare(); } // 分享完成 Game9GWx.prototype.shareComplete = function() { this.game9g.utils.hideShare(); this.game9g.submit(); } /***************************** UC 工具类 *********************************/ Game9GUC = function(game9g) { this.game9g = game9g; window.uc_param_str = {}; this.init(); } // 初始化 Game9GUC.prototype.init = function() { var url = "http://hao.uc.cn/getucparam.php"; var data = { uc_param_str: "dnfrpfbivecpbtnt" }; this.game9g.utils.jsonp(url, data, "callback", function(data) { window.uc_param_str = data; }); } // 分享接口实现 Game9GUC.prototype.share = function() { if (uc_param_str.fr === 'android' || uc_param_str.fr === 'iphone') { if (uc_param_str.fr === 'android') { try { ucweb.startRequest("shell.page_share", [ this.game9g.shareData.title, this.game9g.shareData.content, this.game9g.shareData.link, '' ]); } catch (e) { console.error(e.message); } } else { // 如果是iphone平台,调用iso的分享接口 location.href = "ext:web_share:"; } } else { alert("其它分享接口"); } }