1. 现象描述
在使用uniapp开发微信h5页面时,分享到微信好友或朋友圈失败,出现如下错误提示:
"发送给朋友失败,请稍后重试"
2. 分享失败的原因
微信分享失败的原因可能有多种,以下是比较常见的几种情况:
2.1 分享标题、描述、链接有误
在进行分享设置时,可能出现分享标题、描述、链接设置不当的情况。如:
onMenuShareAppMessage () {
let that = this;
//分享好友
wx.onMenuShareAppMessage({
title: '分享标题', //分享标题
desc: '分享描述', //分享描述
link: '分享链接', //分享链接
imgUrl: '分享图标', //分享图标
...
})
},
在上面的代码中,如果分享链接设置有误,就会导致分享失败。
2.2 微信开放平台配置问题
如果您的微信h5项目需要进行微信分享功能,那么在微信开放平台进行相应的配置就是必不可少的一个环节。如:
wx.ready(function () {
wx.checkJsApi({
//需要检测的JS接口列表
jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage'],
success: function (res) {
...
})
});
如果您在微信开放平台没有进行相应的JS接口配置,就会导致分享失败。
2.3 微信版本问题
微信版本不同,分享功能的表现也不同。如果您使用的是比较老的微信版本,就有可能出现分享功能异常的情况。
3. 解决分享失败的方法
针对上述几种原因,以下是简单的解决方法:
3.1 检查分享设置
可以先检查uniacid、分享链接是否正确设置。另外,有些网站在微信内置浏览器中会有x-frame-options配置,为了安全起见,微信会屏蔽跨域iframe中的内容,导致页面curl获取不到数据,比如一些人使用云上购的QQ客服等就会在这里失败。
3.2 检查微信开放平台配置
检查微信开放平台中的JS接口配置是否正确。如:
wx.config({
debug: false,
appId: '',
timestamp: ,
nonceStr: '',
signature: '',
jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage']
});
如果未进行JS接口的配置,可以根据微信开放平台的文档进行相应的设置。
3.3 更新微信版本
如果微信版本过旧,可以尝试更新微信版本,以获得更好的分享体验。
4. 总结
微信分享在开发微信h5页面时是比较常见的功能之一,但是在开发过程中也会遇到分享失败的情况。根据上述几种可能的原因,可以进行相应的解决方法,以解决分享失败的问题。