html里面引入
<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
js调用后台接口获取签名,时间戳等参数
var backUrl = window.location.href
var shareUrl = 分享的链接
$.ajax({
type: 'post',
url: 后台接口,
data: 分享链接传给后台,
dataType: 'json',
success: function(res) {
var result = res.result.wxReruslt
var timestamp = result.timestamp //因为服务端是String类型,此处转化成数值类型
var nonceStr = result.noncestr
var signature = result.signature
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: 'appId(自己公司的id)', // 必填,公众号的唯一标识
timestamp: timestamp, // 必填,生成签名的时间戳
nonceStr: nonceStr, // 必填,生成签名的随机串
signature: signature, // 必填,签名,见附录1
jsApiList: [
'onMenuShareTimeline',
'onMenuShareAppMessage',
'onMenuShareQQ',
'onMenuShareQZone',
'onMenuShareWeibo'
] // 必填,需要使用的JS接口列表
})
wx.ready(function() {
var title = 分享大标题
var subTitle = 分享小标题
var imgUrl = 分享照片
wx.onMenuShareTimeline({
title: title, // 分享标题
link: shareUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: imgUrl, // 分享图标
success: function(res) {
shareTrue()
// 用户确认分享后执行的回调函数
},
cancel: function(res) {
// 用户取消分享后执行的回调函数
}
})
wx.onMenuShareAppMessage({
title: title, // 分享标题
desc: subTitle, // 分享描述
link: shareUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: imgUrl, // 分享图标
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function() {
shareTrue()
// 用户确认分享后执行的回调函数
},
cancel: function() {
// 用户取消分享后执行的回调函数
}
})
wx.onMenuShareQQ({
title: title, // 分享标题
desc: subTitle, // 分享描述
link: shareUrl, // 分享链接
imgUrl: imgUrl, // 分享图标
success: function() {
shareTrue()
// 用户确认分享后执行的回调函数
},
cancel: function() {
// 用户取消分享后执行的回调函数
}
})
wx.onMenuShareQZone({
title: title, // 分享标题
desc: subTitle, // 分享描述
link: shareUrl, // 分享链接
imgUrl: imgUrl, // 分享图标
success: function() {
shareTrue()
// 用户确认分享后执行的回调函数
},
cancel: function() {
// 用户取消分享后执行的回调函数
}
})
wx.onMenuShareWeibo({
title: title, // 分享标题
desc: subTitle, // 分享描述
link: shareUrl, // 分享链接
imgUrl: imgUrl, // 分享图标
success: function() {
shareTrue()
// 用户确认分享后执行的回调函数
},
cancel: function() {
// 用户取消分享后执行的回调函数
}
})
})
wx.error(function(res) {
console.log(res.errMsg)
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
//alert('error');
})
},
error: function(res) {
console.log(res)
}
})