2018-11-30 微信小程序 onShareAppMessage 图片地址 url 编码问题(的解决方法)

onShareAppMessage 的 url 编码问题

这篇文讲什么?

如何解决 onShareAppMessage 分享时,在 Android 下可以正常显示图片,在 iOS 下图片无法加载

这篇文对谁有用?

微信小程序开发者

正文

因为分享的图片地址里有空格和其他符号

https://img.wittcism.com/instagram/bape_japan/2018-11-29 17:56:41 +0800-BqwpAlDlgSN.jpg

我感觉是因为这个造成了问题。所以安卓可以,苹果不行,
encodeURIComponent 后,安卓不行,苹果可以(反过来了)

最终解决方案:判断如果是 iOS,才做 encodeURIComponent
以下代码供参考

    onShareAppMessage(res) {
        var post = this.data.postInfo;
        var user = this.data.userInfo;
        var page = `/pages/index/index?to_instagram_id=${post.id}`;
        var rawURL = `https://img.wittcism.com/${post.qiniu_url}`;
        try {
            var res = wx.getSystemInfoSync()
            console.log(res.platform);
            if (res.platform == 'ios') {
                var encodeURL = encodeURIComponent(rawURL);
                var imgURL = encodeURL
            } else {
                var imgURL = rawURL
            }
        } catch (e) {
            var imgURL = rawURL
        }
        return {
            title: `${user.login} 分享了 ${post.user.name} 的作品,邀请你来点赞`,
            path: page,
            imageUrl: imgURL
        }
    },