diff --git a/pages/goods-detail/goods-detail.js b/pages/goods-detail/goods-detail.js index 1e8aedd..bdef212 100644 --- a/pages/goods-detail/goods-detail.js +++ b/pages/goods-detail/goods-detail.js @@ -592,6 +592,67 @@ Page({ } }, + // 添加到收藏时的分享信息设置 + onAddToFavorites() { + const goodsDetail = this.data.goodsDetail || {}; + const title = formatShareTitle(goodsDetail); + + // 获取联系人、电话号码和地区信息(提取省份) + const contactName = goodsDetail.product_contact || ''; + const contactPhone = goodsDetail.contact_phone || ''; + const region = extractProvince(goodsDetail.region || ''); + + // 构建分享查询参数 + const contactNameParam = encodeURIComponent(contactName); + const contactPhoneParam = encodeURIComponent(contactPhone); + const regionParam = encodeURIComponent(region); + + let queryParams = [`productId=${goodsDetail.productId || goodsDetail.id}`]; + + // 添加联系人信息到查询参数 + if (contactName) { + queryParams.push(`contactName=${contactNameParam}`); + } + if (contactPhone) { + queryParams.push(`contactPhone=${contactPhoneParam}`); + } + if (region) { + queryParams.push(`region=${regionParam}`); + } + + const contactQuery = queryParams.join('&'); + + // 确定分享图片 + let imageUrl = '/images/你有好蛋.png'; + + const mediaItems = goodsDetail.mediaItems || []; + const hasVideo = mediaItems.some(item => item.type === 'video'); + const hasImage = mediaItems.some(item => item.type === 'image'); + + if (hasVideo && !hasImage) { + // 纯视频商品:使用提取的封面或默认图片 + if (this.data.videoCoverUrl) { + imageUrl = this.data.videoCoverUrl; + console.log('使用提取的视频封面收藏分享:', imageUrl); + } else { + console.log('视频封面尚未提取完成,使用默认图片'); + // 尝试立即提取视频封面 + const videoItems = mediaItems.filter(item => item.type === 'video'); + if (videoItems.length > 0) { + this.extractVideoFirstFrame(videoItems[0].url); + } + } + } else { + imageUrl = getShareImageUrl(goodsDetail); + } + + return { + title: title, + imageUrl: imageUrl, + query: contactQuery + } + }, + // 视频帧提取功能 extractVideoFirstFrame(videoUrl) { console.log('开始提取视频帧:', videoUrl);