let urlPrefix = getUrlPrefix()
let browser = checkVersion()
let env = EnvCheck();
if (env == 'test') {
new VConsole();
}
// 封裝layer消息提醒框
let layerIndex
var langReplace;
var localLang;
const showLoading = (content = langReplace(localLang.demoModule.layerIndex1)) => {
layer.open({
type: 2,
shadeClose: false,
content,
success(e) {
layerIndex = $(e).attr('index')
}
})
}
const hideLoading = (index) => {
layer.close(index)
}
const toastMsg = (content = langReplace(localLang.demoModule.layerIndex2), time = 2) => {
layer.open({
content,
time,
skin: 'msg'
})
}
var countupTime;//倒计时容器
var page = 0;
var maxPage = 0;
var arr = [];
var music = true;
var weekRewardData;
// 初始化函數
$(function () {
getInfoFromClient();
fuzzyMatchUpdateQueryStringParameterFun(); // 判断语言
setTimeout(function () {
// 頁面全屏
if (browser.app) {
if (browser.android) {
window.androidJsObj.initShowNav(false)
} else {
window.webkit.messageHandlers.initShowNav.postMessage(0)
}
};
// 頂部返回事件
$('.back .backIcon').click(() => {
window.history.back()
})
fuzzyMatchUpdateQueryStringParameterFun(); // 判断语言
langReplace = window.lang.replace;
localLang = window.lang;
translateFun();
getConfig();
}, 100)
})
function translateFun() {
var langReplace = window.lang.replace;
var localLang = window.lang;
$('.text1').text(langReplace(localLang.weeklyRewards.text1));
if (window.localStorage.getItem('partitionId') == 2) {
$('.text2').html(langReplace(localLang.weeklyRewards.text2));
} else if (window.localStorage.getItem('partitionId') == 8) {
$('.text2').html(langReplace(localLang.weeklyRewards.text22));
}
$('.text3').text(langReplace(localLang.weeklyRewards.text3));
$('.text4').text(langReplace(localLang.weeklyRewards.text4));
$('.text5').text(langReplace(localLang.weeklyRewards.text5));
$('.Day').text(langReplace(localLang.demoModule.Day));
$('.Countdown').text(langReplace(localLang.demoModule.Countdown));
$('.Host_Level').text(langReplace(localLang.demoModule.Host_Level));
$('.Daily_Rewards').text(langReplace(localLang.demoModule.Daily_Rewards));
$('.Extra_Rewards').text(langReplace(localLang.demoModule.Extra_Rewards));
$('.Complete_days').text(langReplace(localLang.demoModule.Complete_days));
$('.mic_chat').text(langReplace(localLang.demoModule.mic_chat));
$('.Unlock_time').text(langReplace(localLang.demoModule.Unlock_time));
$('.Days').text(langReplace(localLang.demoModule.Days));
}
var tabActive = 0;
// 配置接口
function getConfig() {
$('.rewards_list .rewards_box').remove();
$('.tab div').remove();
showLoading()
networkRequest({
type: 'get',
url: urlPrefix + '/guildMemberWeekLevelReward/get',
success(res) {
if (res.code === 200) {
weekRewardData = res.data;
var tabStr = '';
weekRewardData.forEach(((res, i) => {
tabStr += `
${res.dateRange}
`
}))
$('.tab').append(tabStr);
ulFun(tabActive);
// tab切换
$('.tab div').click(function () {
var i = $(this).index();
tabActive = i;
$(this).addClass('act').siblings().removeClass('act');
ulFun(tabActive)
getConfig();
})
} else {
toastMsg(res.message)
}
hideLoading(layerIndex)
},
error(err) {
hideLoading(layerIndex)
toastMsg(langReplace(localLang.demoModule.layerIndex3))
}
})
}
function ulFun(index) {
let weekLevelData = weekRewardData[index]
countup(weekLevelData.countDownSecond)
$('.preMaxNum').text(weekLevelData.preMaxNum);
$('.maxNum').text(weekLevelData.maxNum);
$('.processNum').text(weekLevelData.processNum);
if (window.lang.code == 'ar') {
$('.preLevel').text(weekLevelData.curLevel);
$('.curLevel').text(weekLevelData.preLevel);
} else {
$('.preLevel').text(weekLevelData.preLevel);
$('.curLevel').text(weekLevelData.curLevel);
}
// 计算进度条
let progressWidth = CalculateProgress(weekLevelData.processNum, weekLevelData.preMaxNum, weekLevelData.maxNum)
$('.progress-bar').css('width', progressWidth + '%');
// 渲染奖励列表
$('.rewards_list .rewards_box').remove();
let str = ''
weekLevelData.itemList.forEach((item, index) => {
str += `
`
});
$('.rewards_list').append(str)
// 底部
$('.bottom_fixed_box .bonusPreMaxNum').text(weekLevelData.bonusPreMaxNum)
$('.bottom_fixed_box .bonusMaxNum').text(weekLevelData.bonusProcessNum + '/' + weekLevelData.bonusMaxNum)
// 计算进度条
let progressWidthBottomFixed = CalculateProgress(weekLevelData.bonusProcessNum, weekLevelData.bonusPreMaxNum, weekLevelData.bonusMaxNum)
$('.bottom_fixed_box .progress_bar').css('width', progressWidthBottomFixed + '%');
}
// 计算进度条 (进度-初始值) / (最大值-初始值)
function CalculateProgress(processNum, preMaxNum, maxNum) {
let num = Math.min(100, Math.round((processNum - preMaxNum) / (maxNum - preMaxNum) * 100))
return num
}
function getReward(id, isBonus) {
showLoading()
networkRequest({
type: 'post',
url: urlPrefix + '/guildMemberWeekLevelReward/getReward',
data: {
id,
isBonus
},
success(res) {
if (res.code === 200) {
getConfig();
} else {
toastMsg(res.message)
}
hideLoading(layerIndex)
},
error(err) {
hideLoading(layerIndex)
toastMsg(langReplace(localLang.demoModule.layerIndex3))
}
})
}
// 领取按钮
$('.rewards_list ').on('click', '.rewards_box .left_box', function () {
var status = $(this).attr('status');
var id = $(this).attr('id');
if (status == 1) {
getReward(id, false);
}
})
// 领取按钮
$('.rewards_list ').on('click', '.rewards_box .right_box', function () {
var status = $(this).attr('status');
var id = $(this).attr('id');
if (status == 1) {
getReward(id, true);
}
})
// 计算- 取消中文向下取整
function unitProcessingZhuan(val, toFixeds) { //值 保留几位小数
if (getQueryString().lang && getQueryString().lang == 'zh') {
return val >= 10000 ? ((val / 1000) / 10).toFixed(toFixeds) + 'w' : val;
} else {
if (val < 1000) {
return val;
} else if (val >= 1000 && val < 1000000) {
return (val / 1000).toFixed(toFixeds) + 'K'
} else if (val >= 1000000) {
return (val / 1000000).toFixed(toFixeds) + 'M'
}
}
}
var countupTime1;//倒计时容器
// 倒計時
function countup(leftTime, type) {
clearTimeout(countupTime1)
//獲取當前時間
// var now = nowTime;
var d = 0;
var h = 0;
var m = 0;
var s = 0;
//定義變數 d,h,m,s保存倒計時的時間
var d, h, m, s;
//遞歸每秒調⽤countTime⽅法,顯⽰動態時間效果
if (leftTime > 0) {
d = getzf(Math.floor(leftTime / 60 / 60 / 24));
h = getzf(Math.floor(leftTime / 60 / 60 % 24));
m = getzf(Math.floor(leftTime / 60 % 60));
s = getzf(Math.floor(leftTime % 60));
//將倒計時賦值到div中
$('.day_txt').text(d);
$('.hour_txt').text(h);
$('.min_txt').text(m);
$('.secs_txt').text(s);
} else {
$('.day_txt').text('00');
$('.hour_txt').text('00');
$('.min_txt').text('00');
$('.secs_txt').text('00');
}
if (leftTime > 0) {
leftTime = leftTime - 1;
} else {
clearTimeout(countupTime1);
}
countupTime1 = setTimeout(function () {
countup(leftTime);
}, 1000);
}
//补0操作
function getzf(num) {
if (parseInt(num) < 10) {
num = '0' + num;
}
return num;
}
// 清除计时器
function pauseCountdown() {
clearInterval(countupTime1);
}
// 监听页面显示事件
document.addEventListener('visibilitychange', () => {
if (document.hidden) {
pauseCountdown();
} else {
// 重新请求接口获取最新的倒计时数据
pauseCountdown();
getConfig();
}
});