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 activityCode1; var activityCode2; var activityCode; var diamondNum; var taskCode; var taskIcon; var taskName; var showValue; var countupTime; // 初始化函數 $(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) } }) getTask_MENG_DONG_HUA_HE(); getTask_TIAN_MI_SHENG_WEN(); getRank(); }, 100) }) // 獲取榜單接口 function getRank () { showLoading() networkRequest({ type: 'get', url: urlPrefix + '/act/2024Valentines/cpRank/getRank', success (res) { if (res.code === 200) { // 處理任務 res.data.cpTaskList.forEach((val, i) => { console.log(res.status); if (val.status == 2) { $(`.page3 .box .tasks${i + 1} .buy`).addClass("act"); $(`.page3 .box .tasks${i + 1} .buy`).text("已完成"); $(`.page3 .box .tasks${i + 1} .line .i`).text(`${res.data.score > val.score ? val.score : res.data.score}/${val.score}`); $(`.page3 .box .tasks${i + 1} .line span`).css('width', `${(res.data.score / val.score) * 100 >= 100 ? 98.8 : (res.data.score / val.score) * 100}%`) } else { $(`.page3 .box .tasks${i + 1} .buy`).removeClass("act"); $(`.page3 .box .tasks${i + 1} .buy`).text("未完成"); $(`.page3 .box .tasks${i + 1} .line .i`).text(`${res.data.score > val.score ? val.score : res.data.score}/${val.score}`); $(`.page3 .box .tasks${i + 1} .line span`).css('width', `${(res.data.score / val.score) * 100 >= 100 ? 98.8 : (res.data.score / val.score) * 100}%`) } }); // 處理前三 var top3 = res.data.rankList.slice(0, 3); var notTop3 = res.data.rankList.slice(3); if (top3.length < 3) { let arr = new Array(3 - top3.length).fill({ leftAvatar: './images/logo.png', rightAvatar: './images/logo.png', leftNick: '虛位以待', rightNick: '虛位以待', score: "0" }) top3.push(...arr) } top3.forEach((res, i) => { $(`.page3 .top3 .no${i + 1} .leftlogo`).attr('src', res.leftAvatar); $(`.page3 .top3 .no${i + 1} .rightlogo`).attr('src', res.rightAvatar); $(`.page3 .top3 .no${i + 1} .name`).html(`${res.leftNick.length > 6 ? res.leftNick.slice(0, 6) + '...' : res.leftNick} & ${res.rightNick.length > 6 ? res.rightNick.slice(0, 6) + '...' : res.rightNick}`); $(`.page3 .top3 .no${i + 1} .score`).text(unitProcessing(res.score, 10000, 1, 'w') + '熱戀值') }) // 非前三 var str = ''; $('.page3 ul li').remove(); notTop3.forEach((res, i) => { str += `
  • ${res.ranking}
    ${res.leftNick}
    ${res.rightNick}
    ${unitProcessing(res.score, 10000, 1, 'w')}
  • ` }) $('.page3 ul').append(str); // 處理自己榜單排名 $('.page3 .my .myBox').remove(); var strMy = ''; res.data.meRankList.forEach((res, i) => { strMy += `
    ${res.ranking == 0 ? '未上榜' : res.ranking}
    ${res.leftNick}
    ${res.rightNick}
    ${unitProcessing(res.score, 10000, 1, 'w')}
    ` }) $('.page3 .my .scroll').append(strMy) } else { toastMsg(res.message) } hideLoading(layerIndex) }, error (err) { hideLoading(layerIndex) toastMsg('網路錯誤,請退出重進') } }) } // 獲取萌動禮盒點亮任務接口 function activityInfo () { showLoading() networkRequest({ type: 'get', url: urlPrefix + '/activity/info', data: { activityCode: activityCode2 }, success (res) { if (res.code === 200) { if (res.data.endTime - res.timestamp > 0) { countup(res.data.endTime - res.timestamp); } else { $('.end').show(); bodyScroolFun(true); } } else { toastMsg(res.message) } hideLoading(layerIndex) }, error (err) { hideLoading(layerIndex) toastMsg('網路錯誤,請退出重進') } }) } // 倒計時 function countup (leftTime) { clearTimeout(countupTime) //獲取當前時間 // var now = nowTime; var d = 0; var h = 0; var m = 0; var s = 0; //定義變數 d,h,m,s保存倒計時的時間 var d, h, m, s; //遞歸每秒調⽤countTime⽅法,顯⽰動態時間效果 if (leftTime > 0) { d = getzf(Math.floor(leftTime / 1000 / 60 / 60 / 24)); h = getzf(Math.floor(leftTime / 1000 / 60 / 60 % 24)); m = getzf(Math.floor(leftTime / 1000 / 60 % 60)); s = getzf(Math.floor(leftTime / 1000 % 60)); //將倒計時賦值到div中 $('.page2 .box .i1').text(`剩余時間:${d}天${h}時${m}分${s}秒`); } else { $('.page2 .box .i1').text(`剩余時間:已結束`); } if (leftTime > 0) { leftTime = leftTime - 1000; } countupTime = setTimeout(function () { countup(leftTime); }, 1000); } // 獲取萌動禮盒點亮任務接口 function getTask_MENG_DONG_HUA_HE () { showLoading() networkRequest({ type: 'get', url: urlPrefix + '/activity/task/user', data: { componentCode: "MENG_DONG_HUA_HE" }, success (res) { if (res.code === 200) { // 渲染合成列錶 $('.page1 .bg1 .giftListBox .giftList').remove(); var str = ''; res.data[0].children.forEach((res, i) => { str += `
    ${res.taskName}
    ${res.taskValue}鉆
    ` }); $('.page1 .bg1 .giftListBox').append(str); activityCode1 = 'ACT_2024_VALENTINES_DAY'; recordPage(activityCode1, 'MENG_DONG_HUA_HE',); if (res.data[0].reward.granted) { $('.page1 .bg1 .p3').show(); } else { $('.page1 .bg1 .p3').hide(); } } else { toastMsg(res.message) } hideLoading(layerIndex) }, error (err) { hideLoading(layerIndex) toastMsg('網路錯誤,請退出重進') } }) } // 獲取甜蜜升溫任務接口 function getTask_TIAN_MI_SHENG_WEN () { showLoading() networkRequest({ type: 'get', url: urlPrefix + '/activity/task/user', data: { componentCode: "TIAN_MI_SHENG_WEN" }, success (res) { if (res.code === 200) { activityCode2 = 'ACT_2024_VALENTINES_DAY'; res.data.forEach((res, i) => { $(`.page2 .box .tasks${i + 1} .giftBox .gift`).attr('src', res.taskIcon); $(`.page2 .box .tasks${i + 1} .giftBox .giftName`).text(res.reward.rewardName); $(`.page2 .box .tasks${i + 1} .giftBox .giftVAlue`).text(res.reward.showValue + '鉆'); $(`.page2 .box .tasks${i + 1} .p1`).text(`每達到${res.taskValue}禮物值,可解鎖1次直購權`); $(`.page2 .box .tasks${i + 1} .line .i`).text(`${res.completeValue % res.taskValue}/${res.taskValue}`); $(`.page2 .box .tasks${i + 1} .line span`).css('width', `${(res.completeValue % res.taskValue / res.taskValue) * 100 >= 100 ? 98.8 : (res.completeValue % res.taskValue / res.taskValue) * 100}%`); $(`.page2 .box .tasks${i + 1} .p3`).text(`當前可購買: ${Math.floor(res.activityValue / res.taskValue)}個`); $(`.page2 .box .tasks${i + 1} .buy`).html(` ${res.reward.showValue}購買`); $(`.page2 .box .tasks${i + 1} .buy`).attr('activityCode', res.activityCode); $(`.page2 .box .tasks${i + 1} .buy`).attr('taskCode', res.taskCode); $(`.page2 .box .tasks${i + 1} .buy`).attr('diamondNum', res.reward.showValue); $(`.page2 .box .tasks${i + 1} .buy`).attr('num', Math.floor(res.activityValue / res.taskValue)); $(`.page2 .box .tasks${i + 1} .buy`).attr('taskIcon', res.taskIcon); $(`.page2 .box .tasks${i + 1} .buy`).attr('taskName', res.reward.rewardName); $(`.page2 .box .tasks${i + 1} .buy`).attr('showValue', res.reward.showValue); }) activityInfo(); } else { toastMsg(res.message) } hideLoading(layerIndex) }, error (err) { hideLoading(layerIndex) toastMsg('網路錯誤,請退出重進') } }) } // 購買接口 function exchange (activityCode, diamondNum, taskCode, taskIcon, taskName, showValue) { showLoading() networkRequest({ type: 'post', url: urlPrefix + '/activity/task/exchange', data: { activityCode, diamondNum, taskCode, num: 1 }, success (res) { if (res.code === 200) { $('.success .success_in .giftListSuccess .gift').attr('src', taskIcon); $('.success .success_in .giftListSuccess .giftName').text(taskName); $('.success .success_in .giftListSuccess .giftVAlue').text(`${showValue}鉆`); $('.success .success_in .text').text(`${taskName}*1已發放至「我的背包」`); $('.success').show(); getTask_TIAN_MI_SHENG_WEN(); bodyScroolFun(true); } else if (res.code == 31005) { $('.failureBuy').show(); bodyScroolFun(true); } else { toastMsg(res.message) } hideLoading(layerIndex) }, error (err) { hideLoading(layerIndex) toastMsg('網路錯誤,請退出重進') } }) } // 購買禮物按鈕 $(`.page2 .box .taskss .buy`).click(function () { var num = $(this).attr('num'); activityCode = $(this).attr('activityCode'); diamondNum = $(this).attr('diamondNum'); taskCode = $(this).attr('taskCode'); taskIcon = $(this).attr('taskIcon'); taskName = $(this).attr('taskName'); showValue = $(this).attr('showValue'); if (num > 0) {//true $('.sure .sure_in .giftListSuccess .gift').attr('src', taskIcon); $('.sure .sure_in .giftListSuccess .giftName').text(taskName); $('.sure .sure_in .giftListSuccess .giftVAlue').text(showValue + '鉆'); $('.sure').show(); bodyScroolFun(true); } else { toastMsg('當前購買次數不足~') } }); // 二次確認彈窗 $('.sure .sure_in .ok').click(function () { exchange(activityCode, diamondNum, taskCode, taskIcon, taskName, showValue); $('.sure').hide(); bodyScroolFun(false); }) // tab切換 $('.tab div').click(function () { var i = $(this).index() + 1; $('.page1,.page2,.page3').hide(); $(`.page${i}`).show(); $(this).addClass(`act`).siblings().removeClass('act') if (i == 3) { getRank(); } }) // 記錄接口 function recordPage (activityCode, componentCode) { showLoading() networkRequest({ type: 'get', url: urlPrefix + '/activity/task/user/record/page', data: { activityCode, componentCode, pageNum: 1, pageSize: 9999 }, success (res) { if (res.code === 200) { var str = ''; if (componentCode == 'MENG_DONG_HUA_HE') { $('.page1 .bg2 ul li').remove() if (res.data.records.length <= 0) { str = `
  • 暫無點亮記錄,快去集齊禮物吧~
  • ` } else { res.data.records.forEach(res => { str += `
  • 點亮時間
    獲得獎勵
  • ${dateFormat(res.createTime, 'yyyy/MM/dd')}

    ${dateFormat(res.createTime, 'hh/mm/ss')}
    ${res.rewardName}銘牌
  • `}) } $('.page1 .bg2 ul').append(str); } else if (componentCode == 'TIAN_MI_SHENG_WEN') { $('.buyRecords .buyRecords_in ul li').remove(); if (res.data.records.length <= 0) { str = `
  • 暫無購買記錄~
  • ` } else { res.data.records.forEach(res => { str += `
  • 購買時間
    購買禮物
  • ${dateFormat(res.createTime, 'yyyy/MM/dd')}

    ${dateFormat(res.createTime, 'hh/mm/ss')}
    ${res.rewardName}禮物*1個
  • `}) } $('.buyRecords .buyRecords_in ul').append(str); } } else { toastMsg(res.message) } hideLoading(layerIndex) }, error (err) { hideLoading(layerIndex) toastMsg('網路錯誤,請退出重進') } }) } // 打開購買記錄 $('.page2 .box .page2Buy_icon').click(function () { recordPage(activityCode2, 'TIAN_MI_SHENG_WEN',); $('.buyRecords').show(); bodyScroolFun(true); }) // 關閉購買記錄 $('.buyRecords').click(function () { $('.buyRecords').hide(); bodyScroolFun(false); }) // 打開規則記錄 $('.header .rule_icon').click(function () { $('.rule').show(); bodyScroolFun(true); }) // 關閉規則記錄 $('.rule').click(function () { $('.rule').hide(); bodyScroolFun(false); }) // 自己榜單展開按鈕 var scrollBool = true; $('.page3 .my .icon').click(function () { $('.page3 .my .scroll').scrollTop(0) if (scrollBool) { $('.page3 .my').css({ "height": "8.74667rem", "background": "url(./images/myBg.png) no-repeat", "background-size": "100% 100%" }) $('.page3 .my .scroll').css({ "overflow-y": "scroll" }) $('.page3 .my .icon').attr('src', './images/bottom.png') bodyScroolFun(true); } else { $('.page3 .my').css({ "height": "2.2rem", "background": "url(./images/myBg2.png) no-repeat", "background-size": "100% 100%" }) $('.page3 .my .scroll').css({ "overflow-y": "hidden" }) $('.page3 .my .icon').attr('src', './images/top.png') bodyScroolFun(false); } scrollBool = !scrollBool; }) // 關閉活動結束彈窗 $('.end .end_in .but').click(function () { $('.page1,.page2,.page3').hide(); $(`.page${3}`).show(); $('.tab div').removeClass('act'); $('.tab div').eq(2).addClass('act'); $('.end').hide(); bodyScroolFun(false); }) // 關閉充值彈窗 $('.failureBuy .failureBuy_in .close').click(function () { $('.failureBuy').hide(); bodyScroolFun(false); }) // 跳轉充值彈窗 $('.failureBuy .failureBuy_in .ok').click(function () { $('.failureBuy').hide(); bodyScroolFun(false); 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內打開') } }) // 關閉購買成功彈窗 $('.success .success_in .but').click(function () { $('.success').hide(); bodyScroolFun(false); }) // 關閉二次確認彈窗 $('.sure .sure_in .close').click(function () { $('.sure').hide(); bodyScroolFun(false); }) // 關閉榜單獎勵 $('.page3Rule').click(function () { $('.page3Rule').hide(); bodyScroolFun(false); }) // 打開榜單獎勵 $('.page3 .top3 .rule_icon').click(function () { $('.page3Rule').show(); bodyScroolFun(true); }) //補0操作 function getzf (num) { if (parseInt(num) < 10) { num = '0' + num; } return num; }