|
|
|
@ -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参数未要求登录' |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
// 解析传入的商品数据
|
|
|
|
|