diff --git a/pages/goods-detail/goods-detail.js b/pages/goods-detail/goods-detail.js index dbbcedb..ae6cd22 100644 --- a/pages/goods-detail/goods-detail.js +++ b/pages/goods-detail/goods-detail.js @@ -199,20 +199,37 @@ Page({ const goodsDetail = this.data.goodsDetail || {}; const title = goodsDetail.name ? `优质鸡蛋 - ${goodsDetail.name}` : '优质鸡蛋货源'; - // 获取联系人和电话号码信息 + // 获取联系人、电话号码和地区信息 const contactName = goodsDetail.product_contact || ''; const contactPhone = goodsDetail.contact_phone || ''; + const region = goodsDetail.region || ''; // 构建包含联系人信息的分享路径 const contactNameParam = encodeURIComponent(contactName); const contactPhoneParam = encodeURIComponent(contactPhone); - const contactPath = contactName && contactPhone - ? `/pages/goods-detail/goods-detail?productId=${goodsDetail.id || goodsDetail.productId}&contactName=${contactNameParam}&contactPhone=${contactPhoneParam}` - : `/pages/goods-detail/goods-detail?productId=${goodsDetail.id || goodsDetail.productId}`; + const regionParam = encodeURIComponent(region); + + // 如果有联系人或地区信息,则添加到分享路径 + let sharePath = `/pages/goods-detail/goods-detail?productId=${goodsDetail.id || goodsDetail.productId}`; + if (contactName && contactPhone && region) { + sharePath += `&contactName=${contactNameParam}&contactPhone=${contactPhoneParam}®ion=${regionParam}`; + } else if (contactName && contactPhone) { + sharePath += `&contactName=${contactNameParam}&contactPhone=${contactPhoneParam}`; + } else if (contactName && region) { + sharePath += `&contactName=${contactNameParam}®ion=${regionParam}`; + } else if (contactPhone && region) { + sharePath += `&contactPhone=${contactPhoneParam}®ion=${regionParam}`; + } else if (contactName) { + sharePath += `&contactName=${contactNameParam}`; + } else if (contactPhone) { + sharePath += `&contactPhone=${contactPhoneParam}`; + } else if (region) { + sharePath += `®ion=${regionParam}`; + } return { title: title, - path: contactPath, + path: sharePath, imageUrl: goodsDetail.imageUrls && goodsDetail.imageUrls.length > 0 ? goodsDetail.imageUrls[0] : '/images/你有好蛋.png' } }, @@ -222,16 +239,30 @@ Page({ const goodsDetail = this.data.goodsDetail || {}; const title = goodsDetail.name ? `优质鸡蛋 - ${goodsDetail.name}` : '优质鸡蛋货源'; - // 获取联系人和电话号码信息 + // 获取联系人、电话号码和地区信息 const contactName = goodsDetail.product_contact || ''; const contactPhone = goodsDetail.contact_phone || ''; + const region = goodsDetail.region || ''; - // 构建包含联系人信息的分享查询参数 + // 构建分享查询参数 const contactNameParam = encodeURIComponent(contactName); const contactPhoneParam = encodeURIComponent(contactPhone); - const contactQuery = contactName && contactPhone - ? `productId=${goodsDetail.id || goodsDetail.productId}&contactName=${contactNameParam}&contactPhone=${contactPhoneParam}` - : `productId=${goodsDetail.id || goodsDetail.productId}`; + const regionParam = encodeURIComponent(region); + + let queryParams = [`productId=${goodsDetail.id || goodsDetail.productId}`]; + + // 添加联系人信息到查询参数 + if (contactName) { + queryParams.push(`contactName=${contactNameParam}`); + } + if (contactPhone) { + queryParams.push(`contactPhone=${contactPhoneParam}`); + } + if (region) { + queryParams.push(`region=${regionParam}`); + } + + const contactQuery = queryParams.join('&'); return { title: title, @@ -317,7 +348,19 @@ Page({ product_contact: decodeURIComponent(options.contactName), contact_phone: decodeURIComponent(options.contactPhone), }; + + // 如果有地区信息,也添加到联系人信息中 + if (options.region) { + contactFromShare.region = decodeURIComponent(options.region); + } + console.log('从分享URL中获取联系人信息:', contactFromShare); + } else if (options.region) { + // 如果只有地区信息,也需要处理 + contactFromShare = { + region: decodeURIComponent(options.region), + }; + console.log('从分享URL中获取地区信息:', contactFromShare); } // 从商品数据中提取商品ID @@ -520,7 +563,7 @@ Page({ if (contactFromShare) { contactPhone = contactFromShare.contact_phone || ''; contactName = contactFromShare.product_contact || ''; - region = ''; + region = contactFromShare.region || ''; console.log('使用分享URL中的联系人信息:', { contactName, contactPhone, region }); } // 优先级2:预加载数据中的联系人信息