Files
peko-h5/view/peko/activity/lol-drainage/js/index.js

611 lines
19 KiB
JavaScript
Raw Normal View History

2022-09-08 18:22:18 +08:00
let urlPrefix = getUrlPrefix()
let browser = checkVersion()
if (EnvCheck() === 'test') new VConsole
let pageNumber = 1;
let pageSize = 10;
let w_link;
let share = {
title: '英雄联盟手游皮肤免费送!!',
// link: link,
2023-08-03 14:11:46 +08:00
desc: '来piko更有丰厚游戏激励金等你来~',
imgUrl: 'https://api.pekolive.com/peko/modules/wxPubPay/images/logo.png'
2022-09-08 18:22:18 +08:00
}
let shareObj = {
type: 2,
data: {
msg: 'llllll',
// link: w_link,
title: share.title,
imgUrl: share.imgUrl,
desc: share.desc,
// showUrl: w_link
}
}
// 封装layer消息提醒框
let layerIndex
const showLoading = (content = '加載中...') => {
2022-09-08 18:22:18 +08:00
layer.open({
type: 2,
shadeClose: false,
content,
success (e) {
layerIndex = $(e).attr('index')
}
})
}
const hideLoading = (index) => {
layer.close(index)
}
const toastMsg = (content = '操作完成', time = 2) => {
layer.open({
content,
time,
skin: 'msg'
})
}
$(function () {
getInfoFromClient()
setTimeout(function () {
getInitInfo();
beanNum();
taskStatus();
getInvitation();
}, 50)
})
// 基础信息接口
const getInitInfo = () => {
showLoading()
networkRequest({
type: 'GET',
url: urlPrefix + '/act/lol/rewardInit',
data: {
userId: pubInfo.uid
},
success (res) {
hideLoading(layerIndex)
if (res.code === 200) {
// tab1 集金豆兑好礼区域按钮状态
renderBtnStatus(res.data.awardStatusList)
rennderAwardList(res.data.userAwardRecordList)
} else {
toastMsg(res.message)
}
},
error (err) {
hideLoading(layerIndex)
toastMsg('網絡錯誤')
2022-09-08 18:22:18 +08:00
}
})
}
// 用户金豆接口
const beanNum = () => {
showLoading()
networkRequest({
type: 'GET',
url: urlPrefix + '/act/lol/user/beanNum',
success (res) {
hideLoading(layerIndex)
if (res.code === 200) {
$('.w_myBeans b').html(res.data)
// w_beanNum(res.data)
} else {
toastMsg(res.message)
}
},
error (err) {
hideLoading(layerIndex)
toastMsg('網絡錯誤')
2022-09-08 18:22:18 +08:00
}
})
}
// tab1渲染按钮状态
// 1、金豆不足置灰2、金豆充足可兑换3、奖励已兑换4、不是新用户不可兑换
const renderBtnStatus = (awardStatusList) => {
// awardStatusList = [1,2,3,4,2,3,4,1,2]
awardStatusList.map((item, index) => {
switch (item) {
case 1:
$('.z_draw-area img').eq(index).data('btnStatus', 1)
if (index == 1 || index == 2) {
$('.z_draw-area img').eq(index).attr('src', './images/new-user-disable-btn.png');
break;
}
$('.z_draw-area img').eq(index).attr('src', './images/draw-disable-btn.png');
break;
case 2:
$('.z_draw-area img').eq(index).attr('src', './images/draw-btn.png');
$('.z_draw-area img').eq(index).data('btnStatus', 2)
break;
case 3:
$('.z_draw-area img').eq(index).attr('src', './images/draw-already-btn.png');
break;
case 4:
$('.z_draw-area img').eq(index).attr('src', './images/new-user-disable-btn.png');
break;
default:
$('.z_draw-area img').eq(index).attr('src', './images/draw-disable-btn.png');
break;
}
})
}
const awardObj = [
{
name: '豆豆达人铭牌*1天',
desc: '豆豆达人铭牌<br>',
pic: './images/nameplate.png'
},
{
2023-08-03 14:11:46 +08:00
name: 'piko新用户游戏激励金3.8元',
desc: 'piko新用户游戏<br>激励金3.8元',
2022-09-08 18:22:18 +08:00
pic: './images/cash.png'
},
{
2023-08-03 14:11:46 +08:00
name: 'piko新用户游戏激励金5.8元',
desc: 'piko新用户游戏<br>激励金5.8元',
2022-09-08 18:22:18 +08:00
pic: './images/cash.png'
},
{
name: '法拉利座驾*1天',
desc: '法拉利座驾<br>',
pic: './images/car.png'
},
{
name: '350点券LOL手游皮肤',
desc: '<img src="./images/coupon-icon.png" alt=""> 350 LOL <br>手游皮肤',
pic: './images/350.png'
},
{
name: '450点券LOL手游皮肤',
desc: '<img src="./images/coupon-icon.png" alt=""> 450 LOL <br>手游皮肤',
pic: './images/450.png'
},
{
name: '690点券LOL手游皮肤',
desc: '<img src="./images/coupon-icon.png" alt=""> 690 LOL <br>手游皮肤',
pic: './images/690.png'
},
{
name: '790点券LOL手游皮肤',
desc: '<img src="./images/coupon-icon.png" alt=""> 790 LOL <br>手游皮肤',
pic: './images/790.png'
},
{
name: '990点券LOL手游皮肤',
desc: '<img src="./images/coupon-icon.png" alt=""> 990 LOL <br>手游皮肤',
pic: './images/990.png'
}
]
// tab1渲染用户“我的兑换”列表
const rennderAwardList = (userAwardRecordList) => {
let str = ''
userAwardRecordList.map((item) => {
let unit = ''
if (item.awardId == 0 || item.awardId == 3) {
unit = '天'
}
str += `
<li>
<img src="${awardObj[item.awardId].pic}" alt="">
<p>
${awardObj[item.awardId].desc}
${item.awardId == 1 || item.awardId == 2 ? '' : "*" + item.awardExchangeNum}
${unit}
</p>
</li>
`
})
$('.z_my_award ul').html(str)
}
// tab1 点击按钮兑换奖励
$('.z_draw-area img').click(function () {
if ($(this).data('btnStatus') == 2) {
drawAward($(this).index())
}
})
// 金豆兑换奖励
const drawAward = (awardId) => {
showLoading()
networkRequest({
type: 'GET',
url: urlPrefix + '/act/lol/exchange/award',
data: {
awardId
},
success (res) {
hideLoading(layerIndex)
if (res.code === 200) {
let desc = ''
if (awardId == 0 || awardId == 3) {
desc = '已放入我的装扮'
} else {
desc = '请联系客服领取奖励'
}
$('.z_pop_up .z_award_pic').attr('src', awardObj[awardId].pic)
$('.z_pop_up .z_award_name').html(awardObj[awardId].name)
$('.z_pop_up .z_award_get_way').html(desc)
$('.z_pop_up').show()
$('body').css('overflow', 'hidden')
beanNum()
getInitInfo()
} else {
toastMsg(res.message)
}
},
error (err) {
hideLoading(layerIndex)
toastMsg('網絡錯誤')
2022-09-08 18:22:18 +08:00
}
})
}
// 关闭兑换弹窗
$('.z_know').click(() => {
$('.z_pop_up').hide()
$('body').css('overflow', 'auto')
})
// 打开邀请记录
$('.z_record').click(function (e) {
getInviteList(pageNumber);
e.stopPropagation()
})
// 获取用户活动邀请记录
let isLock = true
let canNext
let userAwardInfo = {} //底部用户获取的奖励
let userInviteRecord = [] //底部邀请列表
const getInviteList = (pageNumber = 1) => {
networkRequest({
type: 'GET',
url: urlPrefix + '/act/lol/invite/record',
data: {
pageNumber,
pageSize
},
success (res) {
hideLoading(layerIndex)
if (res.code === 200) {
// 渲染用户信息和用户邀请记录
isLock = true
userInviteRecord.push(...res.data.userAwardRecordList)
userAwardInfo = res.data.userAwardVo
renderInviteRecord()
$('.z_invite_record_wrap').animate({ 'bottom': 0 }, 500)
$('body').css('overflow', 'hidden')
if (res.data.userAwardRecordList.length === pageSize) {
// 能够继续请求下一页
canNext = true
} else {
canNext = false
userInviteRecord = userInviteRecord.slice(0, (pageNumber - 1) * 10)
}
} else {
toastMsg(res.message)
}
},
error (err) {
toastMsg('網絡錯誤')
2022-09-08 18:22:18 +08:00
}
})
}
// 渲染用户邀请记录
const renderInviteRecord = () => {
// 用户信息
$('.z_user_info .z_user_avatar').attr('src', userAwardInfo.avatar)
$('.z_user_info .z_user_nick').html(userAwardInfo.nick)
$('.z_user_info .z_user_erban').html('ID' + userAwardInfo.erbanNo)
$('.z_user_info .z_user_bonus span').html(userAwardInfo.divideBeanNum)
// 列表信息
if (!userInviteRecord.length) {
$('.z_list').html('<p class="noNew">暂未邀请新用户<p>')
} else {
let str = ''
userInviteRecord.map((item) => {
str += `
<li>
<img src="${item.avatar}" alt="" class="z_avatar">
<p>
<span class="z_nick">${item.nick}</span>
<span class="z_erban">ID${item.erbanNo}</span>
</p>
<span class="z_bonus">${item.divideBeanNum == 0 ? '未完成任务' : '+' + item.divideBeanNum + '金豆'}</span>
</li>
`
})
$('.z_list ul').html(str)
}
}
// 用户邀请记录加载更多
$('.z_list ul').scroll(function () {
let scrollTop = $(this).scrollTop()
let scrollHeight = $('.z_list ul')[0].scrollHeight
let ulHeight = $(this).innerHeight()
if (scrollTop + ulHeight + 50 >= scrollHeight) {
if (isLock) {
// 请求下一页
if (canNext) {
pageNumber++
getInviteList(pageNumber)
isLock = false
}
}
}
})
// 关闭邀请记录
$('body').click(function () {
$('.z_invite_record_wrap').animate({ 'bottom': '-13.86667rem' }, 300)
$('body').css('overflow', 'auto')
userInviteRecord = []
pageNumber = 1
$('.z_list ul').scrollTop(0)
})
$('.z_invite_record_wrap').click(function (e) {
e.stopPropagation()
})
// --------------------------------------------------------------------------------------------------------------------
// 获取邀请码接口
const getInvitation = () => {
showLoading()
networkRequest({
type: 'GET',
url: urlPrefix + '/act/lol/invite/code',
success (res) {
hideLoading(layerIndex)
if (res.code === 200) {
$('.w_tab2 .w_initCode .initBox input').val(res.data);
$('.w_initBox .w_initBox_in p').text(res.data);
copyFun(res.data);
shareObj.data.showUrl = shareObj.data.link = `${urlPrefix}/peko/activity/lol-drainage/download.html?inviteCode=${res.data}`
} else {
toastMsg(res.message)
}
},
error (err) {
hideLoading(layerIndex)
toastMsg('網絡錯誤')
2022-09-08 18:22:18 +08:00
}
})
}
// 获取用户每日完成任务状态接口
const taskStatus = () => {
showLoading()
networkRequest({
type: 'GET',
url: urlPrefix + '/act/lol/task/status',
success (res) {
hideLoading(layerIndex)
if (res.code === 200) {
var sendGiftTaskNum = res.data.sendGiftTaskNum;
res.data.awardStatusList.forEach((res, index) => {
if (res == 2) {
$('.w_daily_task p').eq(index).find('span').addClass('active');
$('.w_daily_task p').eq(index).find('span').attr('isClick', 0);
} else {
$('.w_daily_task p').eq(index).find('span').attr('isClick', 1);
}
$('.w_daily_task p').eq(index).find('b').find('strong').text(`${res == 2 ? '1' : '0'}`)
$('.w_daily_task p b .strongActive').text(`${sendGiftTaskNum}`)
});
} else {
toastMsg(res.message)
}
},
error (err) {
hideLoading(layerIndex)
toastMsg('網絡錯誤')
2022-09-08 18:22:18 +08:00
}
})
}
// 处理用户金豆
function w_beanNum (res) {
$('.w_myBeans span b').text(res)
}
// tab切换按钮
$('.w_tab div').click(function () {
var index = $(this).index();
if (index == 0) {
$(this).removeClass('w_tab_left');
$(this).siblings().removeClass('w_tab_right_active');
$(this).addClass('w_tab_left_active').siblings().addClass('w_tab_right');
$('.w_tab2').hide();
$('.z_tab1').show();
} else {
$('.z_tab1').hide();
$('.w_tab2').show();
$(this).removeClass('w_tab_right');
$(this).siblings().removeClass('w_tab_left_active');
$(this).addClass('w_tab_right_active').siblings().addClass('w_tab_left');
}
})
// 复制函数
function copyFun (val) {
$.copy({
text: "复制成功", //分享提示文案
copyUrl: val, //复制邀请码
tipTime: 2000, //分享提示消失时间
copyId: "#copy" //绑定复制时间id名字
});
}
// 复制按钮
$('.copyBut').click(function () {
var val = $('.w_tab2 .w_initCode .initBox input').val();
copyFun(val)
})
// 打开活动规则
$('.w_rule_title').click(function () {
$('.w_rule').show();
$('body').css('overflow', 'hidden')
})
// 关闭活动规则
$('.close, .w_rule').click(function () {
$('body').css('overflow', 'auto')
$('.w_rule').hide();
})
$('.w_rule_in').click(function (e) {
e.stopPropagation()
})
// 金豆刷新
$('.w_myBeans span i').click(function () {
beanNum();
})
// 每日任务
$('.w_tab2 .w_daily_task p .daily_task1').click(function () {
var isClick = $(this).attr('isClick') == 1 ? true : false;
if (isClick) {
var browser = checkVersion();
if (browser.app) {
if (browser.android) {
window.androidJsObj.openSharePage(JSON.stringify(shareObj));
} else if (browser.ios) {
window.webkit.messageHandlers.openSharePage.postMessage(JSON.stringify(shareObj));
}
}
}else{
toastMsg('该任务今日已完成')
}
})
$('.w_tab2 .w_daily_task p .daily_task2').click(function () {
var isClick = $(this).attr('isClick') == 1 ? true : false;
if (isClick) {
networkRequest({
type: 'GET',
url: urlPrefix + '/act/lol/recommend/room',
success (res) {
hideLoading(layerIndex)
if (res.code === 200) {
var roomId = res.data;
if (browser.ios) {
window.webkit.messageHandlers.openRoom.postMessage(roomId);
console.log('苹果端')
} else if (browser.android) {
if (androidJsObj && typeof androidJsObj === 'object') {
window.androidJsObj.openRoom(roomId);
console.log('安卓端')
}
} else {
console.log('web端')
}
} else {
toastMsg(res.message)
}
},
error (err) {
hideLoading(layerIndex)
toastMsg('網絡錯誤')
2022-09-08 18:22:18 +08:00
}
})
}else{
toastMsg('该任务今日已完成')
}
})
$('.w_tab2 .w_daily_task p .daily_task3').click(function () {
var isClick = $(this).attr('isClick') == 1 ? true : false;
if (isClick) {
networkRequest({
type: 'GET',
url: urlPrefix + '/act/lol/recommend/room',
success (res) {
hideLoading(layerIndex)
if (res.code === 200) {
var roomId = res.data;
if (browser.ios) {
window.webkit.messageHandlers.openRoom.postMessage(roomId);
console.log('苹果端')
} else if (browser.android) {
if (androidJsObj && typeof androidJsObj === 'object') {
window.androidJsObj.openRoom(roomId);
console.log('安卓端')
}
} else {
console.log('web端')
}
} else {
toastMsg(res.message)
}
},
error (err) {
hideLoading(layerIndex)
toastMsg('網絡錯誤')
2022-09-08 18:22:18 +08:00
}
})
}else{
toastMsg('该任务今日已完成')
}
})
$('.w_tab2 .w_daily_task p .daily_task4').click(function () {
var isClick = $(this).attr('isClick') == 1 ? true : false;
if (isClick) {
$('.w_initBox').show();
}else{
toastMsg('该任务今日已完成')
}
})
// 立即分享按钮
$('.w_initBox_but').click(function () {
networkRequest({
type: 'GET',
url: urlPrefix + '/act/lol/share/pyq',
success () {
var browser = checkVersion();
if (browser.app) {
if (browser.android) {
window.androidJsObj.openSharePage(JSON.stringify(shareObj));
} else if (browser.ios) {
window.webkit.messageHandlers.openSharePage.postMessage(JSON.stringify(shareObj));
}
}
},
error () {
toastMsg('網絡錯誤')
2022-09-08 18:22:18 +08:00
}
})
})
// 关闭立即分享按钮
$('.w_initBox').click(function () {
$('.w_initBox').hide();
})
$('.z_invitation_wrap .z_invite').click(function () {
var browser = checkVersion();
if (browser.app) {
if (browser.android) {
window.androidJsObj.openSharePage(JSON.stringify(shareObj));
} else if (browser.ios) {
window.webkit.messageHandlers.openSharePage.postMessage(JSON.stringify(shareObj));
}
}
})
//返回页面 重新请求接口
var hiddenProperty = 'hidden' in document ? 'hidden' :
'webkitHidden' in document ? 'webkitHidden' :
'mozHidden' in document ? 'mozHidden' : null;
var visibilityChangeEvent = hiddenProperty.replace(/hidden/i, 'visibilitychange');
var onVisibilityChange = function () {
if (!document[hiddenProperty]) {
$('.shade-mask-no-money').hide();
location.reload();
}
}
document.addEventListener(visibilityChangeEvent, onVisibilityChange);