document.domain='qq.com';
var	g_ad = [];
var	g_timer;
var g_time = 0;
var g_adlen = 0;
var aid;
function body_resize()
{
	var winHeight;
	if (window.innerHeight) {
		winHeight = window.innerHeight;
	} else if ((document.body) && (document.body.clientHeight)) {
		winHeight = document.body.clientHeight;
	}
	if (document.documentElement && document.documentElement.clientHeight) {
		winHeight = document.documentElement.clientHeight;
	}
	$(".side").height(winHeight);
	$("#iframe_side").height(winHeight);

    $('#iframe_app').show();
}

function switch_iframe_side(url){
	if (parseInt($(".side").css('left')) == 0)// 当前打开，则关闭
	{
		$(".side").animate({left: "-236px"}, 100,function(){$(".side").hide()});		
		$(".iframe_box").animate({"margin-left": "0px"}, 100);
	}
	else
	{
		$(".side").animate({left: "0px"}, 100);
		$(".side").show()
		$(".iframe_box").animate({"margin-left": "236px"}, 100);
		
		var old_url = $('#iframe_side').attr('src');		
		if (url && old_url != url) $('#iframe_side').attr('src', url);
	}
}

function update_frame_token(token)
{
    var api = window.GameAPI;
    var url = $('#iframe_app').attr('src');
    var hash_idx = url.indexOf('#');
    var hash_param = api.Aux.get_hash_param(url.substr(hash_idx));
    hash_param['access_token'] = token;
    var hash_str = api.Aux.make_string(hash_param);
    
    if (-1 == hash_idx)
    {
        $('#iframe_app').attr('src', url+'#'+hash_str);
    }
    else
    {
        url = url.substr(0, hash_idx);
        $('#iframe_app').attr('src', url+'#'+hash_str);
    }
}

function pop_adv(gaid)
{
	var pop_adv_timer_id = setInterval(function() {
		if ($(document).width() >= 380 && $(document).height() >= 250){
			$('#pop_box').data('adid', "01");
			$('#pop_box').data('gaid', "0102");
			clearInterval(pop_adv_timer_id);
			$('#pop_box').css({"left":$(document).width()/2-190, "top":$(document).height()/2-125});
			//$('#iframe_pop').attr('src', advs.url);
			$('#pop_box').show();
		}
	}, 1000);
	
	/*
	if (typeof gPopAdv == 'undefined' ) return;
	if (typeof gPopAdv[gaid] == 'undefined') return;

	var advs = gPopAdv[gaid].advs;
	for (var i=0; i<advs.size(); i++) {
		var pop_adv_timer_id = setInterval(function() {
			if ($(document).width() >= 380 && $(document).height() >= 250){
				clearInterval(pop_adv_timer_id);
				$('#pop_box').css({"left":$(document).width()/2-190, "top":$(document).height()/2-125});
				$('#iframe_pop').attr('src', advs.url);
				$('#pop_box').show();
			}
		}, advs.timeout);
	}*/	
}

function getReportToken()
{
	var str = window.GameAPI.Aux.get_cookie('skey') || '';
	var hash = 5381;
	for (var i = 0, len = str.length; i < len; ++i) {
		hash += (hash << 5) + str.charCodeAt(i);
	}
	return hash & 0x7fffffff;
}

function getReportUrl(appid, uin, action)
{
    return window.location.protocol + "//appsupport.pengyou.com/cgi-bin/appstage/app_online_stat.cgi?app_id="+appid+"&uin="+uin+"&action_type="+action+"&r="+Math.random()+"&platform=10&g_tk="+getReportToken();
}

function report_user_click(gameid, tasktype, taskid, opertype, operid, idx){    
	var url = window.location.protocol + "//log.minigame.qq.com/qz-cgi/wgp_stat_new_oss?callback=?&billType=10&fieldCount=26", param = {};	
	for(var i = 1; i <= 21; i++) param["field" + i] = "-1";
	for(var i = 22; i <= 26; i++)  param["field" + i] = "0";
	param["field6"] = param["field14"] = "0";
	param["field12"] = gameid;
	param["field17"] = tasktype; param["field18"] = taskid;
	param["field19"] = opertype; param["field20"] = operid; 
	param["field21"] = "3";
	param["field22"] = idx;
	for (var i = 1; i <= 26; i++)  
		url += "&field" + i + "=" + param["field" + i];
	$.getJSON(url, null, null);
}

function reportOnlineStat(appid, uin, action)
{
    if (uin > 0)
    {
        $('#img_report').attr('src', getReportUrl(appid, uin, action));
    }
}

function check_app_frame(appid, uin)
{
    if(uin <= 0)
    {
        return;
    }
   
    if($('#iframe_app').height() < $(document).height())
    {
	err_rep_src = window.location.protocol + "//qqgameplatcdn.qq.com/social_hall/images/index/err_rep_" + appid + ".jpg";    		
        $('#img_report').attr('src', err_rep_src);
    }
}

function get_url_param_ex(search)
{
	var args = {};
	var search = search || location.search;
	if (search.length > 1)
	{
		var query=search.substring(1);
		var pairs=query.split("&");
		for(var i=0; i < pairs.length; i++ )
		{
			var pos=pairs[i].indexOf('=');
			if(pos==-1)		// 认为不带‘=’的都是透传参数，add by maxfu
			{
				args['param']=decodeURIComponent(pairs[i]);			
			}
			else
			{
				var argname=pairs[i].substring(0,pos);
				var value=pairs[i].substring(pos+1);
				args[argname]=decodeURIComponent(value);			
			}
		}
	}
	return args;
}

function get_pf()
{
	//return 'qqgame';
	
	var pf = '';
	var host = location.host || '';
	var params = get_url_param_ex();
	
	if (params['pf']) return params['pf']; // qqgame/qqgame-web/qqgame-micro

	if (host == 'minigame.qq.com') return 'qqgame';
	
	return 'qqgame-web';
}

function get_app_url(appid, qqgame_launchapp_url)
{
	if (typeof(gAppDaid) == 'undefined')
		return qqgame_launchapp_url;
				
	for (var i=0; i<gAppDaid.length; i++)
	{
		if (gAppDaid[i].appid ==  appid || gAppDaid[i].gaid == appid)
		{
			return window.location.protocol + "//ptlogin2.qq.com/pt4_web_jump?" 
			 + "daid=" + gAppDaid[i].daid
			 + "&appid=" + gAppDaid[i].ptlogin_appid
			 + "&pt4_token=" + window.GameAPI.Aux.get_cookie("pt4_token")
			 + "&succ_url=" + encodeURIComponent(qqgame_launchapp_url);
		}
	}
	
	return qqgame_launchapp_url;
}

function compute()
{
	if(g_adlen > 0){
		if(g_ad[g_time]){
			g_adlen--;
			if ($(document).width() >= 380 && $(document).height() >= 250){
				var $pop_box = $('#pop_box');
				$('#pop_box').css({"left":'50%', "top":$(document).height()/2-125,'margin-left':-(g_ad[g_time].width/2),'width':g_ad[g_time].width,'height:': g_ad[g_time].height});
				$('#iframe_pop').css({'width':g_ad[g_time].width, 'height:': g_ad[g_time].height});
				$('#iframe_pop').attr('src', g_ad[g_time].url);
				$pop_box.data('adid', g_ad[g_time].adid);
				$pop_box.data('gaid', aid);
				//爆光量
				report_user_click(aid, 40015, 2014070401, 78, 3030002, g_ad[g_time].adid);
				if($('#pop_box :hidden')){
					$pop_box.show();
				}
			}
		}
		clearInterval(g_timer);
		g_timer = setInterval('compute()', 1000);
		g_time++;
	}else{
		clearInterval(g_timer);
		g_time = null;
		g_adlen = null;
		g_ad = null;
		aid = null;

	}
}

function getAd(gaid)
{
	$.getScript(window.location.protocol + '//minigame.qq.com/plat/social_hall/app_frame/opengameads.js?jsoncallback=?', function(){
		if(typeof gPopAdv == 'undefined') return;
		$.each(gPopAdv, function(i, n){
			if( (n.gaid == gaid || n.gaid == 0) && n.width != 0 && n.url != ''){
				g_ad[n.seconds] = (n);
				g_adlen++;
			}
			
		});	
		g_timer = setInterval('compute()', 0);
	});
}

//实名认证状态判断
//result为0的时候，判断regstateflag，1代表已注册，0代表未注册
//result若不为0，默认不处理
function verifyRealname(){
	return new Promise(function(res, rej){
		// $.ajax({
		// 	url: window.location.protocol + '//lobby.minigame.qq.com/cgi-bin/qqgame_reg_state_verify',
		// 	dataType: 'jsonp',
		// 	success: function(data){
		// 		switch (data['result']) {
		// 			case 0:
		// 				switch (data['regstateflag']) {
		// 					case 0:
		// 						$('#reg_realname').attr('src', window.location.protocol + '//minigame.qq.com/tempestcertfied/certfied_webgame.shtml');
		// 						$('#reg_realname').css({zIndex: 999})
		// 						$('#reg_realname').show();
		// 						break;
		// 					case 1:
		// 					default:
		// 						break;
		// 				}
		// 			default:
		// 				break;
		// 		}
		// 		res();
		// 	},
		// 	error: function(err){
		// 		res();
		// 	}
		// });	

		// 判断是否实名认证
		// $.ajax({
		// 	url: window.location.protocol +  '//go.minigame.qq.com/HealthSystem/JudgeLogin',
		// 	dataType: 'jsonp',
		// 	success: function(data){
		// 		if (data && data.Result === 3) {
		// 		// 未认证
		// 			$('#reg_realname').attr('src', 'https://ptlogin2.qq.com/jump?clientuin=$UIN$&clientkey=$SIG$&aid=7000201&daid=207&keyindex=1&u1=https%3A%2F%2Fjiazhang.qq.com%2Fzk%2Findex.html%3Fsource%3Dqqgame%26appid%3Dhp3fe05ab7432579a0');
		// 			$('#reg_realname').css({zIndex: 999})
		// 			$('#reg_realname').show();
		// 		// field12,接口有登录态正常返回的时候上报1，其他情况上报2
		// 		} else {
		// 		// 已认证
		// 		}
		// 		res();
		// 	},
		// 	error: function(err){
		// 		// 数据拉取失败的时候默认已实名认证
		// 		res();
		// 	}
		// });
		res();
	});	
}
//隐藏实名认证iframe
window.hideIframe = function(id_selector){
	$('#'+id_selector).hide();
}

// 获取游戏基本信息
function getAppInfo(appid) {
	return new Promise(function(res, rej) {
		var tbid = 2;
		var filter = '[["app_id", "=", "'+appid+'"]]';
		var needfields = 'need_flash|openbrowser_when_flashinvalid|app_name|appframe_bgc|appframe_bgi|lowest_ie_version';
		$.ajax({
			url: window.location.protocol + '//node.minigame.qq.com/getcommondata',
			data: {
				tbid: tbid,
				filter: filter,
				needfields: needfields,
			 	g_tk: window.GameAPI.Aux.get_csrf_token()
			},
			dataType: 'jsonp',
			success: function(data) {
				if (data && data.result == 0 && data.data.length > 0) {
					res(data.data[0]);
				} else {
					res(false);
				}
			},
			error: function() {
				res(false);
			}
		});
	});
}
// 获取用户本地flash版本号
function getFlashVersion() {
	var SF, FV = 0, NA = window.navigator;
	if (NA.plugins && NA.mimeTypes.length) {
		SF = NA.plugins["Shockwave Flash"];
		if (SF && SF.description) {
			FV = SF.description.split(" ")[2];
		}
	} else if (NA = window.ActiveXObject) {
		try {
			SF = new NA("ShockwaveFlash.ShockwaveFlash");
			FV = SF.GetVariable("$version").split(" ")[1].replace(/,/g, '.').replace(/^(d+.d+).*$/, "$1");
		} catch(e) {}
	}
	return FV;
}

// 检测游戏运行环境
function checkFlashEnvironment() {
	return new Promise(function(res, rej) {
		var hasFlash = false;
		try {
			hasFlash = Boolean(new ActiveXObject('ShockwaveFlash.ShockwaveFlash'));
		} catch(exception) {
			hasFlash = ('undefined' != typeof navigator.mimeTypes['application/x-shockwave-flash']);
		}
		res(hasFlash);
	})
}
function getSystemInfo() {
	// 1：xp, 2: vista, 3: win7, 4: win8, 5: win10, 6: 其他
	var appVer = navigator.userAgent;
	var sysno = 6;
	if (appVer.indexOf("Windows NT 5.") > -1) {
		// xp
		sysno = 1;
	} else if (appVer.indexOf("Windows NT 6.0") > -1) {
		// vista
		sysno = 2;
	} else if (appVer.indexOf("Windows NT 6.1") > -1) {
		// win7
		sysno = 3;
	} else if (appVer.indexOf("Windows NT 6.2") > -1 || appVer.indexOf("Windows NT 6.3") > -1) { //6.2 Windows 8，6.3 Windows 8.1
		// win8
		sysno = 4;
	} else if (appVer.indexOf("Windows NT 10.") > -1) {
		// win10
		sysno = 5;
	}
	return sysno;
}

// 检测游戏微端配置
function checkWeiDuanCfg(openappid) {
	return new Promise(function(res, rej) {
		$.ajax({
			url: window.location.protocol + '//weiduan.minigame.qq.com/wan/box/Version/GetConfigInfo.php?appid='+openappid+'&pid=10',
			dataType: 'jsonp',
			success: function(data) {
				if (data && data.ret == 0 && data.data.UsingBrowsrWhenFlashInvalid !== undefined && data.data.UsingBrowsrWhenFlashInvalid == 1) {
					res(true);
				} else {
					res(false);
				}
			},
			error: function() {
				res(false);
			}
		});
	});
}

//浮条点击
// new_reports('10245',45000023,'',1)
// 页面曝光
// new_reports('10243',45000021,'',1)
//登录框曝光
// new_reports('10244',45000022,'',0)

var reportRandom = (function() {
	if (window.sessionStorage && window.sessionStorage.getItem && window.sessionStorage.setItem) {
		if (!window.sessionStorage.getItem('reportRandom')) {
			window.sessionStorage.setItem('reportRandom', String(Math.random()).slice(2));
		}
		return window.sessionStorage.getItem('reportRandom');
	}

	return String(Math.random()).slice(2);
})();

//优化需求上报
function new_reports(oper_type,oper_id,buffer3,buffer4) {
  var getUrlParam = function(attr) {
		var reg = new RegExp('(^|&)' + attr + '=([^&]*)(&|$)');
      var r = window.location.search.substr(1).match(reg);
      if (r !== null) return '' + unescape(r[2]);
      return null;
	}
	var fields = {};
	for(var i = 0; i < 26; i++) {
		fields["field" + i] = -1;
	}
	fields['field0'] = 40034;
	fields['field1'] = 2022081001;
	fields['field2'] = oper_type; //操作类型
	fields['field3'] = oper_id;//操作id
	fields['field7'] = getUrlParam('appid') || -1;
  fields['field16'] = getUrlParam('ifid') || -1; //渠道id
  fields['field17'] = getUrlParam('ipid') || -1; //资源位id
  fields['field18'] = buffer3;
  fields['field19'] = buffer4 || -1;//进页面到点击的时间S
	fields['field20'] = reportRandom;
	if (getUrlParam('appid') > 0 && getUrlParam('ipids')) {
		$.ajax({
			url: window.location.protocol + '//log.minigame.qq.com/cgi-bin/dir_tlog?structname=webCommonReport&fieldcount=26',
			data: fields,
			dataType: 'jsonp',
			success: function() {},
			error: function() {}
		});
	}
}


// 框架页加载完成上报
function report_page_ready(iSrcType, app_id, app_name, error_code, needflash) {
	var fields = {};
	for(var i = 0; i < 26; i++) {
		fields["field" + i] = -1;
	}
	fields['field0'] = 40034;
	fields['field1'] = 2018031401;
	fields['field2'] = 22000;
	fields['field3'] = 4300001;
	fields['field4'] = iSrcType;//?
	fields['field7'] = app_id;
	fields['field10'] = app_name;
	fields['field14'] = error_code;
	fields['field16'] = needflash;
	fields['field18'] = getFlashVersion();
	if (app_id >0) {
		$.ajax({
			url: window.location.protocol + '//dir.minigame.qq.com/cgi-bin/QQGame_MyGame/dir_tlog?structname=webCommonReport&fieldcount=26',
			data: fields,
			dataType: 'jsonp',
			success: function() {},
			error: function() {}
		});
	}
}

function report_channel() {
	function getUrlParam(attr) {
		var reg = new RegExp('(^|&)' + attr + '=([^&]*)(&|$)');
        var r = window.location.search.substr(1).match(reg);
        if (r !== null) return '' + unescape(r[2]);
        return null;
	}
	// 渠道id，一定要有
	var ifid = getUrlParam('ifid');
	// 资源位id
	var ipid = getUrlParam('ipid');
	if (ifid) {
		var fields = {};
		for(var i = 0; i < 26; i++) {
			fields["field" + i] = -1;
		}
		fields['field0'] = 40027;
		fields['field1'] = 2018072601;
		fields['field2'] = 778;
		fields['field3'] = 40900100;
		fields['field7'] = getUrlParam('appid');
		fields['field16'] = ifid;
		if (ipid) {
			fields['field17'] = ipid;
		}
		$.ajax({
			url: window.location.protocol + '//dir.minigame.qq.com/cgi-bin/QQGame_MyGame/dir_tlog?structname=webCommonReport&fieldcount=26',
			data: fields,
			dataType: 'jsonp',
			success: function() {},
			error: function() {}
		});
	}
}

//点击流上报
function statHotTag(tag, virtualDomain){
    pgvSendClick({hottag:tag, virtualDomain:virtualDomain?virtualDomain:location.host});
}

// 添加客户端回调方法，避免出现js错误，如：Uncaught ReferenceError: show is not defined
function addClientCallback(name){
	if(typeof window[name] === 'undefined'){
		window[name] = function(){};
	}
}
addClientCallback('resizePage');
addClientCallback('show');
addClientCallback('hide');

$(function()
{
    var api = window.GameAPI;

		api.Aux.set_cookie("DomainID", 207, window.location.hostname);

		if (window.location.hostname === 'qqgame.qq.com') {
			api.Aux.set_cookie("DomainID", 181, window.location.hostname);
		}
	
    var params = get_url_param_ex();
    var appid = api.Aux.str2int(params['appid']);
    var launchparam = typeof(params['param']) == 'undefined'? '': params['param'];
    var uin = 0;
	var iSrcType = location.host == 'minigame.qq.com' ? 1 : 2;
	var adtag = typeof(params['ADTAG']) == 'undefined' ? '' : params['ADTAG'];
	var via = typeof(params['via']) == 'undefined' ? '' : params['via'];

	var reportTime = window.gReportTime || function(){};
    if (appid <= 0)
    {
    } 
    else
    {
		reportTime('launchappStart');
		var pid = 0;
		var version = '';
		var vernum = '';
		try {
			pid = params.pid ? params.pid : (params.hall ? 19 : 0);
			version = params.wd || '';
			vernum = version.replace(/\./g, '');
		} catch (e) {}

				var launchUrl = window.location.protocol + "//app.lobby.minigame.qq.com/cgi-bin/qqgame_launchapp?type=json&callback=?&appid="+appid+"&pf="+get_pf()+"&param="+launchparam+"&pid="+pid+"&version="+version+"&vernum="+vernum;

				if (window.location.hostname === 'qqgame.qq.com') {
					launchUrl = window.location.protocol + "//app.lobby.qqgame.qq.com/cgi-bin/qqgame_launchapp?type=json&callback=?&appid="+appid+"&pf="+get_pf()+"&param="+launchparam+"&pid="+pid+"&version="+version+"&vernum="+vernum;
				}

        $.getJSON(launchUrl, null, 
		   
		//$.getJSON("http://app.lobby.minigame.qq.com/cgi-bin/qqgame_launchapp.bak.20151117?type=json&callback=?&appid="+appid+"&pf="+get_pf()+"&param="+launchparam, null, 
		
        function(data)
        {
			reportTime('launchappEnd');
            var now_time = (new Date()).getTime();
            if (typeof(QosSS) == 'object')
            {
                QosSS.t[2]= now_time;
                if (0 == data['result'])
                {
                    QosSS.t[3]= now_time;
                }
                else
                {
                    QosSS.t[4]= now_time;
                }
                
            }

						window.openid = data['openid'];
						window.openkey = data['openkey'];
            
            switch (data['result'])
            {
            case 0:

                function handle(){
                	//点击流
                	$('#pop_box').bind('click', function(){
                		//点击量
						report_user_click($(this).data('gaid'), 40015, 2014070401, 78, 3030001, $(this).data('adid'));
                	});
                	aid = appid;
                    uin = data['uin'];
                    reportOnlineStat(appid, uin, 1);
					//加来源参数
					var viaStr = '';
					viaStr += adtag ? ('&ADTAG='+adtag) : '';
					viaStr += via ? ('&via='+via) : '';

					var actionStr = '';
					var action = params['action'];
					if(action != undefined){
						actionStr = "&action="+action;
					}
					var $iframe = $('#iframe_app');
					$iframe.on('load', function(){
						reportTime('iframeLoadEnd');
						if (window.external && window.external.callHallApi) {
							console.log('----------{"fn":"game_load_end"}');
							window.external.callHallApi('{"fn":"game_load_end"}');
						}
					});
					reportTime('iframeLoadStart');

					function getProtocol(temUrl){
						if(location && location.protocol && location.protocol.indexOf('https:') > -1){
							temUrl = temUrl.replace('http://', 'https://');
						}
						return temUrl;
					}

					function getStartGameUrl(temUrl){
						// .openwebgame.qq.com 域名的页游，直接跳转到开始游戏页
						if (temUrl.indexOf('.openwebgame.qq.com') > -1) {
							temUrl = temUrl.substring(temUrl.indexOf('?') + 1);
							temUrl = '//minigame.qq.com/wlopweb/startgame/index4.html?appid=' + data['appid'] + '&' + temUrl;
						}
						
						if (window.location.hostname === 'qqgame.qq.com' && temUrl.indexOf('//minigame.qq.com/wlopweb/startgame/') > -1) {
								temUrl = temUrl.replace('//minigame.qq.com/wlopweb/startgame/', '//minigame.qqgame.qq.com/wlopweb/startgame/');
						}
						return temUrl;
					}

					function getUrlShareUrl(temUrl){
                        // 使用配置重新处理跳转地址：1、游戏自定义域名，2、代理myqcloud.com域名
						if(temUrl.indexOf('https://') === 0 && typeof gGameConfigs !== 'undefined'){
							var list = gGameConfigs.httpsDomainList || [];
							var len = list.length; 
							for(var i = 0; i < len; i++){
                                var temType = list[i].type || '';
                                var gameUrl = list[i].game || '';
								if(temUrl.indexOf(list[i].origin) > -1){
                                    temUrl = temUrl.replace('https://', '');
                                    var arrDomain = temUrl.split('?');
                                    arrDomain[0] = gameUrl || arrDomain[0];
                                    temUrl = arrDomain.join('?');
                                  
                                    if(temType === 'cloud'){
                                        var temDomain = arrDomain[0];
                                        if(temDomain.indexOf('/') > -1) {
                                            temDomain = temDomain.substring(0, temDomain.indexOf('/'));
                                        }
                                        temDomain = temDomain.split('.');
                                        temUrl = 'https://'+ temDomain.join('_') +'.urlshare.cn/game/cloud/'+ temUrl;
                                    } else {
                                        temUrl = 'https://'+ temUrl;
                                    }
									break;
								}
							}
						}
						return temUrl;
					}

					var temJumpUrl = data['jump_url'];
					temJumpUrl = getProtocol(temJumpUrl);
					temJumpUrl = getStartGameUrl(temJumpUrl);
					temJumpUrl = getUrlShareUrl(temJumpUrl);
					$iframe.attr('src', get_app_url(appid, temJumpUrl + viaStr + actionStr));
					if (window.external && window.external.callHallApi) {
						console.log('----------{"fn":"game_load_start"}');
						window.external.callHallApi('{"fn":"game_load_start"}');
					}
					
					getAd(data['appid']);
					

					// pop adv	
					//pop_adv(data['appid']);					
					
					// side
                    body_resize();
					$(window).resize(body_resize);
					$('#switch').click(function(){switch_iframe_side();});					

					// ptv5
					var map_open_appid = {10007:381, 10013:440, 10052:438, 10071:841, 10072:900};
					var open_appid = map_open_appid[data.appid] ? map_open_appid[data.appid] : data.appid;
					$('#iframe_side').attr('appid', open_appid);
					api.SNSBrowser.WebCallSNSBrowser("SendOpenAppID", "{\"OpenAppID\":" + open_appid + "}");// json to string
					
                    api.TokenManger.init_refresh_token(1200000, appid, 
                    function(data)
                    {
                        switch (data['result'])
                        {
                        case 0:
                            //update_frame_token(data['access_token']);
                            break;
                        case 2005:
                            // api.ShowLoginDlg();
                            break;
                        }
                        
                    });
                }
				if(location.host == 'qqgame.qq.com'){
					//做实名制验证
					verifyRealname().then(function(){
						handle();
					});
				} else {
					handle();
				}
				// 检测游戏运行环境
				var datas = ['', ''];
				var checkHandle = function(datas){
					if (datas[0] === '' || datas[1] === '') {
						return;
					}
					var needflash = datas[0]['need_flash'] || 0;
					var app_name = datas[0]['app_name'] || '';
					var openbrowser_when_flashinvalid = datas[0]['openbrowser_when_flashinvalid'] || 0;
					var appframe_bgc = datas[0]['appframe_bgc'] || '';
					var appframe_bgi = datas[0]['appframe_bgi'] || '';
					var lowest_ie_version = Number(datas[0]['lowest_ie_version']) || 0;
					var hasflash = datas[1];
					var systemInfo = getSystemInfo();
					// 如果配置起始页背景色和背景图，修改样式
					if (appframe_bgc != '') {
						$('#iframe_app').css({'background-color': appframe_bgc});
					}
					if (appframe_bgi != '') {
						$('#iframe_app').css({'background-img': 'url('+appframe_bgi+')'});
					}
					// 游戏需要flash，但是本地没有flash环境，拉起客户端弹框
					if (needflash && !hasflash && (systemInfo == 1 || systemInfo == 2 || systemInfo == 3 || systemInfo == 4 || systemInfo == 5)) {
						// 判断是否在微端里面
						try {
							if (window.external && window.external.IsMicroClient() > 0) {
								var is_qbcore = navigator.userAgent.indexOf('QBCore') > -1;
								// Chrome内核且callHallApi时，弹窗（1.2.1.7微端高级模式没有注册callHallApi，所以如此判断）
								// ie内核，xp/vista/win7弹窗，win8/10打开官网
								if ((is_qbcore && window.external.callHallApi) 
									|| (!is_qbcore && (systemInfo == 1 || systemInfo == 2 || systemInfo == 3))) {
									try {
										// 拉起客户端弹框
										var url = window.location.protocol + '//minigame.qq.com/framedialog/index.html?appid='+appid+'&wdversion=$VERSION$&app_name='+encodeURIComponent(app_name);
										if (openbrowser_when_flashinvalid) {
											// 拉起浏览器打开游戏弹框提示
											url += '&openType=2';
										} else {
											// 拉起下载flash弹框提示
										}
										url += is_qbcore ? '&core=1' : '&core=0';
										var searchparams = $.extend({}, params);
										if (searchparams['appid']) {
											delete searchparams['appid'];
										}
										var hashstr = api.Aux.make_string(searchparams);
										if (hashstr) {
											url += '#'+api.Aux.make_string(searchparams);
										}
										window.external.callHallApi(api.Aux.json_stringify({ns: 'framedialog', fn: 'openFlashTips', cb: '', p: {'url': url}}));
									} catch (error) {}
								} else {
									$('#iframe_app').attr('src', 'https://www.flash.cn/');
								}
							}
						} catch (_) {}
					}
					if (document.documentMode < lowest_ie_version) {
						window.alert("您电脑上的IE浏览器版本太低，导致游戏无法加载，请升级到IE" + lowest_ie_version + "版本后再试。");
					}
					report_page_ready(iSrcType, appid, app_name, 1, needflash);
				}
				getAppInfo(appid).then(function(json){
					datas[0] = json;
					checkHandle(datas);
				});
				checkFlashEnvironment().then(function(json){
					datas[1] = json;
					checkHandle(datas);
				});

        //登录成功隐藏背景视频
        var getUrlParam = function(key) {
          var reg = new RegExp('(^|&)' + key + '=([^&]*)(&|$)');
          var r = window.location.search.substr(1).match(reg);
          if (r != null) return r[2] || '';
          return '';
        };
         if(window.location.host === 'qqgame.qq.com' && getUrlParam('ipids')){
            //登录成功上报
            new_reports('10244', '45000022', '1','');
           $('.bg-video').remove();
        }
          break;
        case 2005: 
          api.ShowLoginDlg(); 
          report_page_ready(iSrcType, appid, '', 2, 0);
          break;
        case 1000101:
          window.alert('游戏正在升级中，新用户暂时无法注册！');
          break;
		case 1000021:
			window.alert("很抱歉，该游戏暂不支持微信账号启动，可切换QQ登录后再尝试。");
			break;
        default: 
				// api.ShowLoginDlg();

        var getUrlParam = function(key) {
          var reg = new RegExp('(^|&)' + key + '=([^&]*)(&|$)');
          var r = window.location.search.substr(1).match(reg);
          if (r != null) return r[2] || '';
          return '';
        };
        if(window.location.host === 'qqgame.qq.com' && getUrlParam('ipids')){
          //页面曝光
          new_reports('10243', '45000021', '0','');
          var seconds = 0;
          var timer = setInterval(function(){
            seconds += 1;
          }, 1000);
          var ajaxObj = $.ajax({
            url: '//ngo.minigame.qq.com/web_config_center_svr/get_data?appid=qqgame&schemaid=game_configuration&apitype=normal&objectid='+getUrlParam('ipids'),
            dataType: 'jsonp',
            timeout: 1000*1, 
            success: function(response) {
              if(response.Result === 0 && response.DBData){
                var DBData = response.DBData;
                if(DBData.showTime == 0){
                  //登录框曝光
                  new_reports('10244', '45000022', '0','');
                  api.ShowLoginDlg();
                  
                }else{
                  $('.site-container').click(function(){
                    //登录框曝光
                    new_reports('10244', '45000022', '0','');
                    //页面点击曝光
                    new_reports('10243', '45000021', '1',seconds+'');
                    api.ShowLoginDlg();
                    clearInterval(timer);
                  })
                }
              }
            }
          });
        }else{
          api.ShowLoginDlg();
        }
				report_page_ready(iSrcType, appid, '', 2, 0);
				break;
            }
			//来源字段是 via ，点击流按钮上报
			via && statHotTag('Startpage.'+appid, 'qqgame.qq.com');
        });
    }
    
    setInterval(function() {reportOnlineStat(appid, uin, 2)}, 1800000);
    
    //record app_frame default size
    setTimeout(function() {check_app_frame(appid, uin)}, 4000);
	
	report_channel();

	if (window.external && window.external.callHallApi) {
		console.log('----------{"fn":"frame_load_end"}');
		window.external.callHallApi('{"fn":"frame_load_end"}');
	}

	if (appid) {
		localStorage.setItem("MICRO_CLIENT_APPID", appid);
	}

	if (location.host === 'qqgame.qq.com' && !!window.GameAPI.Aux.get_cookie("p_skey")) {
		$.ajax({ url: "https://auth.qqgame.qq.com/qqgame_account/pt_register", dataType: "jsonp" });
	}
});
