网页链接分享到微信朋友圈带图标和摘要的完美解决方法
先看效果:
我不喜欢回形针。
以前我仅仅把网页开始的地方放一个不可见的图片,后来发现没有效果。
现在我们开始:
原料:GetwxLink
微信公众号:
、步骤一:绑定域名
先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
步骤二:引入JS文件
<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script><script>var url=location.href;$.ajax({type : "get",url : "http://这里改为你自己的网址.com/jssdk.php?url="+url,dataType : "jsonp",jsonp: "callback",jsonpCallback:"success_jsonpCallback",success : function(data){wx.config({debug: false,appId: data.appId,timestamp: data.timestamp,nonceStr: data.nonceStr,signature: data.signature,jsApiList: ['onMenuShareTimeline',//'onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone']});},error:function(data){alert("连接失败!");}});wx.ready(function () {var shareData = {title: '这是是分享标题',desc: '这是是摘要',link: url,imgUrl: '这里改为你网站域名下的小图标文件的地址'};wx.onMenuShareAppMessage(shareData);//分享给好友wx.onMenuShareTimeline(shareData);//分享到朋友圈wx.onMenuShareQQ(shareData);//分享给手机QQwx.onMenuShareWeibo(shareData);//分享腾讯微博wx.onMenuShareQZone(shareData);//分享到QQ空间});wx.error(function (res) {//alert(res.errMsg);//错误提示});
</script>
url : "http://这里改为你自己的网址.com/jssdk.php?url="+url,
<?php$url = $_GET['url'];
class JSSDK {private $appId;private $appSecret;private $url;public function __construct($appId, $appSecret,$url) {$this->appId = $appId;$this->appSecret = $appSecret;$this->url = $url;}public function getSignPackage() {$jsapiTicket = $this->getJsApiTicket();$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";// $url = "$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";$url =$this->url;$timestamp = time();$nonceStr = $this->createNonceStr();// 这里参数的顺序要按照 key 值 ASCII 码升序排序$string = "jsapi_ticket=$jsapiTicket&noncestr=$nonceStr×tamp=$timestamp&url=$url";$signature = sha1($string);$signPackage = array("appId" => $this->appId,"nonceStr" => $nonceStr,"timestamp" => $timestamp,"url" => $url,"signature" => $signature,"rawString" => $string);return $signPackage;}private function createNonceStr($length = 16) {$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";$str = "";for ($i = 0; $i < $length; $i++) {$str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);}return $str;}private function getJsApiTicket() {// jsapi_ticket 应该全局存储与更新,以下代码以写入到文件中做示例$data = json_decode(file_get_contents("jsapi_ticket.json"));if ($data->expire_time < time()) {$accessToken = $this->getAccessToken();// 如果是企业号用以下 URL 获取 ticket// $url = "https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_token=$accessToken";$url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=$accessToken";$res = json_decode($this->httpGet($url));$ticket = $res->ticket;if ($ticket) {$data->expire_time = time() + 7000;$data->jsapi_ticket = $ticket;$fp = fopen("jsapi_ticket.json", "w");fwrite($fp, json_encode($data));fclose($fp);}} else {$ticket = $data->jsapi_ticket;}return $ticket;}private function getAccessToken() {// access_token 应该全局存储与更新,以下代码以写入到文件中做示例$data = json_decode(file_get_contents("access_token.json"));if ($data->expire_time < time()) {// 如果是企业号用以下URL获取access_token// $url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$this->appId&corpsecret=$this->appSecret";$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$this->appId&secret=$this->appSecret";$res = json_decode($this->httpGet($url));$access_token = $res->access_token;if ($access_token) {$data->expire_time = time() + 7000;$data->access_token = $access_token;$fp = fopen("access_token.json", "w");fwrite($fp, json_encode($data));fclose($fp);}} else {$access_token = $data->access_token;}return $access_token;}private function httpGet($url) {$curl = curl_init();curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);curl_setopt($curl, CURLOPT_TIMEOUT, 500);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);curl_setopt($curl, CURLOPT_URL, $url);$res = curl_exec($curl);curl_close($curl);return $res;}
}$jssdk = new JSSDK("wx********************a", "*************************",$url);
$signPackage = $jssdk->GetSignPackage();
$tmp=json_encode(array ('appId'=>$signPackage["appId"],'timestamp'=>$signPackage["timestamp"],'nonceStr'=>$signPackage["nonceStr"],'signature'=>$signPackage["signature"],'url'=>$signPackage["url"]));
$callback = $_GET['callback'];
echo $callback.'('.$tmp.')';
exit;
?>
只要改一下这一行为你自己的:
$jssdk = new JSSDK("wx********************", "*************************",$url);
最后,别忘了存放这个PHP的文件夹权限为可写。
GetwxLink
网页链接分享到微信朋友圈带图标和摘要的完美解决方法相关推荐
- 最新链接分享给微信好友和微信朋友圈带图标和摘要的方法
首先这一定需要使用微信jssdk,但是在你使用了微信jssdk之后,依旧分享的链接不带图标和摘要,那就看看我踩的坑吧. 前端代码 我这里引入了jQuery(不用jQuery的写法的话可以不引入),然后 ...
- 网页链接分享到微信里的海报制作
在 微信 里向朋友分享网页链接时, 标题.描述 和 图片, 这三者前端 能否 不借助其他工具自行设置呢? 具体 如何在页面里写代码控制该页面在微信里被分享时显示的相关信息呢? 如下图,在微信分享的过程 ...
- uni-app - H5 公众号网页分享到微信朋友圈 / 转发分享给朋友好友 / 分享到手机 QQ / 分享到 QQ 空间,给微信分享卡片设置图标、标题、描述文字等(JS-SDK 通用解决方案放心用)
前言 如果您是纯 Vue.js 项目(或 Nuxt.js),请访问 Vue - 最新网页 H5 分享到微信朋友圈 / 转发分享好友 这篇详细教程. 目前网上大部分教程都过时了(老版本.无效),并且未对 ...
- 微信分享链接或网站文章到微信朋友圈,缩略图片不显示解决【老版资料】
如图:分享到朋友圈的链接没有显示图片,简介变成了网址, 如何让左侧那个图片显示尼??? 解决方法: 在我们的网站网页 html代码中的<body>之后(也就是网站的第一张图片)增加< ...
- Android第三方应用分享到微信朋友圈,微信好友(原创)
首先,这篇博客是面向刚刚开始做Android开发的程序员的,大牛可以飘过.然后,作为一个接触Android一年多,还没有毕业的我来说,写的博客难免有些错误,所以请大家多多指教,看大家都在写博客,目的无 ...
- 如何把计算机歌曲传给微信好友,如何将手机本地音乐分享到微信朋友圈分享音乐...
当前,不支持将本地音乐分享到微信朋友圈,但是您可以安装喜马拉雅山,或者在上传后将其分享到微信朋友圈 1.以iPhone为例.首先打开音乐,然后找到要共享的音乐.以我下载的音乐为例,单击歌曲右侧的&qu ...
- js分享到微信朋友圈、QQ空间、QQ好友、新浪微博、腾讯微博、豆瓣、人人......
各种分享...... <!DOCTYPE html> <html> <head> <title>share</title> <scri ...
- 分享到微信朋友圈的内容被禁止访问,怎么办?
作者: 轻易科技知行研发部 - 王海宇 分享到微信朋友圈的内容被禁止访问,怎么办? 写在前面 微信封禁的行为 关于微信封禁域名后解决办法 工程师镇楼 写在前面 随着互联网的发展,越来越多的app通过分 ...
- android友盟微信分享到朋友圈,2020年友盟分享到微信朋友圈
2020年友盟分享到微信朋友圈 1.我想要对你说出我要说的最深的话语,我不敢,我怕你取笑 7.真心总是无人喜,偏偏套路撩人心 10.钱可以帮穷人思维的人解决温饱,却可以帮富人思维的人制造财富 十七.考 ...
最新文章
- latex 文章前头引用包
- 面试必备,各种技术知识集大成之项目~
- (牛人莫入)Silverlight 独立文件存储
- 理解并使用ASP.NET的高级配置
- [邻接表] 学习邻接表的表示方法+BFS
- SQL Server 权限的分类
- 完成杂志续订c语言程序,C语言程序设计报告杂志订阅管理软件.doc
- SQL2000系统表、存储过程、函数的功能介绍及应用
- 学python需要c-为什么我建议每个开发人员都需要学 Python ?
- laya fgui 超简单的UI框架
- BAT自动IP地址切换脚本
- fw313r路由器上网方式服务器无响应,迅捷(FAST)路由器fw313r手机设置上网方法
- 小米手机无限重启怎么办?
- USB3.0 HUB方案之VL817-Q7
- atan java_Java Math atan() 使用方法及示例
- Linux查询状态的命令,LINUX常用的系统状态查询命令
- 木木早教机器人说明书_智能机器人软件使用说明书
- 突然讨厌做前端,讨厌代码_如何安全清洁讨厌的游戏控制器
- 【记录】螺栓连接——预紧力
- 轩辕实验室丨基于信息熵的车载网络流量异常检测防御方法