js安全域名必须是域名,使用ip地址会提示签名错误 ,域名不能http://baidu.com/,只要baidu.com
先去看一下公众号有没有这个接口的权限 https://mp.weixin.qq.com/advanced/advanced?action=table&token=1272505178&lang=zh_CN
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>test</title>
</head>
<body>
test
</body>
</html>
<script src='http://res2.wx.qq.com/open/js/jweixin-1.4.0.js'></script>
<script>
var url=encodeURIComponent(location.href.split('#')[0]);
var data;
xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if(xhr.readyState == 4) {
if(xhr.responseText) {
data=JSON.parse(xhr.responseText)
// alert(data.appId);
wx.config({
debug: true,
appId: data.appId,
timestamp: data.timestamp,
nonceStr: data.nonceStr,
signature: data.signature,
jsApiList: ["onMenuShareAppMessage","onMenuShareTimeline"]
});
}
}
};
xhr.open("get", "http://xxx?url="+url, false);
xhr.send();
wx.ready(function() {
// alert(url)
wx.onMenuShareAppMessage({
title: '分享到朋友', // 分享标题
desc: '123', // 分享描述
link: 'http://xxx', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: '', // 分享图标
success: function () {
// 设置成功
alert('分享成功')
},
fail: function () {
// 设置成功
alert('分享失败')
}
});
wx.onMenuShareTimeline({
title: '分享到朋友圈', // 分享标题
link: 'http://xxx', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: '', // 分享图标
success: function () {
// 设置成功
alert('分享成功')
},
fail: function () {
// 设置成功
alert('分享失败')
}
});
});
wx.error(function(res){
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
});
</script>