微信公众号分享&jssdk
最近遇到了网页的分享到微信的需求,想着之前做过,所以就没有放在心上,可谁知鼓捣了半天,还是那丑陋的分享链接。没有办法,只能自己百度找各种原因,不出所料,很多都是垃圾,在众多垃圾中找一个自己需要的还真是不容啊。花费了半天,终于知道了什么原因。。。可是时间就是金钱啊,没有办法,自己决定总结一下,方便自己以后能够用起来有个参考。
一、登录自己的微信公众号平台,完成相应的配置
- 登录你的微信平台,点击“公众号设置”。
- 点击“功能设置”,然后点击“设置”。
填写js安全域名,这里填写的是一级域名,即不带www的,如xxx.com
==注意:js安全域名一个月只能修改三次,而且一个公众号最只能设置三个安全域名==
-
将里面的jssdk.php access_token.php jsapi_ticket.php三个文件复制到引用文件的同目录
根据demo的sample.php按照自己的appid 和appsecret引入到自己的文件中1
2
3
4
5<?php
require_once "jssdk.php";
$jssdk = new JSSDK("yourAppID", "yourAppSecret");
$signPackage = $jssdk->GetSignPackage();
?> 引入js文件,在需要调用接口的页面引入js文件
- 分享接口
wx.config({
debug: false,
appId: '<?php echo $signPackage["appId"];?>',
timestamp: <?php echo $signPackage["timestamp"];?>,
nonceStr: '<?php echo $signPackage["nonceStr"];?>',
signature: '<?php echo $signPackage["signature"];?>',
jsApiList: [ //需要使用的网页服务接口
'checkJsApi', //判断当前客户端版本是否支持指定JS接口
'onMenuShareTimeline', //分享给好友
'onMenuShareAppMessage', //分享到朋友圈
'onMenuShareQQ', //分享到QQ
'onMenuShareWeibo' //分享到微博
]
});
wx.ready(function () {
//ready函数用于调用API,如果你的网页在加载后就需要自定义分享和回调功能,需要在此调用分享函数。//如果是微信游戏结束后,需要点击按钮触发得到分值后分享,这里就不需要调用API了,可以在按钮上绑定事件直接调用。因此,微信游戏由于大多需要用户先触发获取分值,此处请不要填写如下所示的分享API
wx.onMenuShareTimeline({ //例如分享到朋友圈的API
title: '', // 分享标题
link: '', // 分享链接
imgUrl: '', // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
wx.onMenuShareAppMessage({
title: '', // 分享标题
desc: '', // 分享描述
link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: '', // 分享图标
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
});