diff --git a/view/peko/modules/act-wishingStar/css/index.css b/view/peko/modules/act-wishingStar/css/index.css
index 4983235..e0116c8 100644
--- a/view/peko/modules/act-wishingStar/css/index.css
+++ b/view/peko/modules/act-wishingStar/css/index.css
@@ -474,7 +474,7 @@ body {
}
.page2 .my .num {
- width: 0.97333rem;
+ width: 1.8rem;
height: 100%;
line-height: 2.13333rem;
text-align: center;
diff --git a/view/peko/modules/act-wishingStar/css/index.scss b/view/peko/modules/act-wishingStar/css/index.scss
index d2f4d36..91274af 100644
--- a/view/peko/modules/act-wishingStar/css/index.scss
+++ b/view/peko/modules/act-wishingStar/css/index.scss
@@ -484,7 +484,7 @@ body {
height: px2rem(152);
.num {
- width: px2rem(73);
+ width: 1.8rem;
height: 100%;
line-height: px2rem(160);
text-align: center;
diff --git a/view/peko/modules/act-wishingStar/js/index.js b/view/peko/modules/act-wishingStar/js/index.js
index c604354..17fdc6e 100644
--- a/view/peko/modules/act-wishingStar/js/index.js
+++ b/view/peko/modules/act-wishingStar/js/index.js
@@ -48,12 +48,11 @@ $(function () {
window.webkit.messageHandlers.closeWebView.postMessage(null)
}
})
- // getConfig();
+ getConfig();
}, 100)
})
// 配置接口
function getConfig () {
- $('.page1 ul li').remove()
// showLoading()
networkRequest({
type: 'get',
@@ -61,17 +60,19 @@ function getConfig () {
success (res) {
if (res.code === 200) {
mymagicStickNum = res.data.userStickNum;
+ $('.page1 .top .centon').text(mymagicStickNum);
+ $('.wishingPop .wishingPop_in .magicSticks b').text(mymagicStickNum);
var str = '';
res.data.roundList.forEach(res => {
str += `
-

+
-
${res.giftName}
+
${res.gift.giftName}

-
${res.giftPrice}
+
${res.gift.goldPrice}
庫存${res.stockNum}
許願進度
@@ -82,11 +83,12 @@ function getConfig () {
${res.process}/${res.max}
已許願${res.userInputNum}次
-
+
`
});
- $('.page1 ul').append(src);
+ $('.page1 ul li').remove()
+ $('.page1 ul').append(str);
} else {
toastMsg(res.message)
}
@@ -421,11 +423,12 @@ function buyStick (num) {
success (res) {
if (res.code === 200) {
getConfig();
- $('.buySuccess p').tetx(`魔法棒${num}`);
+ $('.buySuccess p').text(`魔法棒${num}`);
$('.buySuccess').show();
bodyScroolFun(true);
magicStickNum = 1;
- $('.magicStick .magicStick_in .magicSticks b').text(0);
+ $('.magicStick .magicStick_in input').val(magicStickNum);
+ $('.magicStick .magicStick_in .magicSticks b').text(100);
} else if (res.code === 31005) {
$('.goToPay').show();
bodyScroolFun(true);
@@ -489,7 +492,7 @@ $('.wishingPop').click(function () {
})
// 许愿按钮
var roundId;
-$('.page1 ul li').on('click', '.wishIngBut', function () {
+$('.page1 ul').on('click', 'li .wishIngBut', function () {
var stockNum = $(this).attr('stockNum');
roundId = $(this).attr('roundId');
if (stockNum == 0) {
@@ -520,7 +523,13 @@ function promise (num, roundId) {
data: { num, roundId },
success (res) {
if (res.code === 200) {
+ wishingNum = 1;
+ $('.wishingPop .wishingPop_in input').val(wishingNum)
toastMsg('参与许愿成功')
+ getConfig();
+ }else if(res.code === 5003){
+ $('.magicStick .magicStick_in h3').text('可用魔法棒不足,请购买');
+ $('.magicStick').show();
} else {
toastMsg(res.message)
}
diff --git a/view/peko/modules/act-wishingStar/js/index.ts b/view/peko/modules/act-wishingStar/js/index.ts
new file mode 100644
index 0000000..fbf9699
--- /dev/null
+++ b/view/peko/modules/act-wishingStar/js/index.ts
@@ -0,0 +1,535 @@
+let urlPrefix = getUrlPrefix()
+let browser = checkVersion()
+let env = EnvCheck();
+if (env == 'test') {
+ new VConsole();
+}
+// 封裝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'
+ })
+}
+var mymagicStickNum = 0;//魔法棒数量
+var getRankType = 1;//1=今日奖励榜,2=次数总榜
+// 初始化函數
+$(function () {
+ getInfoFromClient()
+ setTimeout(function () {
+ // 頁面全屏
+ if (browser.app) {
+ if (browser.android) {
+ window.androidJsObj.initShowNav(false)
+ } else {
+ window.webkit.messageHandlers.initShowNav.postMessage(0)
+ }
+ };
+ // 頂部返回事件
+ $('.back').click(() => {
+ if (browser.android) {
+ window.androidJsObj.closeWebView()
+ } else {
+ window.webkit.messageHandlers.closeWebView.postMessage(null)
+ }
+ })
+ getConfig();
+ }, 100)
+})
+// 配置接口
+function getConfig () {
+ $('.page1 ul li').remove()
+ // showLoading()
+ networkRequest({
+ type: 'get',
+ url: urlPrefix + '/promiseStar/getConfig',
+ success (res) {
+ if (res.code === 200) {
+ mymagicStickNum = res.data.userStickNum;
+ $('.page1 .top .centon').text(mymagicStickNum)
+ var str = '';
+ res.data.roundList.forEach(res => {
+ str += `
+
+
+

+
+
+
${res.giftName}
+

+
${res.giftPrice}
+
+ 庫存${res.stockNum}
+ 許願進度
+
+
+

+
+
${res.process}/${res.max}
+
+ 已許願${res.userInputNum}次
+
+
+ `
+ });
+ $('.page1 ul').append(src);
+ } else {
+ toastMsg(res.message)
+ }
+ hideLoading(layerIndex)
+ },
+ error (err) {
+ hideLoading(layerIndex)
+ toastMsg('網路錯誤,請退出重進')
+ }
+ })
+}
+// 刷新接口
+$('.page1 .update').click(function(){
+ getConfig();
+})
+// 购买魔法棒接口
+function getRank (type) {
+ $('.page2 .listBox li').remove()
+ showLoading()
+ networkRequest({
+ type: 'get',
+ url: urlPrefix + '/promiseStar/getRank',
+ data: { type },
+ success (res) {
+ if (res.code === 200) {
+ var str = '';
+ res.data.rankList.forEach((res, i) => {
+ str += `
+
+ ${i + 1 > 3 ? res.ranking : ''}
+
+ ${res.nick}
+
+
${res.score}次
+
許願獲獎次數
+
+
+ `
+ })
+ $('.page2 .listBox').append(str);
+ } else {
+ toastMsg(res.message)
+ }
+ hideLoading(layerIndex)
+ },
+ error (err) {
+ hideLoading(layerIndex)
+ toastMsg('網路錯誤,請退出重進')
+ }
+ })
+}
+// Tab切换
+$('.header .tabBox').on('click', ' div', function () {
+ var i = $(this).index() + 1;
+ $('.header .tabBox div').removeClass('act1').removeClass('act2');
+ $(this).addClass(`act${i}`);
+ $('.page1,.page2').hide();
+ $(`.page${i}`).show();
+ if (i == 2) {
+ getRank(getRankType);
+ }
+})
+// 榜单切换
+$('.page2 .listTab div').click(function () {
+ var i = $(this).index() + 1;
+ $(this).parent('.listTab').removeClass('tab1').removeClass('tab2');
+ $(this).parent('.listTab').addClass(`tab${i}`)
+ getRankType = i;
+ getRank(getRankType);
+})
+// 打开活动规则弹窗
+$('.header .rule_icon').click(function () {
+ $('.rule').show();
+ bodyScroolFun(true);
+})
+// 关闭活动规则弹窗
+$('.rule').click(function () {
+ $('.rule').hide();
+ bodyScroolFun(false);
+})
+var page = 1;
+var isLock = true;
+// 中奖记录接口
+function listLuckyRecord (page) {
+ $('.record .record_in .ul1 li').remove();
+ networkRequest({
+ type: 'get',
+ url: urlPrefix + '/promiseStar/listLuckyRecord',
+ data: { page, pageSize: 10 },
+ success (res) {
+ if (res.code === 200) {
+ if (res.data.length == 0) {
+ isLock = false;
+ }
+ var str = '';
+ res.data.forEach((res, i) => {
+ str += `
+
+
+
${dateFormat(res.createTime, 'hh:mm:ss')}
+
${dateFormat(res.createTime, 'yyyy-MM-dd')}
+
+
+
獲得:${res.gift.giftName}
+
(${res.gift.goldPrice}鉆石)
+
+
+ `
+ })
+ $('.record .record_in .ul1').append(str);
+ isLock = true;
+ } else {
+ toastMsg(res.message)
+ }
+ hideLoading(layerIndex)
+ },
+ error (err) {
+ isLock = true;
+ hideLoading(layerIndex)
+ toastMsg('網路錯誤,請退出重進')
+ }
+ })
+}
+// 参与记录
+function listRoundRecord (page) {
+ $('.record .record_in .ul2 li').remove();
+ networkRequest({
+ type: 'get',
+ url: urlPrefix + '/promiseStar/listRoundRecord',
+ data: { page, pageSize: 10 },
+ success (res) {
+ if (res.code === 200) {
+ if (res.data.length == 0) {
+ isLock = false;
+ }
+ var str = '';
+ res.data.forEach((res, i) => {
+ str += `
+
+
+
${dateFormat(res.createTime, 'hh:mm:ss')}
+
${dateFormat(res.createTime, 'yyyy-MM-dd')}
+
+
+
許願:${res.gift.giftName}
+
${res.luckyUser ? '已结束' : '進行中'}
+
+
+
${res.luckyUser ? res.luckyUser.nick : ''}
+
${res.luckyUser ? '獲得' : ''}
+
+
+ `
+ })
+ $('.record .record_in .ul2').append(str);
+ isLock = true;
+ } else {
+ toastMsg(res.message)
+ }
+ hideLoading(layerIndex)
+ },
+ error (err) {
+ isLock = true;
+ hideLoading(layerIndex)
+ toastMsg('網路錯誤,請退出重進')
+ }
+ })
+}
+// 打开参与记录按钮
+$('.header .record_icon').click(function () {
+ page = 1;
+ isLock = true;
+ showLoading();
+ listLuckyRecord(page);
+ $('.record').show();
+ bodyScroolFun(true);
+})
+// 切换参与记录按钮
+$('.record .record_in .recordtab div').click(function () {
+ var i = $(this).index() + 1;
+ $('.record .record_in .recordtab div').removeClass('act1').removeClass('act2');
+ $(this).addClass(`act${i}`);
+ $('.record .record_in .ul2,.record .record_in .ul1').hide();
+ console.log(i);
+ if (i == 1) {
+ listLuckyRecord(page)
+ } else {
+ listRoundRecord(page)
+ }
+ $(`.record .record_in .ul${i}`).show();
+ return false;
+})
+// 监听滚动1
+$('.record .record_in .ul1').scroll(function () {
+ let scrollTop = $(this).scrollTop()
+ let scrollHeight = $('.record .record_in .ul1')[0].scrollHeight
+ let ulHeight = $(this).innerHeight()
+ if (scrollTop + ulHeight + 100 >= scrollHeight) {
+ if (isLock) {
+ // 请求下一页
+ if (canNext) {
+ listLuckyRecord(page++)
+ isLock = false;
+ }
+ }
+ }
+})
+// 监听滚动2
+$('.record .record_in .ul2').scroll(function () {
+ let scrollTop = $(this).scrollTop()
+ let scrollHeight = $('.record .record_in .ul2')[0].scrollHeight
+ let ulHeight = $(this).innerHeight()
+ if (scrollTop + ulHeight + 100 >= scrollHeight) {
+ if (isLock) {
+ // 请求下一页
+ if (canNext) {
+ listRoundRecord(page++)
+ isLock = false;
+ }
+ }
+ }
+})
+// 关闭参与记录按钮
+$('.record').click(function () {
+ $('.record').hide();
+ bodyScroolFun(false);
+})
+// 关闭去充值弹窗
+$('.goToPay').click(function () {
+ $('.goToPay').hide();
+ bodyScroolFun(false);
+})
+// 关闭购买成功按钮
+$('.buySuccess .buySuccess_in .buySuccessBut').click(function () {
+ $('.buySuccess').hide();
+ bodyScroolFun(false);
+})
+// 去充值按钮
+$('.goToPay .goToPay_in .but').click(function () {
+ if (browser.app) {
+ if (browser.android) {
+ let channel = pubInfo.deviceInfo.channel;
+ console.log(pubInfo.deviceInfo);
+ if (channel == "google") {
+ window.androidJsObj.openChargePage(6);
+ } else {
+ window.androidJsObj.openChargePage(6);
+ window.location.href = urlPrefix + '/peko/modules/pay/index.html?channelType=4';
+ }
+ } else if (browser.ios) {
+ let channel = pubInfo.deviceInfo.channel;
+ if (channel == "appstore") {
+ window.webkit.messageHandlers.openChargePage.postMessage(null);
+ } else {
+ window.webkit.messageHandlers.chargePayClickPage.postMessage(6);
+ window.location.href = urlPrefix + '/peko/modules/pay/index.html?channelType=4';
+ }
+ }
+ } else {
+ toastMsg('請在app內打開')
+ }
+ $('.goToPay').hide();
+ bodyScroolFun(false);
+ return false;
+})
+var magicStickNum = 1;
+function magicStick (type, num) {
+ magicStickNum = Number($('.magicStick .magicStick_in input').val());
+ if (type == 1) {
+ // 加
+ magicStickNum++;
+ } else if (type == 2) {
+ // 减
+ magicStickNum--;
+ } else if (type == 3) {
+ // 快捷购买
+ magicStickNum += num;
+ } else {
+ }
+ magicStickNum <= 1 ? magicStickNum = 1 : magicStickNum = magicStickNum;
+ magicStickNum >= 99999999 ? magicStickNum = 99999999 : magicStickNum = magicStickNum;
+ $('.magicStick .magicStick_in .magicSticks b').text(magicStickNum * 100);
+ $('.magicStick .magicStick_in input').val(magicStickNum);
+}
+// 打开购买魔法棒弹窗
+$('.page1 .top .but').click(function () {
+ $('.magicStick .magicStick_in h3').text('購買數量');
+ $('.magicStick').show();
+ bodyScroolFun(true);
+})
+// 魔法棒加弹窗
+$('.magicStick .magicStick_in .add').click(function () {
+ magicStick(1)
+ return false;
+})
+// 魔法棒减弹窗
+$('.magicStick .magicStick_in .decrease').click(function () {
+ magicStick(2)
+ return false;
+})
+// 魔法棒快捷购买弹窗
+$('.magicStick .magicStick_in .quickAddition div').click(function () {
+ var num = Number($(this).attr('num'));
+ magicStick(3, num)
+ return false;
+})
+// 监听输入框的变化
+$('.magicStick .magicStick_in input').on('input', function () {
+ magicStick();
+})
+// 魔法棒输入框弹窗
+$('.magicStick .magicStick_in input').click(function () {
+ return false;
+})
+// 关闭购买魔法棒弹窗
+$('.magicStick').click(function () {
+ $('.magicStick').hide();
+ bodyScroolFun(false);
+})
+// 确认购买魔法棒按钮
+$('.magicStick .magicStick_in .but').click(function () {
+ buyStick(magicStickNum)
+ bodyScroolFun(false);
+})
+// 购买魔法棒
+function buyStick (num) {
+ showLoading()
+ networkRequest({
+ type: 'get',
+ url: urlPrefix + '/promiseStar/buyStick',
+ data: { num },
+ success (res) {
+ if (res.code === 200) {
+ getConfig();
+ $('.buySuccess p').tetx(`魔法棒${num}`);
+ $('.buySuccess').show();
+ bodyScroolFun(true);
+ magicStickNum = 1;
+ $('.magicStick .magicStick_in .magicSticks b').text(0);
+ } else if (res.code === 31005) {
+ $('.goToPay').show();
+ bodyScroolFun(true);
+ } else {
+ toastMsg(res.message)
+ }
+ hideLoading(layerIndex)
+ },
+ error (err) {
+ hideLoading(layerIndex)
+ toastMsg('網路錯誤,請退出重進')
+ }
+ })
+}
+var wishingNum = 1;
+function wishing (type, num) {
+ wishingNum = Number($('.wishingPop .wishingPop_in input').val());
+ if (type == 1) {
+ // 加
+ wishingNum++;
+ } else if (type == 2) {
+ // 减
+ wishingNum--;
+ } else if (type == 3) {
+ // 快捷购买
+ wishingNum += num;
+ } else {
+ }
+ wishingNum <= 1 ? wishingNum = 1 : wishingNum = wishingNum;
+ wishingNum >= 99999999 ? wishingNum = 99999999 : wishingNum = wishingNum;
+ $('.wishingPop .wishingPop_in input').val(wishingNum);
+}
+// 许愿加弹窗
+$('.wishingPop .wishingPop_in .add').click(function () {
+ wishing(1)
+ return false;
+})
+// 许愿减弹窗
+$('.wishingPop .wishingPop_in .decrease').click(function () {
+ wishing(2)
+ return false;
+})
+// 许愿快捷购买弹窗
+$('.wishingPop .wishingPop_in .quickAddition div').click(function () {
+ var num = Number($(this).attr('num'));
+ wishing(3, num)
+ return false;
+})
+// 监听输入框的变化
+$('.wishingPop .wishingPop_in input').on('input', function () {
+ wishing();
+})
+// 许愿输入框弹窗
+$('.wishingPop .wishingPop_in input').click(function () {
+ return false;
+})
+// 关闭许愿弹窗
+$('.wishingPop').click(function () {
+ $('.wishingPop').hide();
+ bodyScroolFun(false);
+})
+// 许愿按钮
+var roundId;
+$('.page1 ul li').on('click', '.wishIngBut', function () {
+ var stockNum = $(this).attr('stockNum');
+ roundId = $(this).attr('roundId');
+ if (stockNum == 0) {
+ toastMsg('该礼物库存不足,无法进行许愿');
+ return;
+ }
+ $('.wishingPop').show();
+})
+// 确认许愿按钮
+$('.wishingPop .wishingPop_in .but').click(function () {
+ console.log(wishingNum < mymagicStickNum);
+ if (wishingNum > mymagicStickNum) {
+ $('.magicStick .magicStick_in h3').text('可用魔法棒不足,请购买');
+ $('.magicStick').show();
+ bodyScroolFun(true);
+ } else {
+ promise(wishingNum, roundId);
+ bodyScroolFun(false);
+ }
+
+})
+// 许愿接口
+function promise (num, roundId) {
+ showLoading()
+ networkRequest({
+ type: 'post',
+ url: urlPrefix + '/promiseStar/promise',
+ data: { num, roundId },
+ success (res) {
+ if (res.code === 200) {
+ toastMsg('参与许愿成功')
+ } else {
+ toastMsg(res.message)
+ }
+ hideLoading(layerIndex)
+ },
+ error (err) {
+ hideLoading(layerIndex)
+ toastMsg('網路錯誤,請退出重進')
+ }
+ })
+}
\ No newline at end of file
diff --git a/view/peko/modules/act-wishingStar/package-lock.json b/view/peko/modules/act-wishingStar/package-lock.json
new file mode 100644
index 0000000..8af3de6
--- /dev/null
+++ b/view/peko/modules/act-wishingStar/package-lock.json
@@ -0,0 +1,27 @@
+{
+ "name": "act-wishingStar",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "devDependencies": {
+ "@types/jquery": "^3.5.29"
+ }
+ },
+ "node_modules/@types/jquery": {
+ "version": "3.5.29",
+ "resolved": "https://registry.npmmirror.com/@types/jquery/-/jquery-3.5.29.tgz",
+ "integrity": "sha512-oXQQC9X9MOPRrMhPHHOsXqeQDnWeCDT3PelUIg/Oy8FAbzSZtFHRjc7IpbfFVmpLtJ+UOoywpRsuO5Jxjybyeg==",
+ "dev": true,
+ "dependencies": {
+ "@types/sizzle": "*"
+ }
+ },
+ "node_modules/@types/sizzle": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmmirror.com/@types/sizzle/-/sizzle-2.3.8.tgz",
+ "integrity": "sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==",
+ "dev": true
+ }
+ }
+}
diff --git a/view/peko/modules/act-wishingStar/package.json b/view/peko/modules/act-wishingStar/package.json
new file mode 100644
index 0000000..3ef9c20
--- /dev/null
+++ b/view/peko/modules/act-wishingStar/package.json
@@ -0,0 +1,5 @@
+{
+ "devDependencies": {
+ "@types/jquery": "^3.5.29"
+ }
+}