Browse Source

feat: 添加收藏分享功能,确保收藏后的分享样式与直接分享保持一致

pull/19/head
Trae AI 1 month ago
parent
commit
237cddff2f
  1. 61
      pages/goods-detail/goods-detail.js

61
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) { extractVideoFirstFrame(videoUrl) {
console.log('开始提取视频帧:', videoUrl); console.log('开始提取视频帧:', videoUrl);

Loading…
Cancel
Save