本文實例講述了vue項目中實現的微信分享功能。分享給大家供大家參考,具體如下:
/* 微信分享 */Vue.prototype.wechatShare = (shareData) => { let resource = { title: '隨我心愿!', desc: '體驗優質服務', link: 'https://www.abc.cn/', img: 'https://www.abc.cn/images/share_logo.jpg' } let obj = Object.assign({}, resource, shareData) let params = {url: window.location.href} $post('/vue/weixinjiekou', params).then(data => { // 分享標題等參數 const shareTitle = obj.title const shareDesc = obj.desc const shareLink = obj.userShare ? obj.link + data.flag : obj.link const shareImgUrl = obj.img const config = { title: shareTitle, // 分享標題 desc: shareDesc, // 分享描述 link: shareLink, // 分享鏈接 imgUrl: shareImgUrl, // 分享圖標 type: '', // 分享類型,music、video或link,不填默認為link dataUrl: '', // 如果type是music或video,則要提供數據鏈接,默認為空 success: function () {}, cancel: function () {} } wechat.config({ debug: false, appId: data.appid, // 和獲取Ticke的必須一樣------必填,公眾號的唯一標識 timestamp: data.timestamp, // 必填,生成簽名的時間戳 nonceStr: data.noncestr, // 必填,生成簽名的隨機串 signature: data.signature, // 必填,簽名,見附錄1 // 需要分享的列表項:發送給朋友,分享到朋友圈,分享到QQ,分享到QQ空間 jsApiList: [ 'onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo', 'onMenuShareQZone', 'startRecord', 'stopRecord', 'onVoiceRecordEnd', 'playVoice', 'pauseVoice', 'stopVoice', 'onVoicePlayEnd', 'uploadVoice', 'downloadVoice', 'chooseImage', 'previewImage', 'uploadImage', 'downloadImage', 'translateVoice', 'getNetworkType', 'openLocation', 'getLocation', 'hideOptionMenu', 'showOptionMenu', 'hideMenuItems', 'showMenuItems', 'hideAllNonBaseMenuItem', 'showAllNonBaseMenuItem', 'closeWindow', 'scanQRCode', 'chooseWXPay', 'openProductSpecificView', 'addCard', 'chooseCard', 'openCard' ] }) // 處理驗證失敗的信息 wechat.error(function (res) { console.log('驗證失敗返回的信息:', res) }) // 處理驗證成功的信息 wechat.ready(function () { // 分享給朋友 wechat.onMenuShareAppMessage(config) // 分享到朋友圈 wechat.onMenuShareTimeline(config) // 分享到qq wechat.onMenuShareQZone(config) // 分享到微博 wechat.onMenuShareWeibo(config) // 分享到qq空間 wechat.onMenuShareQZone(config) }) })}微信接口信息
{ "result": { "appid": "appid", "noncestr": "隨機串", "signature": "簽名", "timestamp": 時間戳, "flag": 6 }, "status": "y"}希望本文所述對大家vue.js程序設計有所幫助。
新聞熱點
疑難解答