611 lines
19 KiB
JavaScript
611 lines
19 KiB
JavaScript
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,
|
||
desc: '来piko,更有丰厚游戏激励金等你来~',
|
||
imgUrl: 'https://api.pekolive.com/peko/modules/wxPubPay/images/logo.png'
|
||
}
|
||
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 = '加載中...') => {
|
||
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('網絡錯誤')
|
||
}
|
||
})
|
||
}
|
||
|
||
// 用户金豆接口
|
||
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('網絡錯誤')
|
||
}
|
||
})
|
||
}
|
||
|
||
// 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'
|
||
},
|
||
{
|
||
name: 'piko新用户游戏激励金3.8元',
|
||
desc: 'piko新用户游戏<br>激励金3.8元',
|
||
pic: './images/cash.png'
|
||
},
|
||
{
|
||
name: 'piko新用户游戏激励金5.8元',
|
||
desc: 'piko新用户游戏<br>激励金5.8元',
|
||
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('網絡錯誤')
|
||
}
|
||
})
|
||
}
|
||
// 关闭兑换弹窗
|
||
$('.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('網絡錯誤')
|
||
}
|
||
})
|
||
}
|
||
// 渲染用户邀请记录
|
||
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('網絡錯誤')
|
||
}
|
||
})
|
||
}
|
||
// 获取用户每日完成任务状态接口
|
||
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('網絡錯誤')
|
||
}
|
||
})
|
||
}
|
||
// 处理用户金豆
|
||
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('網絡錯誤')
|
||
}
|
||
})
|
||
}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('網絡錯誤')
|
||
}
|
||
})
|
||
}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('網絡錯誤')
|
||
}
|
||
})
|
||
|
||
|
||
})
|
||
// 关闭立即分享按钮
|
||
$('.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);
|