From ec8ff04b292e280787cfc9c68783ae67be5a0ac4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E9=A3=9E=E6=B4=8B?= <15778543+xufeiyang6017@user.noreply.gitee.com> Date: Mon, 12 Jan 2026 13:38:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8B=E6=8B=89=E5=88=B7?= =?UTF-8?q?=E6=96=B0=E5=92=8C=E5=95=86=E5=93=81=E8=AF=A6=E6=83=85=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E6=BB=9A=E5=8A=A8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/goods-detail/goods-detail.js | 42 +++++++++++++++++++--------- pages/goods-detail/goods-detail.wxml | 6 ++-- pages/goods-detail/goods-detail.wxss | 8 ++++++ pages/index/index.json | 2 +- pages/index/index.wxml | 2 +- pages/index/index.wxss | 22 +++++++++++++++ 6 files changed, 64 insertions(+), 18 deletions(-) diff --git a/pages/goods-detail/goods-detail.js b/pages/goods-detail/goods-detail.js index 0e53dde..2d20818 100644 --- a/pages/goods-detail/goods-detail.js +++ b/pages/goods-detail/goods-detail.js @@ -645,6 +645,7 @@ Page({ favoriteGoods: [], // 收藏商品数据 loadingHome: false, // 首页数据加载状态 loadingFavorite: false, // 收藏数据加载状态 + scrollTop: 0, // 记录页面滚动位置 // 新增以下字段: videoCoverUrl: null, // 视频封面图片URL isExtractingCover: false, // 是否正在提取封面 @@ -2426,20 +2427,26 @@ Page({ // 对比价格功能:处理按钮点击事件 onCompareClick: function () { console.log('用户点击了对比价格按钮,准备显示弹窗'); - // 立即显示弹窗,不等待数据加载 - this.setData({ - showCompareModal: true, - activeTab: 'home' // 默认显示首页数据选项卡 - }); - - // 打印弹窗状态,用于调试 - console.log('弹窗状态设置为:', this.data.showCompareModal); - - // 加载首页数据 - this.loadHomeGoods(); - // 加载收藏数据 - this.loadFavoriteGoods(); + // 直接获取当前页面滚动位置 + wx.createSelectorQuery().selectViewport().scrollOffset(function(res) { + console.log('记录当前滚动位置:', res.scrollTop); + // 保存滚动位置并显示弹窗 + this.setData({ + scrollTop: res.scrollTop, + showCompareModal: true, + activeTab: 'home' // 默认显示首页数据选项卡 + }); + + // 打印弹窗状态,用于调试 + console.log('弹窗状态设置为:', this.data.showCompareModal); + + // 加载首页数据 + this.loadHomeGoods(); + + // 加载收藏数据 + this.loadFavoriteGoods(); + }.bind(this)).exec(); }, // 关闭对比价格弹窗 @@ -2447,6 +2454,15 @@ Page({ this.setData({ showCompareModal: false }); + + // 恢复页面滚动位置 + setTimeout(() => { + console.log('恢复滚动位置:', this.data.scrollTop); + wx.pageScrollTo({ + scrollTop: this.data.scrollTop, + duration: 0 + }); + }, 100); }, // 阻止事件冒泡 diff --git a/pages/goods-detail/goods-detail.wxml b/pages/goods-detail/goods-detail.wxml index 4d99370..af8fb8a 100644 --- a/pages/goods-detail/goods-detail.wxml +++ b/pages/goods-detail/goods-detail.wxml @@ -1,5 +1,5 @@ - +