最近寫的項目中涉及到了微信分享,因此將一些分享方面的知識梳理一下。其中還涉及到對分享功能的隱藏和顯示。
在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)) }); } } }