好久沒作移動端活動了,想很多人都參與過微信裏面的活動,既然活動就少不了分享。那我就行一個前端的角度說說如何實現微信分享的吧。html
對應微信分享,如今已有公共接口,微信的開發者文檔SDK:https://mp.weixin.qq.com/wiki/11/74ad127cc054f6b80759c40f77ec03db.html前端
首先要引用官方的jweixin-1.0.0.js,而後即可啓用接口,下面就以分享到微信好友,朋友圈,QQ好友,QQ空間爲例api
var link = window.location.href.replace('weixin-share.html',''); var shareData = { imgUrl: link +"img/share.jpg", // 分享圖標 link:link + 'weixin-share.html?inviteCode='+localStorage.inviteCode,// 分享連接 desc: '流量告急不用慌,每邀1人送1次,瘋狂邀請瘋狂送,流量之王就是你!',// 分享描述 title: '邀請送,500M流量瘋狂送!',// 分享標題 success: function () { if(localStorage.lastname){ alert("分享成功"); } }, cancel: function () { // 用戶取消分享後執行的回調函數 } }; if (typeof wx != 'undefined') { wx.config({ debug: false, // 開啓調試模式,調用的全部api的返回值會在客戶端alert出來,若要查看傳入的參數,能夠在pc端打開,參數信息會經過log打出,僅在pc端時纔會打印。 appId: 'wx4601e3fa5832f936', // 必填,公衆號的惟一標識 timestamp:'1472778330' , // 必填,生成簽名的時間戳 nonceStr: 'HZSMK123', // 必填,生成簽名的隨機串 signature: 'fb0a612086e3bb8c2fb6c462c8a45722fce8409b',// 必填,後臺生成,與url有關簽名,見附錄1 jsApiList: ['onMenuShareTimeline','onMenuShareAppMessage','hideMenuItems','onMenuShareQQ','onMenuShareQZone'] // 必填,須要使用的JS接口列表,全部JS接口列表見附錄2 }); wx.ready(function(){ // 分享到朋友圈 wx.onMenuShareTimeline( shareData ); // 分享給朋友 wx.onMenuShareAppMessage( shareData ); // 分享到QQ wx.onMenuShareQQ( shareData ); // 分享到QQ空間 wx.onMenuShareQZone( shareData ); // 隱藏菜單項 wx.hideMenuItems({ menuList: [ 'menuItem:exposeArticle', //舉報 'menuItem:setFont', 'menuItem:refresh', 'menuItem:copyUrl', //複製連接 'menuItem:originPage', 'menuItem:readMode', 'menuItem:openWithQQBrowser', 'menuItem:openWithSafari', 'menuItem:share:email' ] // 要隱藏的菜單項,只能隱藏「傳播類」和「保護類」按鈕,全部menu項見附錄3 }); }); }
說明一下appId必須是對外有效的公衆號惟一id,signature必須後臺生成傳給前端,此時項目代碼的分享功能只有放在制定(與微信綁定的)的二級域名下才能夠起效微信