哎,张小龙写的教程真差,妮玛要研究半天才能用上,大家按我的步骤12345,包你药到病除:
1、官方参考:
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&lang=zh_CN
2、第1点没卵用,去下载样例,我以PHP为主:
http://demo.open.weixin.qq.com/jssdk/sample.zip
3、上面例子已经基本OK了,只要在sample.php填入自己的appid和appsecret就可以了。那么实际要改成我们的网页才行,这个就看你怎么弄了,我是thinkphp里面把signPackage赋值,然后按他的sample.php直接用的。
4、有个分享成功和失败的方法,要放到ready()中,不能放到外面,切记!看代码:
注意的地方:debug设置为false,否则一直提示errmsg:config:ok;
签名那些都按照上面的样例来做即可;
onMenuShareAppMessage要放到ready()中!!!
sample.zip已经做了token缓存,他是通过读写文件实现保存时间的,直接用就OK了!
{__NOLAYOUT__} <html> <head> <title>微信分享接口教程</title> <script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> </head> <script type="text/javascript"> wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: '<?php echo $signPackage["appId"];?>', // 必填,公众号的唯一标识 timestamp: <?php echo $signPackage["timestamp"];?>, // 必填,生成签名的时间戳 nonceStr: '<?php echo $signPackage["nonceStr"];?>', // 必填,生成签名的随机串 signature: '<?php echo $signPackage["signature"];?>',// 必填,签名,见附录1 jsApiList: ['onMenuShareTimeline','onMenuShareAppMessage'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); // 获取“分享到朋友圈”按钮点击状态及自定义分享内容接口,【放到这里是无效的】,大家必须要注意警惕干马画藤 wx.onMenuShareTimeline({ title: "这是分享到朋友圈标题", // 分享标题 link: '这是分享到朋友圈链接', // 分享链接 imgUrl: 'https://pic1.zhimg.com/da8e974dc_s.jpg', // 分享图标 success: function () { // 用户确认分享后执行的回调函数 }, cancel: function () { // 用户取消分享后执行的回调函数 } }); wx.ready(function(){ //alert("微信验证OK"); // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。 // 获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: '这是分享给朋友标题', // 分享标题 desc: '这是分享给朋友描述', // 分享描述 link: '这是分享给朋友链接', // 分享链接 imgUrl: 'https://pic1.zhimg.com/da8e974dc_s.jpg', // 分享图标 type: '', // 分享类型,music、video或link,不填默认为link dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空 success: function () { // 用户确认分享后执行的回调函数 alert("分享给朋友成功"); }, cancel: function () { // 用户取消分享后执行的回调函数 alert("分享给朋友失败"); } }); }); wx.error(function(res){ // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。 alert("微信验证失败"); }); </script> <body> <div class="divcenter"> 这是内容正文 </div> </body> </html>