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
来源:https://www.cnblogs.com/LLX8/p/11004862.html