Files
peko-h5/view/peko/modules/game/js/index.js

194 lines
6.6 KiB
JavaScript
Raw Normal View History

2022-09-08 18:22:18 +08:00
let urlPrefix = getUrlPrefix()
let browser = checkVersion()
let env = EnvCheck();
if (env == 'test') {
new VConsole();
}
2022-10-20 18:44:45 +08:00
// const productUrlNew = 'https://api.99park.cn'; // 正式環境
// const testUrlNew = 'http://beta.99park.cn'; // 測試環境
2022-09-08 18:22:18 +08:00
2022-10-20 18:44:45 +08:00
const productUrlNew = 'https://api.pekolive.com'; // 正式環境
const testUrlNew = 'https://beta.api.pekolive.com'; // 測試環境
//獲取新域名前綴
2022-09-08 18:22:18 +08:00
function getUrlPrefixNew() {
if (!EnvCheck()) return undefined;
return EnvCheck() === 'live' ? productUrlNew : testUrlNew;
}
const urlPrefixNew = getUrlPrefixNew()
2022-10-20 18:44:45 +08:00
// 封裝layer消息提醒框
2022-09-08 18:22:18 +08:00
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'
})
}
let shareObj = {
type: 2,
data: {
msg: 'llllll',
2023-08-03 14:11:46 +08:00
title: '來piko邂逅你的專屬聲音',
2022-10-20 18:44:45 +08:00
imgUrl: 'http://beta.img.pekolive.com/logo.png',
2023-08-03 14:11:46 +08:00
desc: '聽聲音玩遊戲交朋友來piko~',
2022-09-08 18:22:18 +08:00
}
}
let inviteList = []
let userInfo = {}
const getInviteList = () => {
showLoading()
networkRequest({
type: 'GET',
url: urlPrefix + '/inviteCode/getListV2',
success(res){
hideLoading(layerIndex)
if(res.code === 200){
$('.invite-code span').html(res.data.inviteCode)
inviteList = res.data.inviteList
userInfo = res.data.inviteUser
renderUserInfo()
renderInviteList()
2023-08-03 14:11:46 +08:00
if(pubInfo.deviceInfo.app == 'pikoEnterprise'){
shareObj.data.link = shareObj.data.showUrl = `${urlPrefixNew}/peko/modules/game/register.html?inviteCode=` + res.data.inviteCode + '&shareUid=' + userInfo.uid + '&enterprise=pikoEnterprise'
2022-09-08 18:22:18 +08:00
2023-08-03 14:11:46 +08:00
$('.qr').qrcode(`${urlPrefixNew}/peko/modules/game/register.html?inviteCode=` + res.data.inviteCode + '&shareUid=' + userInfo.uid + '&enterprise=pikoEnterprise')
2022-09-08 18:22:18 +08:00
$('canvas').addClass('active')
}else{
shareObj.data.link = shareObj.data.showUrl = `${urlPrefixNew}/peko/modules/game/register.html?inviteCode=` + res.data.inviteCode + '&shareUid=' + userInfo.uid
$('.qr').qrcode(`${urlPrefixNew}/peko/modules/game/register.html?inviteCode=` + res.data.inviteCode + '&shareUid=' + userInfo.uid)
$('canvas').addClass('active')
}
$('.share-btn').on('click', function () {
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(res.message)
}
},
error(){
hideLoading(layerIndex)
toastMsg('網絡錯誤')
2022-09-08 18:22:18 +08:00
}
})
}
const getRule = () => {
showLoading()
networkRequest({
type: 'GET',
url: urlPrefix + '/inviteCode/getInviteTicketInfo',
success(res){
hideLoading(layerIndex)
if(res.code === 200){
if(res.data){
$('.punctuation').html(';')
$('.rule-wrap').addClass('rule-wrap-big')
taskLimit = res.data.taskLimit
tickets = res.data.tickets
let desc = ''
tickets.map((item, index) => {
2022-10-20 18:44:45 +08:00
desc += `${item.ticketName}${item.ticketNum}${index === tickets.length-1 ? '。' : ''}`
2022-09-08 18:22:18 +08:00
})
let str = `
2022-10-20 18:44:45 +08:00
<p>4.每成功邀請${taskLimit}位好友註冊且報名比賽可獲贈${desc}</p>
2022-09-08 18:22:18 +08:00
`
$('.rule-wrap').append(str)
}
}else{
toastMsg(res.message)
}
},
error(){
hideLoading(layerIndex)
toastMsg('網絡錯誤')
2022-09-08 18:22:18 +08:00
}
})
}
const renderInviteList = () => {
let str = ''
inviteList.map( (item) => {
if(!item.nick){
item.nick = '未知'
}
str += `
<li>
<div class="item-avatar"><img src="${item.avatar ? item.avatar : `./images/default.png`}" alt=""></div>
<div class="item-info">
<p class="item-nickname">
${item.nick.length > 11 ? item.nick.slice(0, 11) + `...` : item.nick}
${
item.gender ? `<img src="${item.gender === 1 ? `./images/male.png` : `./images/female.png`}" alt="">` : ''
}
</p>
2022-10-20 18:44:45 +08:00
<div class="item-date"><span>${dateFormat(item.createTime, "yyyy-MM-dd hh:mm")}</span>&nbsp;&nbsp;</div>
2022-09-08 18:22:18 +08:00
</div>
2022-10-20 18:44:45 +08:00
<div class="isActive ${item.hasLoginActived ? '' : 'inactive'}">${item.hasLoginActived ? '已登錄激活' : '未登錄激活'}</div>
2022-09-08 18:22:18 +08:00
</li>
`
} )
$('.invite-record-wrap').html(str)
}
const renderUserInfo = () => {
if(!userInfo.nick){
userInfo.nick = '未知'
}
if(userInfo.nick.length > 10){
userInfo.nick = userInfo.nick.slice(0, 10) + `...`
}
$('.personal-info .nickname').html(userInfo.nick)
$('.personal-info-content .avatar img').attr('src', userInfo.avatar)
$('.personal-info .platform-code .erbanNo').html(userInfo.erbanNo)
}
$(function(){
getInfoFromClient()
setTimeout(function(){
getInviteList()
getRule()
2023-07-11 18:35:47 +08:00
}, 150)
2022-09-08 18:22:18 +08:00
if (browser.app) {
if (browser.android) {
let channel = JSON.parse(pubInfo.deviceInfo).channel
if (channel.indexOf('toutiao') != -1 || channel.indexOf('kuaishou') != -1) {
$('.banner img').attr('src', './images/banner-yy.png')
$('.avatar img').attr('src', './images/logo-yy.png')
2023-08-03 14:11:46 +08:00
$('.appName').html('piko')
2022-09-08 18:22:18 +08:00
}
}
}
setTimeout(() => {
$('body').show()
}, 0)
})