在vue中使用jssdk微信分享vue
weixin-js-sdk mint-ui須要安裝npm install weixin-js-sdk mint-ui --saveweb
mixins/wechat.jsnpm
//weixin-js-sdk應用 const wx = require('weixin-js-sdk') import { Toast } from 'mint-ui' export default { methods: { wechatShare(info) { // 判斷蘋果手機 let _url = '' if (window.__wxjs_is_wkwebview === true) { _url = window.location.href.split('#')[0] || window.location.href } else { _url = window.location.href } // 訪問後臺接口獲取微信參數 this.$store .dispatch('GetWxParam', { url: encodeURIComponent(_url) }) .then(res => { wx.config({ debug: false, appId: res.data.appId, // 必填,公衆號的惟一標識 timestamp: res.data.timestamp, // 必填,生成簽名的時間戳 nonceStr: res.data.nonceStr, // 必填,生成簽名的隨機串 signature: res.data.signature, // 必填,簽名,見附錄1 jsApiList: [ 'previewImage', 'hideAllNonBaseMenuItem', 'showMenuItems', 'onMenuShareTimeline', 'onMenuShareAppMessage', 'chooseWXPay' ] // 必填,須要使用的 JS 接口列表,全部JS接口列表見附錄2 }) }) .catch(err => { console.log(err) }) wx.ready(() => { const share_title = info.title const share_desc = info.desc const share_link = info.link const share_img = info.img wx.showOptionMenu() wx.onMenuShareTimeline({ title: share_title, // 分享標題 link: share_link, // 分享連接 imgUrl: share_img, // 分享圖標 success: function() { Toast('已成功分享到朋友圈') }, cancel: function() { Toast('已取消分享') } }) wx.onMenuShareAppMessage({ title: share_title, // 分享標題 desc: share_desc, // 分享描述 link: share_link, // 分享連接 imgUrl: share_img, // 分享圖標 success: function() { Toast('已成功分享給您的朋友') }, cancel: function() { Toast('已取消分享') } }) }) } } }
使用方法
import wxShare from '@/mixins/wechat' //引用
export default {微信
mixins: [wxShare], // methods: { setShare() { const shareInfo = { title: `羽絨服低至199元!`, desc: `7月26日-8月3日,年中限時特惠,售完即止`, link: window.location.href, img: '.../logo.jpg' } // mixins this.wechatShare(shareInfo) }, }, created(){ // 設置 this.setShare() } }