diff --git a/src/views/Activities/GulbenFestival/index.vue b/src/views/Activities/GulbenFestival/index.vue index 8cec030..aee46fc 100644 --- a/src/views/Activities/GulbenFestival/index.vue +++ b/src/views/Activities/GulbenFestival/index.vue @@ -1446,7 +1446,7 @@ - +
@@ -1761,7 +1761,7 @@ :imgUrl="imageUrl('ticketHandleBtBg')" style="width: 25vw; margin: 0; padding: 0" contentStyle="padding: 0; align-items: center; justify-content: center;" - @click="closePopup" + @click.stop.prevent="closePopup" @touchend.stop.prevent="closePopup" >
ruleShow.value || historyShow.value || cardDrawResultShow.value, ) const pageBackHidden = computed(() => maskLayerShow.value || cardDrawAnimationShow.value) +const POPUP_CLOSE_CLICK_GUARD_MS = 400 +const lastPopupClosedAt = ref(0) const handlePageBack = () => { + if (Date.now() - lastPopupClosedAt.value < POPUP_CLOSE_CLICK_GUARD_MS) return if (pageBackHidden.value) return closePage() } @@ -3478,6 +3481,9 @@ const openHistoryPopupRequest = async () => { const openHistoryPopup = useDebounce(openHistoryPopupRequest, 600, true) const closePopup = () => { + if (!maskLayerShow.value && !cardDrawAnimationShow.value) return + + lastPopupClosedAt.value = Date.now() ruleShow.value = false historyShow.value = false cardDrawResultShow.value = false @@ -3654,7 +3660,7 @@ onUnmounted(() => { .activity-back-btn { position: fixed; z-index: 9999; - top: calc(env(safe-area-inset-top, 0px) + 30px); + top: calc(env(safe-area-inset-top, 0px) + 12px); left: 4vw; width: 12vw; height: 12vw; diff --git a/src/views/Activities/LuckyDollars/Season5/index.vue b/src/views/Activities/LuckyDollars/Season5/index.vue index cb4ab33..bb3af77 100644 --- a/src/views/Activities/LuckyDollars/Season5/index.vue +++ b/src/views/Activities/LuckyDollars/Season5/index.vue @@ -1455,7 +1455,7 @@ - +
@@ -1572,7 +1572,11 @@
-
+
@@ -1631,14 +1635,22 @@
-
+
-
+
@@ -1707,7 +1719,11 @@ const isLoading = ref(true) // 预加载状态 // 获取OSS图片URL的函数 // const imageUrl = (filename) => getPngUrl('Activities/LuckyDollars/Season5/', filename) +const POPUP_CLOSE_CLICK_GUARD_MS = 400 +const lastPopupClosedAt = ref(0) + const handlePageBack = () => { + if (Date.now() - lastPopupClosedAt.value < POPUP_CLOSE_CLICK_GUARD_MS) return if (maskLayerShow.value) return console.log('home back') closePage() @@ -2162,6 +2178,9 @@ const openPopup = (type) => { // 关闭弹窗 const closedPopup = (clear = true) => { + if (!maskLayerShow.value) return + + lastPopupClosedAt.value = Date.now() resultShow.value = false helpShow.value = false historyShow.value = false @@ -2774,7 +2793,7 @@ onUnmounted(() => { .activity-back-btn { position: fixed; z-index: 9999; - top: calc(env(safe-area-inset-top, 0px) + 30px); + top: calc(env(safe-area-inset-top, 0px) + 12px); left: 4vw; width: 10vw; height: 10vw; diff --git a/src/views/Ranking/Couple/index.vue b/src/views/Ranking/Couple/index.vue index 7aede0b..38e4872 100644 --- a/src/views/Ranking/Couple/index.vue +++ b/src/views/Ranking/Couple/index.vue @@ -393,7 +393,8 @@
- + +
-
+
@@ -1103,7 +1108,8 @@
x
@@ -1318,6 +1324,7 @@
+
@@ -1586,8 +1593,11 @@ const seasonTop1DisplayList = computed(() => { const currentSeasonTop1 = computed(() => { return seasonTop1DisplayList.value[centerIndex.value] || {} }) +const POPUP_CLOSE_CLICK_GUARD_MS = 400 +const lastPopupClosedAt = ref(0) const handlePageBack = () => { + if (Date.now() - lastPopupClosedAt.value < POPUP_CLOSE_CLICK_GUARD_MS) return if (maskLayerShow.value) return console.log('home back') closePage() @@ -1830,6 +1840,9 @@ const showPopup = (type) => { // 关闭弹窗 const closedPopup = () => { + if (!maskLayerShow.value) return + + lastPopupClosedAt.value = Date.now() fragmentNotEnoughShow.value = false helpShow.value = false topRewardShow.value = false @@ -2157,7 +2170,7 @@ onUnmounted(() => { .couple-back-btn { position: fixed; z-index: 30; - top: calc(env(safe-area-inset-top, 0px) + 30px); + top: calc(env(safe-area-inset-top, 0px) + 12px); left: 4vw; width: 12vw; height: 12vw; @@ -2184,6 +2197,11 @@ onUnmounted(() => { z-index: 10000 !important; } +.couple-popup-content { + width: 100%; + min-height: 100%; +} + [dir='rtl'] .flipImg { transform: scaleX(-1); } diff --git a/src/views/Ranking/GamesKing/index.vue b/src/views/Ranking/GamesKing/index.vue index 632bd65..5423d53 100644 --- a/src/views/Ranking/GamesKing/index.vue +++ b/src/views/Ranking/GamesKing/index.vue @@ -1526,7 +1526,7 @@ onUnmounted(() => { .ranking-back-btn { position: fixed; z-index: 9999; - top: calc(env(safe-area-inset-top, 0px) + 30px); + top: calc(env(safe-area-inset-top, 0px) + 12px); left: 4vw; width: 12vw; height: 12vw; diff --git a/src/views/Ranking/KingAndQueen/TopList.vue b/src/views/Ranking/KingAndQueen/TopList.vue index e005528..31ae910 100644 --- a/src/views/Ranking/KingAndQueen/TopList.vue +++ b/src/views/Ranking/KingAndQueen/TopList.vue @@ -353,7 +353,8 @@ - + +
@@ -625,6 +626,7 @@
+
@@ -824,9 +826,12 @@ const webpUrl = (filename) => getWebpUrl('Ranking/KingQueenWebp/', filename) const getImgName = (filename) => { return currentLangType.value === 'ar' ? `${filename}_ar` : filename } +const POPUP_CLOSE_CLICK_GUARD_MS = 400 +const lastPopupClosedAt = ref(0) // 使用工具函数连接APP const handlePageBack = () => { + if (Date.now() - lastPopupClosedAt.value < POPUP_CLOSE_CLICK_GUARD_MS) return if (maskLayerShow.value) return console.log('home back') closePage() @@ -1086,6 +1091,9 @@ const getUserInfo = async () => { // 关闭弹窗 const closedPopup = () => { + if (!maskLayerShow.value) return + + lastPopupClosedAt.value = Date.now() helpInfoShow.value = false historyShow.value = false rewardsShow.value = false @@ -1215,7 +1223,7 @@ onUnmounted(() => { .ranking-back-btn { position: fixed; z-index: 9999; - top: calc(env(safe-area-inset-top, 0px) + 30px); + top: calc(env(safe-area-inset-top, 0px) + 12px); left: 4vw; width: 12vw; height: 12vw; @@ -1242,6 +1250,11 @@ onUnmounted(() => { z-index: 10000 !important; } +.ranking-popup-content { + width: 100%; + min-height: 100%; +} + [dir='rtl'] .ranking-back-btn { left: auto; right: 4vw; diff --git a/src/views/Ranking/WeeklyStar/WeeklyStar.vue b/src/views/Ranking/WeeklyStar/WeeklyStar.vue index 4c311bd..95d4de7 100644 --- a/src/views/Ranking/WeeklyStar/WeeklyStar.vue +++ b/src/views/Ranking/WeeklyStar/WeeklyStar.vue @@ -578,7 +578,8 @@ - + +
@@ -842,6 +843,7 @@ />
+
@@ -892,9 +894,12 @@ const webpUrl = (filename) => getWebpUrl('Ranking/WeeklyStarWebp/', filename) const getImgName = (filename) => { return currentLangType.value === 'ar' ? `${filename}_ar` : filename } +const POPUP_CLOSE_CLICK_GUARD_MS = 400 +const lastPopupClosedAt = ref(0) // 使用工具函数连接APP const handlePageBack = () => { + if (Date.now() - lastPopupClosedAt.value < POPUP_CLOSE_CLICK_GUARD_MS) return if (maskLayerShow.value) return console.log('home back') closePage() @@ -1015,6 +1020,9 @@ const exchangeSelectedGood = async (propsGroupId) => { // 关闭弹窗 const closedPopup = () => { + if (!maskLayerShow.value) return + + lastPopupClosedAt.value = Date.now() helpInfoShow.value = false historyShow.value = false giftsShow.value = false @@ -1318,7 +1326,7 @@ onUnmounted(() => { .ranking-back-btn { position: fixed; z-index: 9999; - top: calc(env(safe-area-inset-top, 0px) + 30px); + top: calc(env(safe-area-inset-top, 0px) + 12px); left: 4vw; width: 12vw; height: 12vw; @@ -1345,6 +1353,11 @@ onUnmounted(() => { z-index: 10000 !important; } +.ranking-popup-content { + width: 100%; + min-height: 100%; +} + [dir='rtl'] .ranking-back-btn { left: auto; right: 4vw;