Files
peko-h5/view/peko/activity/forzen-sucker/js/index.js
2023-09-01 15:20:36 +08:00

105 lines
3.5 KiB
JavaScript

// var vConsole = new VConsole();
const browser = checkVersion();
let typeTab = 1;
let info = {};
$(function() {
_hmt.push(['_trackEvent', 'client', 'click', 'bingbang']);
const getId = () => {
if (browser.app) {
if (browser.ios) {
var allcookies = document.cookie;
var $uid = allcookies.match(/\d+/);
info.uid = $uid[0]
window.webkit.messageHandlers.getTicket.postMessage(null);
// window.webkit.messageHandlers.getUid.postMessage(null);
} else if (browser.android) {
if (androidJsObj && typeof androidJsObj === 'object') {
info.uid = parseInt(window.androidJsObj.getUid());
info.ticket = window.androidJsObj.getTicket();
}
}
}
}
const render = (data) => {
let rank = data.rankList
let me = data.userInfo
let obj = {
score: 0,
user: {
avatar: './images/header.png',
nick: '虚席以待',
erbanNo: '虚席以待'
}
}
let threeArr = rank.slice(0, 3)
let otherArr = rank.slice(3, 10)
if (threeArr.length < 3) {
threeArr.push(...new Array(3 - threeArr.length).fill(obj))
}
if (otherArr.length < 7) {
otherArr.push(...new Array(7 - otherArr.length).fill(obj))
}
let threeStr = threeArr.map((item, index) => {
return ` <li>
<img class="head" src="./images/${index}.png" alt="">
<img class="avatar" src="${item.user.avatar}" alt="">
<p class="nick">${item.user.nick.length > 6 ? item.user.nick.slice(0, 6) + '...' : item.user.nick}</p>
<p class="num">${item.score}</p>
</li>`
}).join('')
//
let otherStr = otherArr.map((item, index) => {
return `<li>
<p class="ranking">${index + 4}</p>
<img src="${item.user.avatar}" alt="">
<div class="user">
<p class="nick">${item.user.nick.length > 6 ? item.user.nick.slice(0, 6) + '...' : item.user.nick}</p>
<p class="id">ID:${item.user.erbanNo}</p>
</div>
<p class="num">${item.score}</p>
</li>`
}).join('')
$('.rank-three ul').html(threeStr)
$('.rank-other ul').html(otherStr)
$('.user-me').html(`<p class="ranking">${me.rank && me.rank <= 10 ? me.rank : '未上榜'}</p>
<img src="${me.user.avatar}" alt="">
<p class="id">ID:${me.user.erbanNo}</p>
<div class="num">
<span>${typeTab == 2 ? '送出' : '收到'}</span>
<span>${me.score}</span>
</div>`)
}
const getData = (type = 1) => {
$.ajax({
// url: 'http://beta.api.pekolive.com/summerActivity/ranking',
url: '/summerActivity/ranking',
data: { type },
headers: {
pub_ticket: info.ticket,
pub_uid: info.uid
},
success(res) {
// console.log(res)
if (res.code === 200) {
console.log(res.data)
render(res.data)
}
}
})
}
$('.rank-tab .tab').on('click', function() {
$(this).addClass('active').siblings().removeClass('active')
let index = $(this).index()
typeTab = index + 1
getData(index + 1)
})
getId()
setTimeout(() => {
getData()
}, 50)
})
function getMessage(key, value) {
info[key] = value;
}