diff --git a/src/views/zhongchou/index.vue b/src/views/zhongchou/index.vue index 992aa1c..cd8bca5 100644 --- a/src/views/zhongchou/index.vue +++ b/src/views/zhongchou/index.vue @@ -127,7 +127,7 @@

2. 每人每天可以参与一次助力。

3. 初始时间为15分钟,每一百人参与助力,即可扣减一分钟!

4. 助力成功后,对应股票市场将开放实时数据!

-

5. 实时数据众筹上线后,您助力的次数将转化为对应天数的实时数据体验卡。

+

5. 实时数据众筹上线后,您助力的次数将转化为对应天数的实时数据体验卡(由于港交所要求,港股实时数据不参与赠送;其他市场Homily Chart信息费若未到期,均可正常参与)。

@@ -271,6 +271,9 @@ const activeArea = ref(null) const usBoostStatus = ref(false) // const hkBoostStatus = ref(false) const showRulesModal = ref(false) + +// 防重复点击状态 +const isRequesting = ref(false) // 添加助力成功提示状态 const showBoostSuccess = ref(false) // 剩余时间数据 - 从接口获取marketTwoCount计算 @@ -378,7 +381,15 @@ const handleBoostClick = async (area) => { if (isCompleted.value) { return; } + + // 防重复点击检查 + if (isRequesting.value) { + return; + } + if (area === 'us' && !usBoostStatus.value) { + // 设置请求状态为true,防止重复点击 + isRequesting.value = true; try { // 检查是否已获取到活动ID和市场ID if (!activityId.value || !usMarketId.value) { @@ -411,6 +422,8 @@ const handleBoostClick = async (area) => { // 无论成功失败都重新获取活动数据以更新按钮状态和进度 await fetchActivity() console.log(`${marketName.value}已助力状态:`, usBoostStatus.value, '剩余时间:', usRemainingTime.value) + // 重置请求状态,允许下次点击 + isRequesting.value = false; } } } @@ -1162,6 +1175,28 @@ const hideRules = () => { /* 确保在小屏幕上不会超出视口 */ } + /* 平板端弹窗样式调整 */ + .modal-content { + width: 90vw !important; + max-width: 500px !important; + height: auto !important; + } + + .modal-background { + padding: 40px 30px 30px 30px !important; + } + + .rules-list { + padding: 15px 25px !important; + margin-top: 3% !important; + } + + .rules-list p { + font-size: 15px !important; + margin: 8px 0 !important; + line-height: 1.6 !important; + } + /* .right-area { transform: translateX(40vw) rotateY(-25deg) scale(1.3); } */ @@ -1262,6 +1297,33 @@ const hideRules = () => { /* 在极小屏幕上进一步缩小 */ } + + /* 手机端弹窗样式调整 */ + .modal-content { + width: 95vw !important; + max-width: 400px !important; + height: auto !important; + } + + .modal-background { + padding: 30px 20px 25px 20px !important; + } + + .rules-list { + padding: 10px 20px !important; + margin-top: 13% !important; + } + + .rules-list p { + font-size: 14px !important; + margin: 6px 0 !important; + line-height: 1.5 !important; + } + + .close-btn { + width: 120px !important; + height: 45px !important; + } } /* 弹窗样式 */ @@ -1313,14 +1375,13 @@ const hideRules = () => { } .rules-list { - width: 100%; + width: 95%; line-height: 1.6; /* 增加行高 */ - margin-top: 10%; - margin-left: 10%; - /* 减少左边距 */ - padding-right: 5%; - /* 添加右边距 */ + margin-top: 5%; + padding: 20px 30px; + /* 增加内边距,让文字与边框保持距离 */ + /* box-sizing: border-box; */ } .rules-list p {