最近在一个项目中需要在微信分享给好友时显示自定义描述,网上查询了很多资料终于折腾好了,在此分享给有需要的朋友。在dz论坛引入微信JSSDK与分享功能的方法,微信分享不显示网址,显示自定义描述的方法。
1、前期准备
微信在去年发布JSSDK后,把包括自定义分享在内的众多网页服务接口进行了统一。现在,如果要想自定义分享自己的网页信息给好友或朋友圈,就最好使用这个统一的网页服务接口。需要有已经认证过的微信公众号,订阅号,服务号都可以。
首先在公众号管理后台“公众号设置”的“功能设置”里填写JS接口安全域名,域名需要通过ICP备案,没有备案域名可以用SAE、BAE等平台。自定义分享功能需要通过微信认证才能使用,没有认证的可以跟关系好的朋友借用权限,在他的JS接口安全域名设置这里填上你的域名和共享同一个开发者ID。没有认证微信号的,可参考文章末尾的办法。
2、下载官方示例代码:jssdk-php.zip
!qinai!游客!yincang_youke!
下载后解压,然后在DZ根目录新建一个文件夹命名为jssdk 把解压得到的jssdk.php直接上传到刚建设好的文件夹中。
3、修改header.htm模板文件
在DZ模板文件header.htm中添加如下代码- <!--{eval
- require_once "./jssdk/jssdk.php";
- $jssdk = new JSSDK("你的AppID", "你的AppSecret");
- $signPackage = $jssdk->GetSignPackage();
- }-->
- <script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
- <script type="text/javascript">
- // 自定义微信分享内容
- wx.config({
- debug: false, // 关闭或者打开调试
- appId: '<!--{eval echo $signPackage["appId"]}-->',
- timestamp: '<!--{eval echo $signPackage["timestamp"]}-->',
- nonceStr: '<!--{eval echo $signPackage["nonceStr"]}-->',
- signature: '<!--{eval echo $signPackage["signature"]}-->',
- jsApiList: [
- 'onMenuShareTimeline',
- 'onMenuShareAppMessage',
- 'onMenuShareQQ',
- 'onMenuShareWeibo',
- ]
- });
- wx.ready(function(){
- // 获取“分享到朋友圈”按钮点击状态及自定义分享内容接口
- wx.onMenuShareTimeline({
- title: '', // 分享标题
- link:"", // 分享链接
- imgUrl: "" // 分享图标
- });
-
- // 获取“分享给朋友”按钮点击状态及自定义分享内容接口
- wx.onMenuShareAppMessage({
- title: '', // 分享标题
- desc: "", // 分享描述
- link:"", // 分享标题
- imgUrl: "", // 分享图标
- type: 'link', // 分享类型,music、video或link,不填默认为link
- });
- });
- </script>
复制代码
然后上传覆盖 header.htm 后台清理一次缓存即可。看似简单,但这是经过很多折腾测试才得出的一个可以使用的教程。有什么不懂的或者是出错的可以在本文下方留言,游子在时间允许的情况下会逐一回复。
4、获取当前URL链接的方法
- <!--{eval echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];}-->
复制代码
分享链接可以使用这段代码,在DZ模板文件中实现获取当前URL链接。
PHP中获取当前页面的完整URL的方法
没有认证微信号,又没法借用权限的朋友,如何分享呢?这就必须让用户点击分享按钮或游戏结束时触发来改变title标题了,至于分享的小图片,在网页源文件标签后,加上
即可,注意图片大小必须大于300x300。 |