https://blog.csdn.net/bobbsh/article/details/104197321
帝国CMS微信分文章显示缩略图、简介源码分享到朋友圈转发好友带缩略图
前提公众号须是认证的,不管是订阅号还是服务号,域名须备过案,网站空间php,file_get_contents函数须支持https抓取
1、文件夹wxshareapi,上传到根目录。
2、wxshareapi\config\config.php
里面的appid和appsecret 替换成你自己公众号的(基本配置-公众号开发信息)
$appid = "填写最新参数";
$appsecret = "填写最新参数";
3、如果你是https的网址,那么请把http://res.wx.qq.com/open/js/jweixin-1.2.0.js
下载到本地,调用本地的JS
微信公众号后台需设置JS接口安全域名 为上传源码所对应的域名(公众号设置-功能设置)
以及IP白名单设置为你空间的IP(基本配置-公众号开发信息)
把以下面的代码放到想要分享的页面模板里,放在 上面就可以了(以下引用这段是废话)
概述 微信JS-SDK是微信公众平台 面向网页开发者提供的基于微信内的网页开发工具包。
通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照、选图、语音、位置等手机系统的能力,同时可以直接使用微信分享、扫一扫、卡券、支付等微信特有的能力,为微信用户提供更优质的网页体验。
JSSDK使用步骤 步骤一:绑定域名 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
备注:登录后可在“开发者中心”查看对应的接口权限。 步骤二:引入JS文件
在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.4.0.js
步骤三:通过config接口注入权限验证配置 所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用 wx.config({
debug: true, //
开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: ‘’, // 必填,公众号的唯一标识 timestamp: , // 必填,生成签名的时间戳 nonceStr: ‘’, //
必填,生成签名的随机串 signature: ‘’,// 必填,签名 jsApiList: [ ] // 必填,需要使用的JS接口列表
}); 步骤四:通过ready接口处理成功验证 wx.ready(function(){ //
config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
}); 步骤五:通过error接口处理失败验证 wx.error(function(res){ //
config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
}); 接口调用说明
所有接口通过wx对象(也可使用jWeixin对象)来调用,参数是一个对象,除了每个接口本身需要传的参数之外,还有以下通用参数:
1.success:接口调用成功时执行的回调函数。
2.fail:接口调用失败时执行的回调函数。
3.complete:接口调用完成时执行的回调函数,无论成功或失败都会执行。
4.cancel:用户点击取消时的回调函数,仅部分有用户取消操作的api才会用到。
5.trigger: 监听Menu中的按钮点击时触发的方法,该方法仅支持Menu中的相关接口。 备注:不要尝试在trigger中使用ajax异步请求修改本次分享的内容,因为客户端分享操作是一个同步操作,这时候使用ajax的回包会还没有返回。
以上几个函数都带有一个参数,类型为对象,其中除了每个接口本身返回的数据之外,还有一个通用属性errMsg,其值格式如下:
调用成功时:“xxx:ok” ,其中xxx为调用的接口名 用户取消时:“xxx:cancel”,其中xxx为调用的接口名
调用失败时:其值为具体错误信息
(以上引用这段是废话)回到正题:把以下面的代码放到想要分享的页面模板里,放在 </body>
上面就可以了
<?php
$titlepic = trim($navinfor['titlepic']);
$titlepic = $titlepic === '' ? 'http://www.xds.work/wxshareapi/01_avatar.jpg' : $titlepic;
if(strpos($titlepic , 'http') !== 0){
$titlepic = 'http://www.xds.work'.$titlepic;
}
?>
<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script>
var fxtitle='[!--pagetitle--]';
var share_desc = '[!--smalltext--]';
var fxdesc=share_desc;
var fxpic="<?php echo $titlepic;?>";
document.write("<scr"+"ipt src='/wxshareapi/fx.php?fxtitle="+fxtitle+"&fxdesc="+fxdesc+"&fxpic="+fxpic+"&htmlurl="+location.href.replace(/&/g,'__')+"'></scr"+"ipt>")
</script>
里面的www.xds.work请换成自己的域名http://www.xds.work/wxshareapi/01_avatar.jpg
图片地址可以换成自己的默认图片地址
如果以上做了还没有调试成功,请按此方法进行查看原因
<?php
$html=file_get_contents("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx9685118462831f7&secret=93debf773de9d5e94484b6d5c5b2370b");
echo $html;
?>
建个php文件,比如a.php,把以上的appid和secret 替换成你的,然后放到你网站的根目录,在微信中访问域名/a.php访问(微信浏览器中访问),
如果微信配置成功的话,会出现类似成功获取access_token的界面,如果不是,那就你配置有问题了。
检查appid和appsecret,JS安全域名,以及最容易出错的白名单