From 6cef7b0a83cc73f3ae4007d4864dee3f64b46456 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: Fri, 2 Jan 2026 13:12:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=95=86=E5=93=81=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E9=A1=B5=E7=99=BB=E5=BD=95=E7=8A=B6=E6=80=81=E5=85=B1?= =?UTF-8?q?=E4=BA=AB=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 | 37 +++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/pages/goods-detail/goods-detail.js b/pages/goods-detail/goods-detail.js index 06d80a5..70d9be9 100644 --- a/pages/goods-detail/goods-detail.js +++ b/pages/goods-detail/goods-detail.js @@ -64,6 +64,19 @@ function extractProvince(region) { return region; } +// 检查用户是否已经登录 +function checkLoginStatus() { + const openid = wx.getStorageSync('openid'); + const userId = wx.getStorageSync('userId'); + + console.log('检查登录状态:', { + openid: openid ? '已登录' : '未登录', + userId: userId ? '已设置' : '未设置' + }); + + return !!(openid && userId); +} + // 处理净重、件数和规格数据,将逗号分隔的字符串转换为一一对应的数组 function processWeightAndQuantityData(weightSpecString, quantityString, specString) { console.log('===== 处理净重、件数和规格数据 ====='); @@ -196,15 +209,33 @@ Page({ onLoad: function (options) { console.log('商品详情页面加载,参数:', options); - // 处理登录状态检查 - if (options.needLogin === 'true' || options.needLogin === true) { - console.log('检测到需要登录,显示登录提示弹窗'); + // 处理登录状态检查 - 优化版:优先检查本地登录状态 + console.log('开始检查登录状态...'); + + // 1. 首先检查用户是否已经登录 + const isLoggedIn = checkLoginStatus(); + + // 2. 检查URL参数中的needLogin + const needLoginFromUrl = (options.needLogin === 'true' || options.needLogin === true); + + console.log('登录状态检查结果:', { + isLoggedIn, + needLoginFromUrl + }); + + // 只有在用户未登录且URL参数明确要求登录时才显示登录弹窗 + if (!isLoggedIn && needLoginFromUrl) { + console.log('检测到需要登录且用户未登录,显示登录提示弹窗'); // 延迟显示登录弹窗,确保页面完全加载 setTimeout(() => { this.setData({ showOneKeyLoginModal: true }); }, 500); + } else { + console.log('不需要显示登录弹窗:', { + reason: isLoggedIn ? '用户已登录' : 'URL参数未要求登录' + }); } // 解析传入的商品数据