wangguoyu 17 hours ago
parent
commit
1b0a595b02
1 changed files with 99 additions and 103 deletions
  1. 99 103
      components/sharePopUp/index.vue

+ 99 - 103
components/sharePopUp/index.vue

@@ -95,108 +95,104 @@
 	// 分享到微信
 	const shareToWeChat = (scene) => {
 
-    uni.downloadFile({
-      url: props.image, // 你的网络图片地址
-      success: (downloadRes) =>{
-        // 获取分享类型,确保是数字类型
-        const shareType = Number(props.type)
-        // 构建基础分享配置
-        const shareConfig = {
-          provider: 'weixin',
-          scene: scene === 'timeline' ? 'WXSceneTimeline' : 'WXSceneSession',
-          type: shareType,
-          success: function(res) {
-            emit('success', {
-              scene
-            })
-          },
-          fail: function(err) {
-            emit('error', err)
-            handleShareError(err)
-          }
-        }
-        // 根据类型添加不同的参数
-        if (shareType == 2) {
-          // 纯图片分享
-          // shareConfig.imageUrl = props.image
-          shareConfig.imageUrl =  downloadRes.tempFilePath
-        } else {
-          // 图文或链接分享(兼容原有逻辑)
-          shareConfig.title = props.title
-          shareConfig.summary = props.desc
-          shareConfig.imageUrl = props.image
-          shareConfig.href = props.link
-        }
-        console.log('分享配置:', shareConfig)
-        uni.share(shareConfig)
-      },
-      fail:() => {
-      // 其他错误
-      uni.showToast({
-        title: '海报分享失败,请检测网络状态',
-        icon: 'none',
-        duration: 3000
-      })}
-    })
-	}
-
-
-	// const shareToWeChat = (scene) => {
-	// 	console.log('props.link',props.link);
-	// 	uni.share({
-	// 		provider: 'weixin',
-	// 		scene: scene === 'timeline' ? 'WXSceneTimeline' : 'WXSceneSession',
-	// 		type: Number(props.type),
-	// 		title: props.title,
-	// 		summary: props.desc,
-	// 		href: props.link,
-	// 		imageUrl: props.image || 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/uni@2x.png',
-	// 		success: function(res) {
-	// 			emit('success', {
-	// 				scene
-	// 			})
-	// 		},
-	// 		fail: function(err) {
-	// 			emit('error', err)
-	// 			handleShareError(err)
-	// 		}
-	// 	})
-	// }
-
-
-	// 错误处理
-	const handleShareError = (error) => {
-		console.error('分享失败:', error)
-
-		const errCode = error.errCode || error.code
-		const errMsg = error.errMsg || error.message
-
-		// 微信未安装
-		if (errCode === 1004 || errCode === -4004) {
-			uni.showModal({
-				title: '提示',
-				content: '请先安装微信',
-				showCancel: false
+			uni.downloadFile({
+					url: props.image, // 你的网络图片地址
+					success: (downloadRes) => {
+						// 获取分享类型,确保是数字类型
+						const shareType = Number(props.type)
+						// 构建基础分享配置
+						const shareConfig = {
+							provider: 'weixin',
+							scene: scene === 'timeline' ? 'WXSceneTimeline' : 'WXSceneSession',
+							type: shareType,
+							success: function(res) {
+								emit('success', {
+									scene
+								})
+							},
+							fail: function(err) {
+								emit('error', err)
+								handleShareError(err)
+							}
+						}
+						// 根据类型添加不同的参数
+						if (shareType == 2) {
+							// 纯图片分享
+							// shareConfig.imageUrl = props.image
+							shareConfig.imageUrl = downloadRes.tempFilePath
+						} else {
+							// 图文或链接分享(兼容原有逻辑)
+							shareConfig.title = props.title
+							shareConfig.summary = props.desc
+							shareConfig.imageUrl = props.image
+							shareConfig.href = props.link
+						}
+						console.log('分享配置:', shareConfig)
+						uni.share(shareConfig)
+					},
+					fail: () => {
+						emit('error', err)
+						handleShareError(err)
+					})
+			}
+
+
+			// const shareToWeChat = (scene) => {
+			// 	console.log('props.link',props.link);
+			// 	uni.share({
+			// 		provider: 'weixin',
+			// 		scene: scene === 'timeline' ? 'WXSceneTimeline' : 'WXSceneSession',
+			// 		type: Number(props.type),
+			// 		title: props.title,
+			// 		summary: props.desc,
+			// 		href: props.link,
+			// 		imageUrl: props.image || 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/uni@2x.png',
+			// 		success: function(res) {
+			// 			emit('success', {
+			// 				scene
+			// 			})
+			// 		},
+			// 		fail: function(err) {
+			// 			emit('error', err)
+			// 			handleShareError(err)
+			// 		}
+			// 	})
+			// }
+
+
+			// 错误处理
+			const handleShareError = (error) => {
+				console.error('分享失败:', error)
+
+				const errCode = error.errCode || error.code
+				const errMsg = error.errMsg || error.message
+
+				// 微信未安装
+				if (errCode === 1004 || errCode === -4004) {
+					uni.showModal({
+						title: '提示',
+						content: '请先安装微信',
+						showCancel: false
+					})
+					return
+				}
+
+				// 用户取消不提示
+				if (errCode === 1001 || errCode === -4001) {
+					return
+				}
+
+				// 其他错误
+				uni.showToast({
+					title: errMsg || '分享失败,请重试',
+					icon: 'none',
+					duration: 3000
+				})
+			}
+
+			// 暴露方法给父组件
+			defineExpose({
+				open,
+				close
 			})
-			return
-		}
-
-		// 用户取消不提示
-		if (errCode === 1001 || errCode === -4001) {
-			return
-		}
-
-		// 其他错误
-		uni.showToast({
-			title: errMsg || '分享失败,请重试',
-			icon: 'none',
-			duration: 3000
-		})
-	}
-
-	// 暴露方法给父组件
-	defineExpose({
-		open,
-		close
-	})
 </script>