var act = {
	url: 'https://fo4.qq.com/cp/a20230612greenfield/index.html',
	imgUrl: 'https://game.gtimg.cn/images/fo4/cp/a20230612greenfield/',
	share: {
		shareTitle: '绿茵战场',
		shareDesc: '传奇时刻埃辛，限量400',
		shareImgUrl: 'https://game.gtimg.cn/images/fo4/cp/a20230612greenfield/share.png',
		shareLink: 'https://fo4.qq.com/cp/a20230612greenfield/index.html',
		actName: 'a20230612greenfield'
	},
	env: {
		ua: window.navigator.userAgent.toLowerCase()
	},
	userInfo: {
		isLogin: 0,
		isBind: 0
	},
	pageData: [],
	utils: {
		padLeft: function (str, len, pad) {
			return (Array(len).join(pad) + str).slice(-len); // 左补0
		},
		isTrue: function (variable) {
			return !(JSON.stringify(variable) === '{}' || JSON.stringify(variable) === '[]' || variable === '' || variable == null);
		}
	},
	loginType: true
}

checkLogin() // 登录确认

// 游戏内设置cookie
if (Milo.getUrlParams('query').query == 'game') {
	Milo.set('query', 1, {expires: 30})
} else {
	Milo.remove('query')
}

// 登录
function checkLogin() {
	Milo.checkLogin({
		iUseQQConnect: act.loginType, //如果当前活动使用的互联登录,请将改参数设置true
		success: function (user) {
			console.log(user)
			act.userInfo = user.userInfo
			if(user && user.userInfo) {
				$("#login_qq_span").text(changeName(user.userInfo.nickName.replace(/<.*?>/g,'')));
			}
			act.userInfo.isLogin = 1
			afterLoginBtnShow()
			checkRole()
		},
		fail: function (res) {
			unLoginBtnShow()
		}
	});
}

// qq登录
$("#loginByQQBtn").click(function () {
	if (Milo.isMobile()) {
		Milo.mobileLoginByQQConnect();
	} else {
		// fo4里
		if (Milo.get('query')) {
			console.log('game')
			act.loginType = false
			Milo.loginByQQ();
		} else {
			Milo.loginByQQConnect();
		}
	}
})

// 点击注销
$('#btn_logout').click(function () {
	Milo.logout({
		// 退出回调
		callback: function () {
			location.reload()
		}
	});
})


// 点击绑定
$("#milo-bindarea").click(function () {
	bindRole()
});

// 右上角分享
function share() {
	TGMobileShare(act.share) // 分享
}

// 已登录 登陆类按钮显示
function afterLoginBtnShow() {
	$('#logined').show()
	$('#btn_logout').show()
	$('#unlogin').hide()

	// 手Q/微信/游戏内
	if (Milo.isQQApp() || Milo.isWxApp() || Milo.isGameApp()) {
		$('#btn_logout').hide();
	}
}


// 未登录 判断是否在游戏内 和 软件内
function unLoginBtnShow() {
	// 移动端
	if (Milo.isMobile()) {
		Milo.mobileLoginByQQConnect();
	} else {
		// fo4里
		if (Milo.get('query')) {
			console.log('game')
			act.loginType = false
			Milo.loginByQQ();
		} else {
			Milo.loginByQQConnect();
		}
	}
}

//查询已绑定大区
function checkRole() {
	var flow_query = {
		actId: '562566',
		token: '325ecd',
		loading: true, // 开启loading浮层,默认不开启
		sData:{
			query: true
		},
		success: function (res) {
			if(res.data){
				$("#milo-binded").show();
				$("#milo-unbind").hide();
				$("#login_qq_span").hide()
				$("#milo-roleName").text(res.data.roleName);
				act.userInfo.isBind = 1
				getStartInfo()
			} else {
				$("#milo-binded").hide();
				$("#milo-unbind").show();
			}
		},
		fail: function (res) {
			if(res.iRet === -9998 || res.iRet === "-9998"){
				return;
			} else if(res.iRet === 101 || res.iRet === '101'){
				unLoginBtnShow()
			} else {
				$("#milo-binded").hide();
				$("#milo-unbind").show();
				console.log('查询绑定大区fail', res);
			}
		}
	}

	Milo.emit(flow_query);
}

// 提交绑定大区
function bindRole() {
	var flow_commit = {
		actId: '562566',
		token: 'ae7aab',
		loading: true, // 开启loading浮层,默认不开启
		sData:{
			query: false
		},
		success: function (res) {
			if(res.data){
				$("#milo-binded").show();
				$("#milo-unbind").hide();
				$("#milo-roleName").text(res.data.roleName);
				$("#login_qq_span").hide()
				act.userInfo.isBind = 1
				getStartInfo()
			}
		},
		fail: function (res) {
			if(res.iRet === -9998 || res.iRet === "-9998"){
				return;
			} else if(res.iRet === 101 || res.iRet === '101'){
				// 登录态失效，需要重新调登录方法 （开发自行实现）
				unLoginBtnShow()
			} else if (res.iRet === 302 || res.iRet === '302') {
				alert(res.sMsg);
			}

			console.log('提交绑定大区fail', res);
		}
	}
	Milo.emit(flow_commit)
}


// 姓名try catch
function changeName (name) {
	try {
		name = decodeURIComponent(name);
	} catch (e) {

	}
	return name
}


// 奖池下标
var dataOne = {
	'4287635' : [0, 'ICON传奇时刻埃辛兑换徽章x1'],
	'4287636' : [1, '22欧冠赛季TOP100球员包（6-8强）x1'],
	'4287637' : [2, '皇马大使赛季球员包（7-8强）x1'],
	'4287638' : [3, '22欧冠赛季TOP100球员包（5-8强）x2'],
	'4287639' : [4, '60兆BP'],
	'4287640' : [5, '点球机会x1'],
	'4287666' : [5, '点球机会x1'],
	'4287641' : [13, 'BWC赛季TOP100球员包（7-8强）x1'],
	'4287642' : [6, '50兆BP'],
	'4287643' : [12, '100兆BP'],
	'4287644' : [11, '30兆BP'],
	'4287645' : [10, 'LN赛季TOP50球员包（7-8强）x2'],
	'4287646' : [9, '25兆BP'],
	'4287647' : [8, 'RTN赛季TOP100球员包（6-8强）x1'],
	'4287648' : [7, '皇马大使赛季球员包（8强）x1'],
}

var dataTwo = {
	'4287649' : [0, 'ICON传奇时刻埃辛兑换徽章x1'],
	'4287650' : [1, '22WL赛季球员包（8强）x1'],
	'4287651' : [2, '22欧冠赛季TOP100球员包（8强）x1'],
	'4287652' : [3, '22欧冠赛季TOP100球员包（7-8强）x1'],
	'4287653' : [4, '22WL赛季球员包（6-8强）x1'],
	'4287654' : [5, '50兆BP'],
	'4287655' : [6, '40兆BP'],
	'4287656' : [7, '30兆BP']
}

// 请求-初始化
function getStartInfo() {
	if (!act.userInfo.isLogin) {
		unLoginBtnShow();
		return
	}

	var flow_955539 = {
		actId: '562566',
		token: '3369be',
		sData: {},
		success: function (res) {
			console.log(res)
			resetPage(res.details.jData)
			getRankList()
		},
		fail: function (res) {
			if(res.iRet === 101 || res.iRet === '101'){
				// 登录态失效，需要重新调登录方法 （开发自行实现）
				checkLogin();
			} else if (res.iRet === 99998 || res.iRet === '99998') {
				//  调用提交绑定大区方法
				bindRole()
			} else {
				alert(res.sMsg);
			}
		}
	}

	Milo.emit(flow_955539);
}

// 页面初始化
function resetPage(data) {
	// 首抽
	act.pageData.firstTenDraw = data.pointDataTwo[2359]['ticket'] * 1;

	// 剩余入场券
	act.pageData.entrancePoint = data.pointDataOne[2355]['ticket'] * 1;

	// 剩余点球数量
	act.pageData.penaltyPoint = data.pointDataTwo[2356]['ticket'] * 1;

	// 首购
	act.pageData.buyPoint1 = data.pointDataOne[2350]['ticket'] * 1;
	act.pageData.buyPoint2 = data.pointDataOne[2352]['ticket'] * 1;
	act.pageData.buyPoint3 = data.pointDataOne[2353]['ticket'] * 1;
	act.pageData.buyPoint4 = data.pointDataOne[2354]['ticket'] * 1;

	// 本轮累计消耗入场券
	act.pageData.thisTurnPoint = data.thisTurnPoint * 1

	// 兑换资格
	act.pageData.e1 = data.qualData.e1.iLeftNum * 1;
	act.pageData.e2 = data.qualData.e2.iLeftNum * 1;
	act.pageData.e3 = data.qualData.e3.iLeftNum * 1;
	act.pageData.e4 = data.qualData.e4.iLeftNum * 1;
	act.pageData.e5 = data.qualData.e5.iLeftNum * 1;

	// 剩余入场券
	$('#entrancePoint').text(act.pageData.entrancePoint)

	// 剩余点球数量
	$('#penaltyNum').text(act.pageData.penaltyPoint)

	// 本轮累计消耗入场券
	$('#used_coupon_num').text(act.pageData.thisTurnPoint)

	// 兑换场
	$('.exchange').each(function (k, v) {
		var id = $(this).attr('data-type')
		if (act.pageData['e' + id] < 1) {
			$(this).addClass('grey')
		}
	});

	// 首购隐藏
	$('.first').each(function (k, v) {
		var index = k + 1;
		if (act.pageData['buyPoint' + index] > 0) {
			$(this).addClass('grey')
		}
	});

	// 隐藏首抽
	if (act.pageData.firstTenDraw > 0) {
		$('#firstTenDraw').hide()
	}


	return data;
}


// 抽中奖励提示
function lotteryMsg(arr) {
	var lottertyHtml = '';
	for (var i = 0; i < arr.length; i++) {
		lottertyHtml += `<li>${arr[i]}</li>`
	}
	$('#pop2 ul').html(lottertyHtml)
	TGDialogS('pop2')
	drawFlag = false;
}

var drawFlag = false
var presentArr = []
// 绿茵战场：1/10连抽  开始抽奖lottery
function drawOnePresent(type) {
	var that = this
	if (!act.userInfo.isLogin) {
		unLoginBtnShow();
		lottery.reset()
		return
	}

	if (!act.userInfo.isBind) {
		bindRole();
		lottery.reset()
		return
	}

	if (drawFlag === true) {
		if (type == 1) {
			lottery.reset()
		}
		return;
	}

	drawFlag = true;

	var flow_955538 = {
		actId: '562566',
		token: '426244',
		sData: {
			type: type, // 抽奖次数
		},
		success: function (res) {
			console.log(res)
			var data = res.details.jData

			act.pageData.entrancePoint = data.entrancePoint * 1;
			act.pageData.penaltyPoint = data.pointData[2356]['ticket'] * 1;
			act.pageData.firstTenDraw = data.pointData[2359]['ticket'] * 1;
			act.pageData.thisTurnPoint = data.thisTurnPoint * 1
			// 剩余入场券
			$('#entrancePoint').text(act.pageData.entrancePoint)

			// 剩余点球数量
			$('#penaltyNum').text(act.pageData.penaltyPoint)

			// 本轮累计消耗入场券
			$('#used_coupon_num').text(act.pageData.thisTurnPoint)

			// 隐藏首抽
			if (act.pageData.firstTenDraw > 0) {
				$('#firstTenDraw').hide()
			}

			getRankList()

			var lotteryRet = data.lottery
			var idData = lotteryRet.split(',')
			var dealRet = dealLottery(idData, dataOne)
			presentArr = dealRet[1];
			if (parseInt(type) === 1) {
				if (Milo.isMobile()) {
					lotteryMsg(presentArr)
					lottery.reset()
				} else {
					calllotteryToRoll(lottery,dataOne[dealRet[0][0]][0])
				}
			} else if (parseInt(type)  === 10){
				lotteryMsg(presentArr)
			}
		},
		fail: function (res) {
			if(res.iRet === 101 || res.iRet === '101'){
				// 登录态失效，需要重新调登录方法 （开发自行实现）
				checkLogin();
			} else if (res.iRet === 99998 || res.iRet === '99998') {
				//  调用提交绑定大区方法
				bindRole()
			} else {
				alert(res.sMsg)
			}
			lottery.reset()
			drawFlag = false;
		}
	}

	Milo.emit(flow_955538);
}

function dealLottery(idData, indexData) {
	var nameData = []
	var arr  = []
	var resultId  = []
	$.each(idData, function(k,v) {
		arr = v.split(':')
		if (arr.length > 1) {
			// 首抽积分和入场累计礼包id不展示
			if(arr[0] != '4287670' && arr[0] !='4287669'){
				for (var i = 0; i < arr[1]; i++) {
					resultId.push(arr[0])
				}
			}
		} else {
			if(v != '4287670' && v !='4287669'){
				resultId.push(v)
			}
		}
	});

	if (resultId.length > 0) {
		$.each(resultId, function(k,v) {
			if($.inArray(v, indexData)){
				nameData.push(indexData[v][1])
			}
		})
	}

	return [resultId, nameData]
}

// 点球射门：1/10连抽  开始抽奖lottery
function drawTwoPresent(type) {
	var that = this
	if (!act.userInfo.isLogin) {
		unLoginBtnShow();
		lottery1.reset()
		return
	}

	if (!act.userInfo.isBind) {
		bindRole();
		lottery1.reset()
		return
	}

	if (drawFlag === true) {
		if (type == 1) {
			lottery1.reset()
		}
		return;
	}

	drawFlag = true;

	var flow_955543 = {
		actId: '562566',
		token: '70acfd',
		sData: {
			type: type, // 抽奖次数
		},
		success: function (res) {
			console.log(res);
			var data = res.details.jData
			// 剩余点球数量
			act.pageData.penaltyPoint = data.point
			$('#penaltyNum').text(act.pageData.penaltyPoint)

			var lotteryRet = data.lottery
			var idData = lotteryRet.iPackageId.split(',')
			var dealRet = dealLottery(idData, dataTwo)
			presentArr = dealRet[1];
			if (parseInt(type) === 1) {
				if (Milo.isMobile()) {
					lotteryMsg(presentArr)
					lottery1.reset()
				} {
					calllotteryToRoll(lottery1,dataTwo[dealRet[0][0]][0])
				}
			} else if (parseInt(type)  === 10){
				lotteryMsg(presentArr)
			}
		},
		fail: function (res) {
			if(res.iRet === 101 || res.iRet === '101'){
				// 登录态失效，需要重新调登录方法 （开发自行实现）
				checkLogin();
			} else if (res.iRet === 99998 || res.iRet === '99998') {
				//  调用提交绑定大区方法
				bindRole()
			} else {
				alert(res.sMsg)
			}
			lottery1.reset()
			drawFlag = false;
		}
	}

	Milo.emit(flow_955543);
}

// 兑换
$(".exchange").click(function() {
	var that = this
	if (!act.userInfo.isLogin) {
		unLoginBtnShow();
		return
	}

	if (!act.userInfo.isBind) {
		bindRole();
		return
	}

	if ($(that).hasClass('grey')) {
		return;
	}

	var type = parseInt($(that).attr('data-type'), 10)

	var flow_955540 = {
		actId: '562566',
		token: '66c90c',
		sData: {
			type: type, // 兑换类型
		},
		success: function (res) {
			alert('领取成功！')
			if (type === 5) {
				$('.exchange').removeClass('grey')
				// 本轮累计消耗入场券
				$('#used_coupon_num').text(res.details.jData.balancePoint)
			} else {
				$(that).addClass('grey')
			}
			getRankList()
		},
		fail: function (res) {
			if(res.iRet === 101 || res.iRet === '101'){
				// 登录态失效，需要重新调登录方法 （开发自行实现）
				checkLogin();
			} else if (res.iRet === 99998 || res.iRet === '99998') {
				//  调用提交绑定大区方法
				bindRole()
			} else {
				alert(res.sMsg)
			}
		}
	}

	Milo.emit(flow_955540);
})

// 获取排行榜
function getRankList() {
	var that = this
	if (!act.userInfo.isLogin) {
		unLoginBtnShow();
		return
	}

	if (!act.userInfo.isBind) {
		bindRole();
		return
	}
	var flow_955541 = {
		actId: '562566',
		token: '0611cf',
		sData: {
		},
		success: function (res) {
			console.log(res)
			var data = res.details.jData
			if (parseInt(data.rankData.todayFlag) > 0) {
				// 今日排行榜
				$("#today_rank").html('')
				var list = data.rankData.todayRankList
				var html ="";
				$.each(list, function(k,v) {
					html += `<tr><td>${v.rank}</td><td>${v.player}</td><td>${v.score}</td></tr>`;
				});
				$("#today_rank").append(html);
			}

			// 入围奖励
			if (data.rankData.yesRankList[1]) {
				$('.rank_con').each(function (k, v) {
					var id = k + 1
					if (data.rankData.yesRankList[id]) {
						$(this).children('.rank_txt1').text('QQ：' + data.rankData.yesRankList[id])
					}

					act.pageData['t' + id] = parseInt(data.qualData['t' + id]['iLeftNum'])
					if (act.pageData['t' + id] < 1) {
						$(this).children('.rank').addClass('grey')
					} else {
						$(this).children('.rank').removeClass('grey')
					}
				});
			}
		},
		fail: function (res) {
			if(res.iRet === 101 || res.iRet === '101'){
				// 登录态失效，需要重新调登录方法 （开发自行实现）
				checkLogin();
			} else if (res.iRet === 99998 || res.iRet === '99998') {
				//  调用提交绑定大区方法
				bindRole()
			} else {
				alert(res.sMsg)
			}

		}
	}
	Milo.emit(flow_955541);
}

// 领取入围奖励
$(".rank").click(function(){
	var that = this
	if (!act.userInfo.isLogin) {
		unLoginBtnShow();
		return
	}

	if (!act.userInfo.isBind) {
		bindRole();
		return
	}

	if ($(that).hasClass('grey')) {
		return;
	}

	var type = $(that).attr('data-id')

	var flow_955542 = {
		actId: '562566',
		token: '4e9ef7',
		sData: {
			type: type, // 领取名次
		},
		success: function (res) {
			console.log(res);
			alert('领取成功');
			$(that).addClass('grey')
			act.pageData['t' + type] = 0
		},
		fail: function (res) {
			if(res.iRet === 101 || res.iRet === '101'){
				// 登录态失效，需要重新调登录方法 （开发自行实现）
				checkLogin();
			} else if (res.iRet === 99998 || res.iRet === '99998') {
				//  调用提交绑定大区方法
				bindRole()
			} else {
				alert(res.sMsg)
			}
			console.log(res);
		}
	}
	Milo.emit(flow_955542);
})

// 购买
function buyAct(propId) {
	var that = this
	if (!act.userInfo.isLogin) {
		unLoginBtnShow();
		return
	}

	if (!act.userInfo.isBind) {
		bindRole();
		return
	}


	var flow_955569 = {
		actId: '562566',
		token: 'd767c7',
		sData: {
			propid: propId, // 礼包id
			buyNum: "1", // 购买数量
			gameId: "fo4", // 业务简称
			jifen_dikou: 0, // 是否使用积分抵扣1是 0否
			jifen_amount: 0, // 用户传入的积分抵扣数量
			djcActId: '29399', // 道聚城活动id
			paytype: "2", // 1：点券 2：人民币 3：金币 4：点券+金币 5：金币2
		},
		// 支付弹框关闭回调
		onPayClose: function(){
		},
		success: function(res){
			getStartInfo()
		},
		fail: function(res){
			if(res.iRet === 101 || res.iRet === '101'){
				// 登录态失效，需要重新调登录方法 （开发自行实现）
				checkLogin();
			} else if (res.iRet === 99998 || res.iRet === '99998') {
				//  调用提交绑定大区方法
				bindRole()
			} else {
				alert(res.sMsg)
			}
		}
	}
	Milo.emit(flow_955569);
}

// 获取兑换记录
function queryLotteryRecord(pageNow){
	var flow = {
		actId: '562566',
		token: '1d379b',
		loading: true, // 开启loading浮层,默认不开启
		sData:{
			pageNow: 1,
			pageSize: 10,
		},
		success: function (res) {
			if (parseInt(res.total) === 0) {
				alert('非常抱歉，您暂未有获奖记录')
			} else {
				if($("#milo-lotteryRecordContainer").length > 0) {
					$("#milo-lotteryRecordContainer").html('');
				}
			}

			// 判断用户是否需要自定义结构，如需要，默认取用户自己定义的结构
			if($("#milo-lotteryRecordTpl").length > 0){
				let tpl_html = $("#milo-lotteryRecordTpl").html();
				// 渲染数据
				const _html = Milo.tpl().compile(tpl_html, res.data);
				$("#milo-lotteryRecordContainer").html(_html);
			}

			// 分页初始化
			if($("#milo-paginator").length > 0) {
				Milo.pagination({
					pages: res.total, // 总页数
					currentPage: flow.sData.pageNow, // 当前页
					element: '#milo-paginator', // 分页容器id，用于渲染分页控件
					// 切换页数时触发回调
					callback: function (page) {
						if (page !== flow.sData.pageNow) {
							queryLotteryRecord(page);
						}
					}
				});
			}
			TGDialogS('milo-lotteryRecord')
		},
		fail: function (res) {
			console.log(res.sMsg);
		}
	}
	// 用于处理分页的变化
	if(pageNow){
		flow.sData.pageNow = pageNow;
	}
	Milo.emit(flow)
}




