很久没做移动端活动了,想不少人都参与过微信里面的活动,既然活动就少不了分享。那我就行一个前端的角度说说如何实现微信分享的吧。
对应微信分享,现在已有公共接口,微信的开发者文档SDK:https://mp.weixin.qq.com/wiki/11/74ad127cc054f6b80759c40f77ec03db.html
首先要引用官方的jweixin-1.0.0.js,然后便可启用接口,下面就以分享到微信好友,朋友圈,QQ好友,QQ空间为例
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必须后台生成传给前端,此时项目代码的分享功能只有放在制定(与微信绑定的)的二级域名下才可以起效