Files
peko-h5/view/peko/modules/act-treasureSnatching/js/index.js

303 lines
11 KiB
JavaScript

// 封装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'
})
}
let urlPrefix = getUrlPrefix();
let browser = checkVersion();
var diamondsAll = 0;
var packIds;
let env = EnvCheck();
if (env == 'test') {
new VConsole();
}
// 初始化函数
$(function () {
getInfoFromClient()
fuzzyMatchUpdateQueryStringParameterFun(); // 判断语言
setTimeout(function () {
// 返回事件
$('.back').click(() => {
if (browser.app) {
if (browser.android) {
window.androidJsObj.closeWebView();
} else {
window.webkit.messageHandlers.closeWebView.postMessage(null);
}
} else {
const langReplace = window.lang.replace;
const localLang = window.lang;
toastMsg(langReplace(localLang.demoModule.open_app))
// toastMsg('请在APP内打开')
}
})
// 初始化国际化
initLocalLang();
getList();
getUserInfo();
translateFun();
}, 100)
$('body,html').css('padding-top', `${(document.documentElement.clientWidth / 750 * 120) / 75}rem`);
})
function translateFun() {
const langReplace = window.lang.replace;
const localLang = window.lang;
$('title').html(langReplace(localLang.demoModule.idnex_title))
$('#indexTitle').attr('src', langReplace(localLang.demoModule.indexTitle))
$('#dbqImg').attr('src', langReplace(localLang.demoModule.dbqImg))
$('#recharge').html(langReplace(localLang.demoModule.recharge))
$('#index_num').html(langReplace(localLang.demoModule.index_num))
$('#index_day').html(langReplace(localLang.demoModule.index_day))
$('#index_gold').html(langReplace(localLang.demoModule.index_gold))
$('#index_tian').html(langReplace(localLang.demoModule.index_tian))
$('#index_diamond').html(langReplace(localLang.demoModule.index_diamond))
$('#index_cancel').html(langReplace(localLang.demoModule.index_cancel))
$('#index_buy').html(langReplace(localLang.demoModule.index_buy))
if (localLang.code != 'id') {
$('#recharge').addClass('butline')
}
}
// 用户信息接口
function getUserInfo() {
// showLoading()
networkRequest({
type: 'GET',
url: urlPrefix + '/act/seize-treasure/user/info',
success(res) {
if (res.code === 200) {
$('.my .num2').text(unitProcessing(res.data.diamonds, 100000, 1, 'W'));
$('.my .num1').text(res.data.drawTicketNum);
$('.my .name').text(res.data.nick);
$('.my .tx').attr('src', res.data.avatar);
hideLoading(layerIndex)
} else {
toastMsg(res.message)
hideLoading(layerIndex)
}
},
error(err) {
hideLoading(layerIndex)
const langReplace = window.lang.replace;
const localLang = window.lang;
toastMsg(langReplace(localLang.demoModule.network))
}
})
}
// 礼物列表接口
function getList() {
$('ul li').remove();
const langReplace = window.lang.replace;
const localLang = window.lang;
showLoading(langReplace(localLang.demoModule.loading))
networkRequest({
type: 'GET',
url: urlPrefix + '/act/seize-treasure/pack/list',
success(res) {
if (res.code === 200) {
const langReplace = window.lang.replace;
const localLang = window.lang;
let send_title = langReplace(localLang.demoModule.send_title);
let index_zhang = langReplace(localLang.demoModule.index_zhang);
let index_tian = langReplace(localLang.demoModule.index_tian);
let index_buy = langReplace(localLang.demoModule.index_buy);
var str = '';
res.data.forEach(res => {
// str += `
// <li>
// <div class="title">贈送奪寶券${res.ticketNum}張</div>
// <img src="${res.imgUrl}" alt="" class="giftImg">
// <div class="name">${res.name}(1天)</div>
// <div class="zs">
// <img src="./images/zs.png" alt="" class="icon">
// <b>${res.sellingPrice}</b>
// </div>
// <div class="but" packId='${res.id}' day=1 diamonds=${res.sellingPrice} name='${res.name}'>購買</div>
// </li>
// `
str += `
<li>
<div class="title">${send_title}${res.ticketNum}${index_zhang}</div>
<img src="${res.imgUrl}" alt="" class="giftImg">
<div class="name">${res.name}(1${index_tian})</div>
<div class="zs">
<img src="./images/zs.png" alt="" class="icon">
<b>${res.sellingPrice}</b>
</div>
<div class="but" packId='${res.id}' day=1 diamonds=${res.sellingPrice} name='${res.name}'>${index_buy}</div>
</li>
`
});
$('ul').append(str);
// 购买头饰按钮
$('ul li .but').bind('on click', function () {
var diamonds = Number($(this).attr('diamonds'));
var day = Number($(this).attr('day'));
var name = $(this).attr('name');
packIds = $(this).attr('packId');
$('.buy .buy_in .day span').text(day);
$('.buy .buy_in .zs span').text(diamonds);
$('.buy .buy_in .title').text(index_buy + name);
$(".buy .buy_in .num .box input").val(1);
diamondsAll = diamonds;
$('.buy').show();
})
hideLoading(layerIndex)
} else {
toastMsg(res.message)
hideLoading(layerIndex)
}
},
error(err) {
hideLoading(layerIndex)
const langReplace = window.lang.replace;
const localLang = window.lang;
toastMsg(langReplace(localLang.demoModule.network))
}
})
}
setInterval(function () {
getUserInfo();
}, 1000)
// 购买接口
function buy(packId, packNum) {
const langReplace = window.lang.replace;
const localLang = window.lang;
showLoading(langReplace(localLang.demoModule.loading))
networkRequest({
type: 'POST',
url: urlPrefix + '/activity/pack/buy',
data: { packId, packNum, uid: pubInfo.uid },
success(res) {
if (res.code === 200) {
diamondsAll = 0;
$('.buy').hide();
getUserInfo();
hideLoading(layerIndex)
const langReplace = window.lang.replace;
const localLang = window.lang;
toastMsg(langReplace(localLang.demoModule.buy_success))
// toastMsg('购买成功')
} else {
diamondsAll = 0;
$('.buy').hide();
toastMsg(res.message)
hideLoading(layerIndex)
}
},
error(err) {
diamondsAll = 0;
$('.buy').hide();
hideLoading(layerIndex)
const langReplace = window.lang.replace;
const localLang = window.lang;
toastMsg(langReplace(localLang.demoModule.network))
}
})
}
// 充值按钮
$('.my .but').click(function () {
if (browser.app) {
if (browser.android) {
let channel = pubInfo.deviceInfo.channel;
console.log(pubInfo.deviceInfo);
if (channel == "google") {
window.androidJsObj.openChargePage(0);
} else {
window.androidJsObj.openChargePage(9);
}
} else if (browser.ios) {
window.webkit.messageHandlers.openChargePage.postMessage(null)
}
} else {
// toastMsg('請在app內打開')
const langReplace = window.lang.replace;
const localLang = window.lang;
toastMsg(langReplace(localLang.demoModule.open_app))
}
})
// 取消购买
$('.buy .buy_in .close').click(function () {
diamondsAll = 0;
$('.buy').hide();
})
// 确认购买按钮
$('.buy .buy_in .ok').click(function () {
var num = Number($('.buy .buy_in .num .box input').val());
buy(packIds, num);
})
// 减少天数
$('.buy .buy_in .num .box .subtraction').click(function () {
var val = Number($(".buy .buy_in .num .box input").val());
val--;
if (val < 1) {
const langReplace = window.lang.replace;
const localLang = window.lang;
toastMsg(langReplace(localLang.demoModule.cannot1))
// toastMsg('购买不能小于1');
val = 1;
}
$('.buy .buy_in .day span').text(val);
$('.buy .buy_in .zs span').text(val * diamondsAll);
$(".buy .buy_in .num .box input").val(val);
})
// 增加天数
$('.buy .buy_in .num .box .add').click(function () {
var val = Number($(".buy .buy_in .num .box input").val());
val++;
if (val > 200) {
const langReplace = window.lang.replace;
const localLang = window.lang;
toastMsg(langReplace(localLang.demoModule.cannot200))
// toastMsg('购买最大200');
val = 200;
}
$('.buy .buy_in .day span').text(val);
$('.buy .buy_in .zs span').text(val * diamondsAll);
$(".buy .buy_in .num .box input").val(val);
})
// 监听input
$("input[name='content']").bind('input propertychange', function () {
var val = Number($(this).val());
const langReplace = window.lang.replace;
const localLang = window.lang;
if (val > 200) {
$(this).val(200);
val = 200;
toastMsg(langReplace(localLang.demoModule.cannot200))
// toastMsg('购买最大200');
} else if (val < 1) {
$(this).val(1);
val = 1;
toastMsg(langReplace(localLang.demoModule.cannot1))
// toastMsg('购买不能小于1');
} else {
$(this).val(val);
val = val;
}
$('.buy .buy_in .day span').text(val);
$('.buy .buy_in .zs span').text(val * diamondsAll);
});