1.效果圖對比
2.之前踩過的坑
頁面設定一個隱藏的圖片,寬高都是300畫素,微信就會抓取這張圖片做為分享圖片
結果: 並沒有什麼效果,原因:微信對自定義分享內容作了限制,最終還是要依靠配置wx.config。
3.詳細看了一邊官方的文件:
連結:mp.weixin.qq.com/wiki?t=reso…ain&id=mp1421141115
看一遍,覺得自己的智商似乎下線了,一臉蒙狀態
4.摸索半天,+++無數次騷擾度娘以後,差不多摸清楚了,everybody跟我走起哈(自己的專案是react框架,主要差不多,其他的根據自己的需求自行調整哈)
(1)準備,設定js介面安全域名
(2)引入JS檔案
(3)將要分享出去的頁面URL發給後臺的小夥伴(後臺介面調取成功後,將你需要用到的config配置資訊返回給你,這樣比直接自己寫公眾號的資訊更加安全)
(4)根據分享的要求,按照官方的介面調取寫法,自由發揮啦啦啦~~~~
wx.config({
debug:false, // 開啟除錯模式,呼叫的所有api的返回值會在客戶端alert出來,若要檢視傳入的引數,可以在pc端開啟,引數資訊會通過log打出,僅在pc端時才會列印。
appId: json.appId, // 必填,公眾號的唯一標識
timestamp:json.timestamp , // 必填,生成簽名的時間戳
nonceStr: json.nonceStr, // 必填,生成簽名的隨機串
signature: json.signature,// 必填,簽名
jsApiList: [
'onMenuShareTimeline', 'onMenuShareAppMessage',
'onMenuShareQQ', 'onMenuShareWeibo', 'onMenuShareQZone'
] // 必填,需要使用的JS介面列表
});
wx.ready(function() {
// config資訊驗證後會執行ready方法,所有介面呼叫都必須在config介面獲得結果之後,config是一個客戶端的非同步操作,所以如果需要在頁面載入時就呼叫相關介面,
// 則須把相關介面放在ready函式中呼叫來確保正確執行。對於使用者觸發時才呼叫的介面,則可以直接呼叫,不需要放在ready函式中。
//分享到朋友圈
wx.onMenuShareTimeline({
title:shareTitle, // 分享標題
link:location.href, // 分享連結,該連結域名或路徑必須與當前頁面對應的公眾號JS安全域名一致
imgUrl:"https://jinshang-hz.oss-cn-hangzhou.aliyuncs.com/data/share/images/recruit_action.jpg", // 分享圖示
success: function () {
// 使用者點選了分享後執行的回撥函式
console.log("11");
},
});
//分享給朋友
wx.onMenuShareAppMessage({
title:shareTitle, // 分享標題
desc:mySlogon, // 分享描述
link:location.href, // 分享連結,該連結域名或路徑必須與當前頁面對應的公眾號JS安全域名一致
imgUrl: "https://jinshang-hz.oss-cn-hangzhou.aliyuncs.com/data/share/images/recruit_action.jpg", // 分享圖示
type: '', // 分享型別,music、video或link,不填預設為link
dataUrl: '', // 如果type是music或video,則要提供資料連結,預設為空
success: function () {
// 使用者點選了分享後執行的回撥函式
console.log("22");
}
});
複製程式碼
5.參考文章
(1)[http://www.cnblogs.com/stoneniqiu/p/6286599.html]()
(2)[https://blog.csdn.net/HaleyLiu123/article/details/78002835?locationNum=4&fps=1]()
複製程式碼
灰常感謝前面踩坑的前輩們的分享~~~~