|
|
@ -198,9 +198,21 @@ Page({ |
|
|
onShareAppMessage() { |
|
|
onShareAppMessage() { |
|
|
const goodsDetail = this.data.goodsDetail || {}; |
|
|
const goodsDetail = this.data.goodsDetail || {}; |
|
|
const title = goodsDetail.name ? `优质鸡蛋 - ${goodsDetail.name}` : '优质鸡蛋货源'; |
|
|
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 { |
|
|
return { |
|
|
title: title, |
|
|
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' |
|
|
imageUrl: goodsDetail.imageUrls && goodsDetail.imageUrls.length > 0 ? goodsDetail.imageUrls[0] : '/images/你有好蛋.png' |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
@ -209,9 +221,21 @@ Page({ |
|
|
onShareTimeline() { |
|
|
onShareTimeline() { |
|
|
const goodsDetail = this.data.goodsDetail || {}; |
|
|
const goodsDetail = this.data.goodsDetail || {}; |
|
|
const title = goodsDetail.name ? `优质鸡蛋 - ${goodsDetail.name}` : '优质鸡蛋货源'; |
|
|
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 { |
|
|
return { |
|
|
title: title, |
|
|
title: title, |
|
|
query: `productId=${goodsDetail.id || goodsDetail.productId}`, |
|
|
query: contactQuery, |
|
|
imageUrl: goodsDetail.imageUrls && goodsDetail.imageUrls.length > 0 ? goodsDetail.imageUrls[0] : '/images/你有好蛋.png' |
|
|
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
|
|
|
// 从商品数据中提取商品ID
|
|
|
let productId; |
|
|
let productId; |
|
|
if (goodsData && (goodsData.id || goodsData.productId)) { |
|
|
if (goodsData && (goodsData.id || goodsData.productId)) { |
|
|
@ -309,7 +343,7 @@ Page({ |
|
|
console.log('最终使用的商品ID:', productId); |
|
|
console.log('最终使用的商品ID:', productId); |
|
|
|
|
|
|
|
|
// 加载商品详情(即使已有goodsData,也调用API获取最新数据)
|
|
|
// 加载商品详情(即使已有goodsData,也调用API获取最新数据)
|
|
|
this.loadGoodsDetail(productId, goodsData); |
|
|
this.loadGoodsDetail(productId, goodsData, contactFromShare); |
|
|
|
|
|
|
|
|
// 添加收藏状态变化事件监听
|
|
|
// 添加收藏状态变化事件监听
|
|
|
const app = getApp(); |
|
|
const app = getApp(); |
|
|
@ -334,7 +368,7 @@ Page({ |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
loadGoodsDetail: function (productId, preloadedData = null) { |
|
|
loadGoodsDetail: function (productId, preloadedData = null, contactFromShare = null) { |
|
|
// 首先显示预加载的数据,确保UI快速响应
|
|
|
// 首先显示预加载的数据,确保UI快速响应
|
|
|
if (preloadedData) { |
|
|
if (preloadedData) { |
|
|
console.log('使用预加载数据显示UI'); |
|
|
console.log('使用预加载数据显示UI'); |
|
|
@ -477,23 +511,27 @@ Page({ |
|
|
supplyStatusValue = '预售'; |
|
|
supplyStatusValue = '预售'; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 关键修改:优先使用预加载数据中的联系人信息,与buyer页面保持一致
|
|
|
// 关键修改:优先使用分享URL中的联系人信息
|
|
|
let contactPhone = ''; |
|
|
let contactPhone = ''; |
|
|
let contactName = ''; |
|
|
let contactName = ''; |
|
|
let region = ''; |
|
|
let region = ''; |
|
|
|
|
|
|
|
|
// 首先检查预加载数据,与buyer页面保持一致
|
|
|
// 优先级1:分享URL中的联系人信息
|
|
|
if (preloadedData) { |
|
|
if (contactFromShare) { |
|
|
// 直接从预加载数据中获取联系人信息,与buyer页面保持一致
|
|
|
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 || ''; |
|
|
contactPhone = preloadedData.contact_phone || preloadedData.contactPhone || preloadedData.phone || ''; |
|
|
contactName = preloadedData.product_contact || preloadedData.contact || preloadedData.contactName || ''; |
|
|
contactName = preloadedData.product_contact || preloadedData.contact || preloadedData.contactName || ''; |
|
|
region = preloadedData.region || ''; |
|
|
region = preloadedData.region || ''; |
|
|
|
|
|
console.log('使用预加载数据中的联系人信息:', { contactName, contactPhone, region }); |
|
|
console.log('从预加载数据获取联系人信息:', { contactName, contactPhone, region }); |
|
|
|
|
|
console.log('preloadedData product_contact:', preloadedData.product_contact, 'contact_phone:', preloadedData.contact_phone); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 如果预加载数据中没有,则使用API返回的数据
|
|
|
// 优先级3:API返回的数据
|
|
|
if (!contactPhone && product) { |
|
|
if (!contactPhone && product) { |
|
|
contactPhone = product.contact_phone || product.contactPhone || product.phone || ''; |
|
|
contactPhone = product.contact_phone || product.contactPhone || product.phone || ''; |
|
|
} |
|
|
} |
|
|
|