記筆記,備後面自己查詢!
這兩天寫的H5頁面一個頁面包含多個不同的鏈接模塊如下圖這種,每種分享的鏈接都不是當前鏈接,指定自定義的鏈接。
微信官方開發者文檔:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115
微信官方接口DEMO:https://www.weixinsxy.com/jssdk/
wx.config({
debug: true, // 開啓調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時纔會打印。
appId: '', // 必填,公衆號的唯一標識
timestamp: , // 必填,生成簽名的時間戳
nonceStr: '', // 必填,生成簽名的隨機串
signature: '',// 必填,簽名
jsApiList: [
'onMenuShareAppMessage',
'onMenuShareTimeline',
'onMenuShareQQ',
'onMenuShareQZone',
'showMenuItems',
'hideMenuItems',
'hideAllNonBaseMenuItem',
'previewImage'
] // 必填,需要使用的JS接口列表
});
wx.ready(function () { //需在用戶可能點擊分享按鈕前就先調用
wx.updateAppMessageShareData({
title: '', // 分享標題
desc: '', // 分享描述
link: '', // 分享鏈接,該鏈接域名或路徑必須與當前頁面對應的公衆號JS安全域名一致
imgUrl: '', // 分享圖標
success: function () {
// 設置成功
}
})
wx.updateTimelineShareData({
title: '', // 分享標題
link: '', // 分享鏈接,該鏈接域名或路徑必須與當前頁面對應的公衆號JS安全域名一致
imgUrl: '', // 分享圖標
success: function () {
// 設置成功
}
})
...
});
一、根據文檔和以前一樣寫,分享出去後無論如何都是指向當前的url,查文檔,問度娘都說明分享的鏈接可以是當前鏈接,也可以設置爲另一個頁面。下面爲測試的幾種思路,不過可惜都不可行:
1:點擊時獲取相對應的id進行ajax請求得到要指定的url。結果是分享出去指定的鏈接還是當前頁面鏈接。失敗。
2:將微信的分享所有都放在分享點擊事件裏面,不可行。
3:將指定鏈接相同部分直接寫死在link裏面,後面指定的id部分獲取不到,不可行
link: "https://xxxx.xxxx.com/index.php/xx/xx/xxx?id={$xxx.id}"
4:讓後臺直接寫死一個鏈接可行,但是後臺並不知道點擊時分享哪個鏈接,所以不可行
網上提供的需注意:
1、域名必須是當前綁定的服務號或者公衆號的安全域名
最後使用
function myWxShare(shareTitle, shareDesc, shareUrl, imgUrl){
wx.config({})
wx.ready({})
}
然後點擊分享時傳參並觸發weixin的jssdk方法,居然ok了,也是福氣了。如果大神們還有更好的方法請留言告知,感謝!