瀏覽代碼

标记已抽奖,抽奖只是展示效果,奖品实际为固定的,防止用户抽奖后刷新页面发现奖品内容没有变动。

lifanagju_citu 1 月之前
父節點
當前提交
123bc5da24
共有 1 個文件被更改,包括 9 次插入3 次删除
  1. 9 3
      src/views/mall/components/prizeDraw.vue

+ 9 - 3
src/views/mall/components/prizeDraw.vue

@@ -84,7 +84,13 @@ const props = defineProps({
 
 const showDialog = ref(false)
 onMounted(() =>{
-  showDialog.value = true
+  if (localStorage.getItem('showLotteryBefore')) {
+    // 已经点击过抽奖按钮,直接展示奖品。例如刷新支付完成页面
+    showPrize.value = true
+  } else {
+    // 刚进入支付完成页面
+    showDialog.value = true
+  }
 })
 
 const router = useRouter()
@@ -139,10 +145,9 @@ if (props.orderId) getRecord()
 
 const showPrize = ref(false)
 const endCallback = () => {
-  // if (!prizeData.value.length) return Snackbar.warning('您已经抽过奖了哦')
+  localStorage.setItem('showLotteryBefore', true) // 标记已抽奖
   showDialog.value = false
   showPrize.value = true
-  // disabled.value = true
 }
 
 function checkValue(obj) {
@@ -162,6 +167,7 @@ const handleSubmit = async () => {
     query = newAddress.value
   } else query = address.value.find(item => item.id === addressSelect.value)
   await luckyLotteryRecordReceive({ id: prizeData.value[0].record.id, receiveInfo: JSON.stringify(query) })
+  localStorage.removeItem('showLotteryBefore') // 清空已抽奖痕迹
   Snackbar.success('奖品领取成功,待商家发货')
   router.replace('/recruit/personal/personalCenter/tradeOrder?key=1')
 }