<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<script src="http://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
<script src="/public/js/jquery-1.8.2.min.js"></script>
<script type="text/javascript">
window.onload = function () {
url = location.href.split('#')[0];
url = encodeURIComponent(url); // 传给后台PHP
$.ajax({
type: "GET",
url: "http://xxxxxx?url=" + url,
dataType: "json",
success: function (data) {
// 先前分享部分的代码挪到这里来
// 通过config接口注入权限验证配置
console.log(data)
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: data.appId, // 必填,公众号的唯一标识
timestamp: data.timestamp, // 必填,生成签名的时间戳
nonceStr: data.nonceStr, // 必填,生成签名的随机串
signature: data.signature, // 必填,签名,见附录1
jsApiList: [
'updateAppMessageShareData',
'updateTimelineShareData',
'onMenuShareAppMessage', //旧的接口,即将废弃
'onMenuShareTimeline',//旧的接口,即将废弃
]// 必填,需要使用的JS接口列表
})
// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在 页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready 函数中。
wx.ready(function () {
// 获取"分享到朋友圈"按钮点击状态及自定义分享内容接口
wx.onMenuShareTimeline({
title: '标题55555555', // 分享标题
link: 'window.location.href',
desc: '66666555555',
imgUrl: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1558110966988&di=487dff7a53e677bc488c9eefd997d9df&imgtype=0&src=http%3A%2F%2Fk.zol-img.com.cn%2Fsjbbs%2F7692%2Fa7691515_s.jpg' // 分享图标
});
// 获取"分享给朋友"按钮点击状态及自定义分享内容接口
wx.onMenuShareAppMessage({
title: '标题444444', // 分享标题
link: window.location.href,
desc: '6666655555555',
imgUrl: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1558110966988&di=487dff7a53e677bc488c9eefd997d9df&imgtype=0&src=http%3A%2F%2Fk.zol-img.com.cn%2Fsjbbs%2F7692%2Fa7691515_s.jpg' // 分享图标
});
});
wx.error(function (res) {
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
alert(res);
});
},
});
}
</script>
</html>
其他参考上一篇文章