将网页分享到微信带有缩略图和简介
一、概述
把网址分享到微信群或者朋友圈,不显示自定义图标,问有什么解决方法,网上也查了好多资料,做了不少的尝试,做了很久测试才成功,网上的资料不太完整,少了一点地方没有注意到图标都不会显示,这里作者特把网上没有注意到的地方整理出来,希望对有需要这个功能的朋友有一定的帮助
要实现分享网址到朋友圈显示缩略图的功能,需要注意这5点,不满足的就不用往下测试了,测试了也不会有效果的
1)需要认证公众号才行,认证的公众号才有分享接口权限
2)需要jquery脚本支持
3)图片地址必须写全,不能相对引用
4)网址不能含有特殊字符
5)网站本身必须完成工信部备案
二、制作流程
1、添加IP白名单,注意:开启了密钥后,才有IP白名单那个选项
登陆自己已认证公众号,点击“开发”—“基本配置”—“IP白名单”,将自己网站对应的IP加入即可,AppID和AppSecret记得保存好,后面备用
2、增加JS接口安全域名
点击“设置”—“公众号设置”—“功能设置”—“JS接口安全域名”,将自己的网站域名加入即可
3、引入JS文件
在自己网站的具体要分享的页面增加如下JS脚本,把脚本里面的标题、摘要、图片地址以及url根据实际情况改成自己的就可以了
<script src="https://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script> <script src="https://res.wx.qq.com/open/js/jweixin-1.2.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://www.tenfly.ltd/logo.jpg"; // 分享图标 注意如果网站没启用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>
附:wxskd.zip 已打包好,修改里面的sample.php中
$appId = ' ';// 这里填写公众号后台获取到的AppID
$appSecret = ' ';// 这里填写公众号后台获取到的AppSecret
即可!
解压到根目录/wxsdk/