我使用了新版的網頁分享接口在微信WeChat6.6.6低版本的微信客戶端上不支持。
最后我新版本的接口和老版都寫上了。
$.ajax({ url: 'http://h5.descente-china.com.cn/weChat/weChatApi.php', type: 'POST', async: true, data: {url: location.href.split('#')[0]}, dataType: 'json', cache: false, success: function (data) { wx.config({ debug: false, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。 appId: data['appId'], // 必填,公眾號的唯一標識 timestamp: data['timestamp'], // 必填,生成簽名的時間戳 nonceStr: data['nonceStr'], // 必填,生成簽名的隨機串 signature: data['signature'],// 必填,簽名 jsApiList: ['checkJsApi', 'updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareAppMessage', 'onMenuShareTimeline', 'onMenuShareQQ', 'onMenuShareWeibo', 'onMenuShareQZone'] // 必填,需要使用的JS接口列表 }); wx.ready(function () { //需在用戶可能點擊分享按鈕前就先調用 wx.checkJsApi({ jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareAppMessage', 'onMenuShareTimeline', 'onMenuShareQQ', 'onMenuShareWeibo', 'onMenuShareQZone'], // 需要檢測的JS接口列表,所有JS接口列表見附錄2, success: function (res) { // 以鍵值對的形式返回,可用的api值true,不可用為false // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"} // alert(JSON.stringify(res)); } }); wx.updateAppMessageShareData(shareData, function (res) { //這里是回調函數 }); wx.updateTimelineShareData(shareData, function (res) { //這里是回調函數 }); wx.onMenuShareAppMessage(shareData, function (res) { //這里是回調函數 }); wx.onMenuShareTimeline(shareData, function (res) { //這里是回調函數 }); wx.onMenuShareQQ(shareData, function (res) { //這里是回調函數 }); wx.onMenuShareWeibo(shareData, function (res) { //這里是回調函數 }); wx.onMenuShareQZone(shareData, function (res) { //這里是回調函數 }); }); } });
分享功能調整
為鼓勵用戶自發分享喜愛的內容,減少“強制分享至不同群”等濫用分享能力,破壞用戶體驗的行為,微信公眾平台分享功能即日起做出如下調整:
1、7月5日起新提交的版本,用戶從小程序、小游戲中分享消息給好友時,開發者將無法獲知用戶是否分享完成,也無法在分享后立即獲得群ID。該策略在最新版開發者工具上,可以選擇基礎庫 2.0.8版本預先體驗。具體調整點為:
(1)分享接口調用后,將不再返回分享結果事件。詳情可參考轉發介紹
(2)通過調用 wx.showShareMenu 並且設置 withShareTicket 為 true ,當用戶將小程序轉發到任一群聊之后,不再支持獲取到此次轉發的 shareTicket。但是當此轉發卡片在群聊中被其他用戶打開時,依然可以在 App.onLaunch() 或 App.onShow 獲取到 shareTicket。詳情可參考獲取更多轉發信息
2、6月份新版微信客戶端發布后,用戶從微信內的網頁分享消息給微信好友,以及分享到朋友圈,開發者將無法獲知用戶是否分享完成。具體調整點為:
(1)分享接口調用后,不再返回用戶是否分享完成事件,即原先的cancel事件和success事件將統一為success事件。詳情可參考微信JSSDK說明文檔
(2)在6月份新版微信客戶端上,微信會提供新的自定義分享卡片標題、簡介和配圖的能力。該接口不支持獲知用戶是否分享出自己的網頁。
(3)在新版自定義分享能力發布后,原有認證公眾號的“獲取分享到朋友圈按鈕點擊狀態及自定義分享內容接口”和“獲取分享給朋友按鈕點擊狀態及自定義分享內容接口”權限將逐步回收,請開發者關注后續站內信通知。
3、6月份新版微信客戶端發布后,用戶從App中分享消息給微信好友,或分享到朋友圈時,開發者將無法獲知用戶是否分享完成。具體調整點為:
(1)分享接口調用后,不再返回用戶是否分享完成事件,即原先的cancel事件和success事件將統一為success事件。
微信團隊
2018年05月16日
分享接口
請注意,原有的 wx.onMenuShareTimeline、wx.onMenuShareAppMessage、wx.onMenuShareQQ、wx.onMenuShareQZone 接口,即將廢棄。請盡快遷移使用客戶端6.7.2及JSSDK 1.4.0以上版本支持的 wx.updateAppMessageShareData、updateTimelineShareData 接口。