现象描述
如下两张图片,第一个可以进行微信分享,第二个微信分享报错“wxShareAPI.sendReq return false”
// 可以微信分享的图片:https://tws.oss.cnweisou.com/images/23068/2020/12/aq998Lb8W94ixL8142z6677WvIg19x.png
// 不可以微信分享的图片:https://tws.oss.cnweisou.com/images/23068/2020/12/j280VVZaXnrjJAJvRSjV8JzSvHV11N.png
问题分析
微信对分享大图有限制,上限为250kb左右,过大的图片分享会报错,因此需要对大图压缩后分享。
注意:目前的图片压缩接口仅支持对本地图片压缩,如需要压缩网络图片,建议先保存到本地再进行压缩处理。
解决方法
示例代码如下:
share: function () {
image.compressImage({
uri: "/Common/2.png", //需要压缩的图片,只支持本地图片
quality: 80,
ratio: 2,
format: "PNG",
success: function (data) {
console.log(data.uri)
share.share({
shareType: 0,
title: "我是标题",
summary: "我是摘要",
imagePath: data.uri,
targetUrl: "http://www.huawei.com",
success: function () {
console.log("share success");
},
fail: function (data, code) {
console.log("handling fail, code=" + code + ", data=" + data);
}
})
},
fail: function (data, code) {
console.log("handling fail, code=" + code);
}
})
}
快应用文档
图片API接口:
https://developer.huawei.com/consumer/cn/doc/development/quickApp-References/quickapp-api-image
第三方分享接口:
https://developer.huawei.com/consumer/cn/doc/development/quickApp-References/quickapp-api-thirdshare
原文链接:https://developer.huawei.com/...
原作者:Mayism