From bb2034becd68ed92d8a09cabaefd3a3f27235d75 Mon Sep 17 00:00:00 2001 From: mengyxu Date: Fri, 18 Apr 2025 20:31:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=B4=AD=E4=B9=B0=E7=8B=AC?= =?UTF-8?q?=E7=89=B9=E8=A3=85=E5=A4=87=E5=90=8E=E4=BB=8D=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E7=A1=AE=E8=AE=A4BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/shop/shop.vue | 36 +++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/src/views/shop/shop.vue b/src/views/shop/shop.vue index 30885ba..c5b1655 100644 --- a/src/views/shop/shop.vue +++ b/src/views/shop/shop.vue @@ -66,7 +66,7 @@ const menu = usePopoverMenu(); const { show, top, left, index, open, close } = menu; const confirm = ref(); -const confirmFlag = ref(false); +const confirmFlag = ref(true); let confirmRefresh; let interval = 0; @@ -83,28 +83,43 @@ const refreshItems = () => { commit('set_shop', shop); } +const checkConfirm = () => { + for (let i = 0; i < itemNum; i++) { + const item = shop.value.item[i] + if (item && item.quality.quality == qualitys[4]) { + return true; + } + } +} + const refreshByCoins = (e) => { - if (e && confirmFlag.value) { - confirm.value.open(0, e); - confirmRefresh = refreshByCoins; - return; + if (confirmFlag.value) { + if (e && checkConfirm()) { + confirm.value.open(0, e); + confirmRefresh = refreshByCoins; + return; + } } if (!coins.value || coins.value < refreshCoins) { commit("set_sys_info", { msg: t('noCoinsRefresh'), type: "warning", }); } else { refreshItems(); + confirmFlag.value = true; commit('add_player_coins', refreshCoins * -1); } } const refreshForFree = (e) => { - if (e && confirmFlag.value) { - confirm.value.open(0, e); - confirmRefresh = refreshForFree; - return; + if (confirmFlag.value) { + if (e && checkConfirm()) { + confirm.value.open(0, e); + confirmRefresh = refreshByCoins; + return; + } } if (shop.value.freeTimes > 0) { refreshItems(); + confirmFlag.value = true; shop.value.freeTimes--; } else { commit("set_sys_info", { msg: t('noRefreshTimes'), type: "warning", }); @@ -127,6 +142,9 @@ const buyEquip = (idx) => { commit("set_backpack", grid); shopItems.value[idx] = null; close(); + if(equip.quality.quality == qualitys[4]){ + confirmFlag.value = false; + } return; } commit("set_sys_info", { msg: t('noSpace'), type: "warning", });