微信分享有兩種機制,一種是微信自帶的分享機制,一種是公衆號自定義的分享機制。html
一、 微信自帶分享:微信的自帶分享是本身根據網頁的信息來抓取分享出去的信息。安全
標題:自動抓取html中head裏面的title;微信
圖片:網頁中第一張長和寬都大於300px的圖片app
描述:網頁自己的urlide
二、公衆號自定義分享:微信自定分享是須要調取微信的jssdk的接口的,步驟:函數
1、先經過config接口注入權限驗證配置url
圖中所指的四個參數,其中appId是固定的,其餘三個參數有公衆號即時生成,不過爲了安全起見通常有後臺返回,jsApiList中注入分享接口spa
jsApiList: [htm
「onMenuShareTimeline」,//分享到朋友圈
「onMenuShareAppMessage」,//分享給朋友
「onMenuShareQQ」,//分享到QQ
「onMenuShareWeibo」,//分享到騰訊微博
「onMenuShareQZone」,//分享到QQ空間
] blog
注意事項:因爲在wx.config沒有配置好以前,微信接口是調用不了的,因此爲了不調取接口失敗,建議後臺返回的配置參數放在一個單獨的接口中無需登陸也能請求,以達到快速注入權限。
2、注入權限後再調取微信的分享接口,示例:
wx.onMenuShareAppMessage({ title: '', // 分享標題 desc: '', // 分享描述 link: '', // 分享連接 imgUrl: '', // 分享圖標 type: '', // 分享類型,music、video或link,不填默認爲link dataUrl: '', // 若是type是music或video,則要提供數據連接,默認爲空 success: function () { // 用戶確認分享後執行的回調函數 }, cancel: function () { // 用戶取消分享後執行的回調函數 } });
全部的參數由本身定義
注意事項:就算配置了自定義分享,分享的時候仍是會有調取分享接口失敗的狀況,這個時候分享的信息就會和微信自帶的分享同樣,爲了不分享出去的圖片是空白的或者不是產品想要的,咱們能夠在body的下面建立一個img標籤隱藏一張寬度和高度都大於300的圖片,這種狀況下描述是desc參數是不可控的。