最近在为一个php网站添加微信分享带图片,描述的功能,这个功能以前了解过,但并无完全实现过,这个功能须要认证的公众号支持。现整理一个PHP通用的对接微信SDK,分享显示缩略图的插件,希望给自己提供便利之余的同时也能给大家一些或多或少的帮助。
使用前提
1、首先你得有认证公众号,一年缴300元保护费的那种。
2、订阅号、服务号不限。
3、公众号后台获取AppID和AppSecret,并设置IP白名单(你的服务器IP)
4、设置JS安全域名(你的网站域名,必须是已备案的)
5、调用相关接口进行开发。
最终效果如下:
公众号配置
在 开发-> 基本配置 中
获取开发者ID和开发者密码,并设置IP白名单(即你的服务器IP)。
在 设置->公众号设置->功能设置中 填入你的JS接口安全域名。
这个域名就是你自己需要调用接口的域名。比如:www.htmlbk.com
页面操作
准备工作完毕后,就是引入傻瓜式通用插件包(文章最底部下载)。并在网站模板中引入JSSDK(建议引入在通用底部模板中)。
前端页面底部加入如下代码
<!-- 微信分享 --> <script src="//res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> <script type="text/javascript"> var url = encodeURIComponent(location.href.split("#")[0]); $.ajax({ type: "get", url: "https://" + window.location.host + "/wxsdk/sample.php?link=" + url,// 注意如果网站没启用SSL,前方的https改为http dataType: "json", contentType: "application/json; charset=utf-8", success: function(e) { var d = e.appId, i = e.timestamp, t = e.nonceStr, n = e.signature; wx.config({ debug: 0, //如果分享失败,把0改成1开启错误提示看看 appId: d, timestamp: i, nonceStr: t, signature: n, jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData'] }); var s_title = document.title, // 分享标题 s_desc = document.getElementsByName('description')[0].content, //分享描述 s_link = location.href.split("#")[0], //分享链接 s_imgUrl = "https://" + window.location.host + "/weixinpic.png"; // 分享图标 注意如果网站没启用SSL,前方的https改为http wx.ready(function() { // 自定义“分享给朋友”及“分享到QQ”按钮的分享内容(1.4.0) wx.updateAppMessageShareData({ title: s_title, // 分享标题 desc: s_desc, // 分享描述 link: s_link, // 分享链接 imgUrl: s_imgUrl }) // 自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容(1.4.0) wx.updateTimelineShareData({ title: s_title, // 分享标题 link: s_link, // 分享链接 imgUrl: s_imgUrl }) }) } }); </script>
注意:上方采用JS获取当前页面标题/描述/链接,有特殊要求的可以直接改动或使用相关CMS对应标题/描述等标签
注意:代码中的https://,如果网站没启用SSL,https改为http
打开下载的傻瓜式通用插件包解压得到的wxsdk文件夹,打开sample.php文件,根据注释填写公众号后台获取到的AppID和AppSecret,保存即可
<?php //header("Access-Control-Allow-Origin: *"); require_once "jssdk.php"; $appId = '';// 这里填写公众号后台获取到的AppID $appSecret = '';// 这里填写公众号后台获取到的AppSecret $url = isset($_GET@['link'])?$_GET@['link']:0;// 百度编辑器自动加了@,实际使用时去掉@ $jssdk = new JSSDK($appId, $appSecret, $url); $signPackage = $jssdk->GetSignPackage();
到这一步,已经完成了大部分操作,接下来只需把wxsdk文件夹上传到你网站的运行目录中(一般为根目录,TP类的一般为public文件夹,看实际情况操作)
分享图标的图片也是存放在网站运行目录,图片命名为:weixinpic.png
至此,所有操作都已完成,怎么样,你学废了吗?
末尾附上傻瓜式通用插件包:PHP通用微信自定义分享
本站部分文章搜集整理于互联网或者网友提供,如有侵权请联系站长
如若转载,请注明出处:https://www.htmlbk.com/php/633.html
温馨提示:该文档最后一次修改时间为2024-07-08 11:23:46,请注意相关的内容是否还可用!