这个问题其实困扰了我2天,但是等我仔细看完文档以后,解决只用了1分钟的时间。
问题是这样的,在项目里使用了apicloud里面的wxPlus做为微信分享的模块。添加模块后,在iphone6以及iphone6s上所有界面都可以正常分享使用html2canvas生成出来的图片。但是经测试,iphone8plus分享就有问题。
分享代码如下
shearWx(scene,imgUrl){
// alert('shearWx')
// 分享到微信好友
let that = this
let wxPlus = api.require('wxPlus');
wxPlus.shareImage({
apiKey: '',
thumb: imgUrl,
scene: scene,
contentUrl: imgUrl
}, function(ret, err) {
if (ret.status) {
that.bottomToast('分享成功');
} else {
switch(err.code){
case -1:
that.bottomToast('请检测微信是否正确安装');
break;
case 2:
that.bottomToast('用户取消分享');
break;
default:
that.bottomToast('请确认是否给与APP存储权限');
break;
}
}
});
},
查看了一下err.code,错误代码为-1,在apicloud的模块文档里面-1的错误代码为未知错误……
未知错误这个就很尴尬了。
排查过程很繁琐,就不一一列举了。后面仔细阅读官方文档时发现,文档里面说明了thumb缩略图大小不能超过32K,然而生成出来的图片大小,已经达到了1M以上。而如果填了contentUrl的地址【分享图片的 url 地址(支持 fs://、widget://),长度不能超过10M,(注:图片内容大小不超过 10MB,不是图片大小)】是不需要填写缩略图的。我把thumb缩略图去掉以后。正常调起微信分享,搞定!
评论 (0)