wxShare.js
(function(){ var wxShare = function(opts){ var defaults = { getWxConfigUrl: \'\', // 获取微信接口权限url orDebug: false, // 是否开启调试模式 title: \'\', // 分享标题 desc: \'\', // 分享描述 wxUrl: \'\', // 参与签名的url link: \'\', // 分享链接 imgUrl: \'\', // 分享图标 success: function(){}, // 用户确认分享后执行的回调函数 cancel: function(){} // 用户取消分享后执行的回调函数 }; var _opts = $.extend(defaults, opts); // 获取微信权限 $.ajax({ url: _opts[\'getWxConfigUrl\'], type: \'POST\', dataType: \'json\', data: {share_url: _opts[\'wxUrl\']}, }) .done(function(res) { if(typeof res == \'object\'){ // 通过config接口注入权限验证配置 wx.config({ // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 debug: _opts[\'orDebug\'], // 必填,公众号的唯一标识 appId: res.appId, // 必填,生成签名的时间戳 timestamp: res.timestamp, // 必填,生成签名的随机串 nonceStr: res.nonceStr, // 必填,签名,见附录1 signature: res.signature, // 必填,需要使用的JS接口列表 jsApiList: [\'onMenuShareTimeline\', \'onMenuShareAppMessage\', \'onMenuShareQQ\'] }); // 处理config验证成功或失败 _wxReady(res.url); }else{ console.log(\'获取微信接口权限失败!\'); } }) .fail(function() { console.log("获取微信接口权限失败!"); }); // 处理config验证成功或失败 var _wxReady = function(urls){ // wxConfig验证成功处理 wx.ready(function(){ // 分享到朋友圈 wx.onMenuShareTimeline({ title: _opts[\'title\'], link: _opts[\'link\'], imgUrl: _opts[\'imgUrl\'], success: _opts[\'success\'], cancel: _opts[\'cancel\'] }); // 分享给朋友 wx.onMenuShareAppMessage({ title: _opts[\'title\'], desc: _opts[\'desc\'], link: _opts[\'link\'], imgUrl: _opts[\'imgUrl\'], // type: \'\', // 分享类型,music、video或link,不填默认为link // dataUrl: \'\', // 如果type是music或video,则要提供数据链接,默认为空 success: _opts[\'success\'], cancel: _opts[\'cancel\'] }); // 分享到QQ wx.onMenuShareQQ({ title: _opts[\'title\'], desc: _opts[\'desc\'], link: _opts[\'link\'], imgUrl: _opts[\'imgUrl\'], success: _opts[\'success\'], cancel: _opts[\'cancel\'] }); }); // wxConfig验证失败返回函数 wx.error(function(res){ console.log(res,\'wxConfig验证失败\') }); }; }; window.wxShare = wxShare; })();
调用:
//判断是否微信内置浏览器 if(ua.match(/MicroMessenger/i) == \'micromessenger\'){ // 微信分享 new wxShare({ getWxConfigUrl: "../advice/getWxConfig", title: \'送你68元红包,助攻你的618\', desc: \'会员神券日,来抢61.8元无门槛!\', wxUrl: thisUrl, link: thisUrl, // imgUrl: "../js/sales/activity618/images/20190606154315.png", imgUrl:"http://www.800pharm.com/shop/js/sales/activity618/images/20190606154315.png", success:function(){ console.log("分享成功"); }, cancel:function(){ console.log("分享失败"); } }); }
完整代码解释 请移步 https://github.com/lianglixiong/wechat.js