1. 程式人生 > >IOS環境下,微信分享失效問題

IOS環境下,微信分享失效問題

最近在做一個公眾號,涉及到分享的功能,但是在安卓機上,自定義的分享配置引數能夠被觸發,而在ios蘋果手機上卻失效了,苦苦尋覓在百度上搜索解決辦法,但都沒有效果,,配置引數如下:

 var content = {
        title: '您的好友邀請你辦信用卡啦', // 分享標題
        desc: '邀請好友辦信用卡得獎金', // 分享描述
        link: 'http://ppl.hzqzinfo.com/cc-wechat/share.html?openId='+sessionStorage.openId+"&username="+sessionStorage.user_name+"&picid="
+sessionStorage.picid, // 分享連結 imgUrl: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1524029663610&di=3ace946ecf6b963b1fa1c47a7c94c25c&imgtype=0&src=http%3A%2F%2Fwww.68ecshop.com%2Fecshop_topic%2FDistribution%2Fimages%2Ficon_home.png', // 分享圖示 success: function
() {
}, cancel: function () {} };

最終,我把link連結地址後面的引數去掉,此時在ios上是能夠觸發分享的,但是少了引數,我的業務邏輯就沒辦法處理,也不能儲存在本地,後來找到一片部落格,引起了我的注意,


 1. ios分享圖示不能超過32K
 2. link引數帶中文或者特殊字元,帶中文的url在安卓中應該也是會出問題的,但是安卓會自動encodeURIComponent(),而ios不會

我馬上想到我的url引數中帶了中文字元,於是乎將其encodeURIComponent()編碼,再提交程式碼,ios上完美執行!!
以下是修改後的配置:

 var content = {
        title: '您的好友邀請你辦信用卡啦', // 分享標題
        desc: '邀請好友辦信用卡得獎金', // 分享描述
        link: 'http://ppl.hzqzinfo.com/cc-wechat/share.html?openId='+sessionStorage.openId+"&username="+encodeURIComponent(sessionStorage.user_name)+"&picid="+sessionStorage.picid, // 分享連結
        imgUrl: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1524029663610&di=3ace946ecf6b963b1fa1c47a7c94c25c&imgtype=0&src=http%3A%2F%2Fwww.68ecshop.com%2Fecshop_topic%2FDistribution%2Fimages%2Ficon_home.png', // 分享圖示
        success: function () {},
        cancel: function () {}
    };

這個問題弄了我一下午啊,好在最後解決了!!