From 9547a67291a02f2540af2c707de94444408f75e2 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, 5 Jan 2026 09:20:34 +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=E5=88=86=E4=BA=AB=E5=8A=9F=E8=83=BD=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=81=94=E7=B3=BB=E4=BA=BA=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/goods-detail/goods-detail.js | 62 ++++++++++++++++++++++++------ 1 file changed, 50 insertions(+), 12 deletions(-) diff --git a/pages/goods-detail/goods-detail.js b/pages/goods-detail/goods-detail.js index f31b6c1..dbbcedb 100644 --- a/pages/goods-detail/goods-detail.js +++ b/pages/goods-detail/goods-detail.js @@ -198,9 +198,21 @@ Page({ onShareAppMessage() { const goodsDetail = this.data.goodsDetail || {}; const title = goodsDetail.name ? `优质鸡蛋 - ${goodsDetail.name}` : '优质鸡蛋货源'; + + // 获取联系人和电话号码信息 + const contactName = goodsDetail.product_contact || ''; + const contactPhone = goodsDetail.contact_phone || ''; + + // 构建包含联系人信息的分享路径 + 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}`; + return { title: title, - path: `/pages/goods-detail/goods-detail?productId=${goodsDetail.id || goodsDetail.productId}`, + path: contactPath, imageUrl: goodsDetail.imageUrls && goodsDetail.imageUrls.length > 0 ? goodsDetail.imageUrls[0] : '/images/你有好蛋.png' } }, @@ -209,9 +221,21 @@ Page({ onShareTimeline() { const goodsDetail = this.data.goodsDetail || {}; const title = goodsDetail.name ? `优质鸡蛋 - ${goodsDetail.name}` : '优质鸡蛋货源'; + + // 获取联系人和电话号码信息 + const contactName = goodsDetail.product_contact || ''; + const contactPhone = goodsDetail.contact_phone || ''; + + // 构建包含联系人信息的分享查询参数 + 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}`; + return { title: title, - query: `productId=${goodsDetail.id || goodsDetail.productId}`, + query: contactQuery, imageUrl: goodsDetail.imageUrls && goodsDetail.imageUrls.length > 0 ? goodsDetail.imageUrls[0] : '/images/你有好蛋.png' } }, @@ -286,6 +310,16 @@ Page({ } } + // 优先使用分享URL中的联系人信息 + let contactFromShare = null; + if (options.contactName && options.contactPhone) { + contactFromShare = { + product_contact: decodeURIComponent(options.contactName), + contact_phone: decodeURIComponent(options.contactPhone), + }; + console.log('从分享URL中获取联系人信息:', contactFromShare); + } + // 从商品数据中提取商品ID let productId; if (goodsData && (goodsData.id || goodsData.productId)) { @@ -309,7 +343,7 @@ Page({ console.log('最终使用的商品ID:', productId); // 加载商品详情(即使已有goodsData,也调用API获取最新数据) - this.loadGoodsDetail(productId, goodsData); + this.loadGoodsDetail(productId, goodsData, contactFromShare); // 添加收藏状态变化事件监听 const app = getApp(); @@ -334,7 +368,7 @@ Page({ } }, - loadGoodsDetail: function (productId, preloadedData = null) { + loadGoodsDetail: function (productId, preloadedData = null, contactFromShare = null) { // 首先显示预加载的数据,确保UI快速响应 if (preloadedData) { console.log('使用预加载数据显示UI'); @@ -477,23 +511,27 @@ Page({ supplyStatusValue = '预售'; } - // 关键修改:优先使用预加载数据中的联系人信息,与buyer页面保持一致 + // 关键修改:优先使用分享URL中的联系人信息 let contactPhone = ''; let contactName = ''; let region = ''; - // 首先检查预加载数据,与buyer页面保持一致 - if (preloadedData) { - // 直接从预加载数据中获取联系人信息,与buyer页面保持一致 + // 优先级1:分享URL中的联系人信息 + if (contactFromShare) { + contactPhone = contactFromShare.contact_phone || ''; + contactName = contactFromShare.product_contact || ''; + region = ''; + console.log('使用分享URL中的联系人信息:', { contactName, contactPhone, region }); + } + // 优先级2:预加载数据中的联系人信息 + else if (preloadedData) { contactPhone = preloadedData.contact_phone || preloadedData.contactPhone || preloadedData.phone || ''; contactName = preloadedData.product_contact || preloadedData.contact || preloadedData.contactName || ''; region = preloadedData.region || ''; - - console.log('从预加载数据获取联系人信息:', { contactName, contactPhone, region }); - console.log('preloadedData product_contact:', preloadedData.product_contact, 'contact_phone:', preloadedData.contact_phone); + console.log('使用预加载数据中的联系人信息:', { contactName, contactPhone, region }); } - // 如果预加载数据中没有,则使用API返回的数据 + // 优先级3:API返回的数据 if (!contactPhone && product) { contactPhone = product.contact_phone || product.contactPhone || product.phone || ''; }