wxPlus微信分享图片失败的问题

teaxia
2020-04-14 / 0 评论 / 201 阅读 / 正在检测是否收录...

这个问题其实困扰了我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

评论 (0)

取消