From 76005787a10f1cf2e26f1b0c1672836b7d633ed2 Mon Sep 17 00:00:00 2001
From: Jacob <hlnie@tohours.com>
Date: 星期五, 23 十月 2026 13:26:14 +0800
Subject: [PATCH] fix: 抽奖banner预取尺寸就绪后再渲染避免首帧撑高页面
---
pages/zone/index.vue | 16 +++++++++++++---
1 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/pages/zone/index.vue b/pages/zone/index.vue
index 9d4b6d0..cf02da0 100644
--- a/pages/zone/index.vue
+++ b/pages/zone/index.vue
@@ -71,7 +71,8 @@
</view>
</view>
</view>
- <view @click="goLottery" class="lottery_banner" v-if="info && info.isLottery && info.lotteryBanner">
+ <view @click="goLottery" class="lottery_banner"
+ v-if="info && info.isLottery && info.lotteryBanner && lotteryBannerReady">
<image class="lottery_bannerImg" :src="info.lotteryBanner" mode="widthFix"
:style="{ height: lotteryBannerHeight }">
</image>
@@ -624,6 +625,7 @@
urlOption: {},
homeTop: '200',
lotteryBannerHeight: '', //鎶藉banner棰勮绠楅珮搴︼紙rpx锛夛紝绌哄瓧绗︿覆琛ㄧず鏈彇鍒帮紝鎸夊師閫昏緫鑷�傚簲
+ lotteryBannerReady: false, //鏄惁宸叉嬁鍒癰anner灏哄锛堟垨宸茬‘璁ゆ嬁涓嶅埌锛夛紝鏈氨缁墠涓嶆覆鏌擄紝閬垮厤棣栧抚鎾戦珮
hasNewPop: false,
leftCoupon: {},
rightCoupon: {},
@@ -1455,15 +1457,23 @@
setLotteryBannerSize(info) {
let that = this
that.lotteryBannerHeight = ''
- if (!info || !info.isLottery || !info.lotteryBanner) return
+ that.lotteryBannerReady = false
+ if (!info || !info.isLottery || !info.lotteryBanner) {
+ that.lotteryBannerReady = true
+ return
+ }
uni.getImageInfo({
src: info.lotteryBanner,
success: (img) => {
if (img.width > 0 && img.height > 0) {
that.lotteryBannerHeight = (690 * img.height / img.width).toFixed(2) + 'rpx'
}
+ that.lotteryBannerReady = true
},
- fail: () => { }
+ fail: (err) => {
+ console.warn('鎶藉banner灏哄棰勫彇澶辫触锛屽洖閫�涓鸿嚜閫傚簲', err)
+ that.lotteryBannerReady = true
+ }
})
},
getZoneDetail: function () {
--
Gitblit v1.4.0