/***************************** 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 = "";
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("其它分享接口");
}
}