一、引入js文件
<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
二、微信二次分享(SDK1.2.0)
mounted () {
this.shareWechat();
},
methods () {
shareWechat() {
let self = this,
url_temp = window.location.href.split("#")[0];
axios.post(global.api + "business-service/wechat/sign",{webUrl: url_temp}).then(function(response) {
if(response.data.code == 1){
let data = response.data.data
let nonceStr = data.noncestr // 必填,生成簽名的隨機串
let timestamp = data.timestamp //生成簽名的時間戳
wx.config({
debug: false, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。
appId: data.appId, // 必填,服務號
timestamp: data.timestamp, // 必填,生成簽名的時間戳
nonceStr: data.noncestr, // 必填,生成簽名的隨機串
signature: data.sign, // 必填,簽名,見附錄1
jsApiList: ['onMenuShareAppMessage', 'onMenuShareTimeline','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone']
});
wx.ready(function () {
var shareData = {
title: self.queryData.title,
desc: '吃茶去喊你一起搞事情~你來還是來還是來?',
link: window.location.href,
imgUrl: self.queryData.bannerImage,
};
wx.onMenuShareAppMessage(shareData); // 分享給朋友
wx.onMenuShareTimeline(shareData); // 分享到朋友圈
wx.onMenuShareQQ(shareData); // 分享到QQ
wx.onMenuShareWeibo(shareData); // 分享到騰訊微博
wx.onMenuShareQZone(shareData); // 分享到QQ空間
});
}
})
.catch(function(error) {
console.log(error);
});
}
}
三、微信二次分享(SDK1.4.0)
說明:最新SDK文檔1.4.0版本中即將廢棄1.2.0版本的分享api,以上5中分享形式被如下2種方式取代:
引用http://res.wx.qq.com/open/js/jweixin-1.4.0.js 或http://res2.wx.qq.com/open/js/jweixin-1.4.0.js (支持https)
- 自定義“分享給朋友”及“分享到QQ”按鈕的分享內容(1.4.0)
wx.ready(function () { //需在用戶可能點擊分享按鈕前就先調用
wx.updateAppMessageShareData({
title: '', // 分享標題
desc: '', // 分享描述
link: '', // 分享鏈接,該鏈接域名或路徑必須與當前頁面對應的公眾號JS安全域名一致
imgUrl: '', // 分享圖標
}, function(res) {
//這里是回調函數
});
});
- 自定義“分享到朋友圈”及“分享到QQ空間”按鈕的分享內容(1.4.0)
wx.ready(function () { //需在用戶可能點擊分享按鈕前就先調用
wx.updateTimelineShareData({
title: '', // 分享標題
link: '', // 分享鏈接,該鏈接域名或路徑必須與當前頁面對應的公眾號JS安全域名一致
imgUrl: '', // 分享圖標
}, function(res) {
//這里是回調函數
});
});
四、自定義菜單隱藏設置
mounted () {
this.shareWechat();
},
methods () {
shareWechat() {
let self = this,
url_temp = window.location.href.split("#")[0];
axios.post(global.api + "business-service/wechat/sign",{webUrl: url_temp}).then(function(response) {
if(response.data.code == 1){
let data = response.data.data
let nonceStr = data.noncestr // 必填,生成簽名的隨機串
let timestamp = data.timestamp //生成簽名的時間戳
wx.config({
debug: false, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。
appId: data.appId, // 必填,服務號
timestamp: data.timestamp, // 必填,生成簽名的時間戳
nonceStr: data.noncestr, // 必填,生成簽名的隨機串
signature: data.sign, // 必填,簽名,見附錄1
jsApiList: ['hideMenuItems','hideAllNonBaseMenuItem']
});
wx.ready(function () {
//隱藏所有按鈕(“傳播類”和“保護類")
wx.hideAllNonBaseMenuItem();
//隱藏所有按鈕(“傳播類”和“保護類")
//以下隱藏部分按鈕,分別為: 發(fā)送給朋友,分享到朋友圈,分享到QQ,分享到Weibo,收藏,分享到FB,分享到 QQ 空間,復制鏈接,閱讀模式
//wx.hideMenuItems({
// menuList: ['menuItem:share:appMessage','menuItem:share:timeline','menuItem:share:qq','menuItem:share:weiboApp','menuItem:favorite','menuItem:share:facebook','menuItem:share:QZone','menuItem:copyUrl','menuItem:readMode'] // 要隱藏的菜單項,只能隱藏“傳播類”和“保護類”按鈕,所有menu項見附錄3
//});
});
}
})
.catch(function(error) {
console.log(error);
});
}
}

原始按鈕

隱藏所有按鈕