最近寫的項目中涉及到了微信分享,因此將一些分享方面的知識梳理一下。其中還涉及到對分享功能的隱藏和顯示。
在vue頁面的js 中放入如下代碼:
const wx = require('weixin-js-sdk')
export default {
name: 'HelloWorld',
data () {
return {
msg: 'Welcome to Your Vue.js App',
notShowMask: false,
}
},
mounted:function () {
wx.hideOptionMenu();
this.$nextTick(function () {
this.getConfig();
})
},
methods: {
// 微信分享參數
getConfig() {
let url = location.href.split('#')[0] //獲取錨點之前的鏈接
wxAuthApi.getConfigData(url)//向服務器獲取微信配置初始化需要的參數
.then(response => {
let res = response.data.data;
logObj(res);
this.wxInit(res);
})
},
// 微信分享
wxInit(res) {
let flag=this.notShowMask
let links = "http://www.baidu.com";
let title = '分享測試哦';
let desc = '了解更多知識,請關注“庄游”公眾號';
let imgUrl = "";
wx.config({
debug: false,
appId: res.appId,
timestamp: res.timestamp,
nonceStr: res.nonceStr,
signature: res.signature,
jsApiList: ['hideMenuItems','showMenuItems','onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo', 'onMenuShareQZone']
});
wx.ready(function () {
if(!flag){
wx.hideMenuItems({ menuList: ['menuItem:share:QZone', 'menuItem:share:appMessage',
'menuItem:share:qq','menuItem:share:timeline','menuItem:favorite'
]
});
}else{
wx.showMenuItems({ menuList: ['menuItem:share:QZone', 'menuItem:share:appMessage',
'menuItem:share:qq','menuItem:share:timeline','menuItem:favorite'
]
});
}
wx.onMenuShareTimeline({
title: title, // 分享標題
desc: desc, // 分享描述
link: links, // 分享鏈接
imgUrl: imgUrl, // 分享圖標
ready: function(){
alert("I am share ready")
},
success: function () {
// alert("分享到朋友圈成功")
//Toast({
//message: "成功分享到朋友圈"
//});
},
cancel: function () {
// alert("分享失敗,您取消了分享!")
//Toast({
//message: "分享失敗,您取消了分享!"
//});
}
});
//微信分享菜單測試
wx.onMenuShareAppMessage({
title: title, // 分享標題
desc: desc, // 分享描述
link: links, // 分享鏈接
imgUrl: imgUrl, // 分享圖標
success: function () {
// alert("成功分享給朋友")
// Toast({
// message: "成功分享給朋友"
// });
},
cancel: function () {
// alert("分享失敗,您取消了分享!")
// Toast({
// message: "分享失敗,您取消了分享!"
// });
}
});
wx.onMenuShareQQ({
title: title, // 分享標題
desc: desc, // 分享描述
link: links, // 分享鏈接
imgUrl: imgUrl, // 分享圖標
success: function () {
// alert("成功分享給QQ")
// Toast({
// message: "成功分享到QQ"
// });
},
cancel: function () {
// alert("分享失敗,您取消了分享!")
// Toast({
// message: "分享失敗,您取消了分享!"
// });
}
});
wx.onMenuShareWeibo({
title: title, // 分享標題
desc: desc, // 分享描述
link: links, // 分享鏈接
imgUrl: imgUrl, // 分享圖標
success: function () {
// alert("成功分享給朋友")
// Toast({
// message: "成功分享到騰訊微博"
// });
},
cancel: function () {
// alert("分享失敗,您取消了分享!")
// Toast({
// message: "分享失敗,您取消了分享!"
// });
}
});
wx.onMenuShareQZone({
title: title, // 分享標題
desc: desc, // 分享描述
link: links, // 分享鏈接
imgUrl: imgUrl, // 分享圖標
success: function () {
// alert("成功分享給朋友")
// Toast({
// message: "成功分享到QQ空間"
// });
},
cancel: function () {
// alert("分享失敗,您取消了分享!")
// Toast({
// message: "分享失敗,您取消了分享!"
// });
}
});
});
wx.error(function (err) {
alert(JSON.stringify(err))
});
}
}
}
