php实现微信分享朋友链接功能


Posted in PHP onFebruary 18, 2019

本文为大家分享了php实现微信分享朋友链接,供大家参考,具体内容如下

不是些高深知识,但是第一次做,确实费了很多的时间,终于一点一点的扣了出来,目前已经使用中。

解决这个问题,总共碰到了几次BUG,1是生成的签名不对,自己打印出来,在去微信的签名算法页面一一核对.这时候如果对了,还是不成功.那就是需要动态获取URL链接的。最后需要将 函数写在为微信的ready函数内,但是看文档讲需要用户触发的函数可以不写进去,所以当所有的问题解决后,发送给朋友的链接总是原生态的,后台又尝试将函数写入ready才解决了此事。

PHP

$this->time1 = time(); 
 $this->appId = 'xxxxxxx'; //自己平台的appid
 $this->nonceStr = 'xxxxxxxx';// 秘钥
 $res = file_get_contents("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=xxxx&secret=xxxxx");// 获得token
 $ress = json_decode($res,True);
 $token = $ress['access_token'];// 取出 至于存储代码就不列举了 
 $js = file_get_contents("https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=".$token."&type=jsapi");
 $jss = json_decode($js,True);
 $jsapi_ticket = $jss['ticket'];// 取出JS凭证, 至于存储代码就不列举了

//开始签名算法了 
 $dataa['noncestr'] = 'sjijfdif'; //随意字符串 一会要传到JS里去.要求一致 
 $dataa['jsapi_ticket'] = $jsapi_ticket;
 $dataa['timestamp'] = $this->time1;
 $this->url1 = $dataa['url'] = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];//动态获取URL
 ksort($dataa);
 $signature = '';
 foreach($dataa as $k => $v){
 $signature .= $k.'='.$v.'&';
 }
 $signature = substr($signature, 0, strlen($signature)-1); 
 $this->signature = sha1($signature);// 必填,签名,见附录1

HTML

<script>
 wx.config({
 debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
 appId: "<{$appId}>", // 必填,公众号的唯一标识
 timestamp:"<{$time1}>" , // 必填,生成签名的时间戳
 nonceStr: "<{$nonceStr}>", // 必填,生成签名的随机串
 signature: "<{$signature}>",// 必填,签名,见附录1
 jsApiList: ['onMenuShareAppMessage'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
 }); 
 wx.ready(function(){
 wx.onMenuShareAppMessage({
 title: '周亮', // 分享标题
 desc: '嘻嘻哈哈程序猿', // 分享描述
 link: "<{$url1}>", // 分享链接
 imgUrl: '/Uploads/20160921/57e24dc555372.jpg', // 分享图标
 type: 'link', // 分享类型,music、video或link,不填默认为link
 dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
 success: function () { 
 alert('分享成功');
 },
 cancel: function () { 
 alert('取消分享了');
 }
 });
 });
 </script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP生成网页快照 不用COM不用扩展.
Feb 11 PHP
PHP 数组基础知识小结
Aug 20 PHP
三个类概括PHP的五种设计模式
Sep 05 PHP
PHP网络操作函数汇总
May 18 PHP
php使用CURL不依赖COOKIEJAR获取COOKIE的方法
Jun 17 PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
May 17 PHP
PHP Header失效的原因分析及解决方法
Nov 16 PHP
THINKPHP在添加数据的时候获取主键id的值方法
Apr 03 PHP
PHP实现一个多功能购物网站的案例
Sep 13 PHP
php PDO属性设置与操作方法分析
Dec 27 PHP
PDO::prepare讲解
Jan 29 PHP
laradock环境docker-compose操作详解
Jul 29 PHP
PHP实现唤起微信支付功能
Feb 18 #PHP
thinkphp5使用无限极分类
Feb 18 #PHP
thinkphp5实现无限级分类
Feb 18 #PHP
php实现文章评论系统
Feb 18 #PHP
php无限级分类实现评论及回复功能
Feb 18 #PHP
PHP-FPM 的管理和配置详解
Feb 17 #PHP
PHP get_html_translation_table()函数用法讲解
Feb 16 #PHP
You might like
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
2017/04/19 PHP
javascript 对象比较实现代码
2009/04/27 Javascript
jquery实现table鼠标经过变色代码
2013/09/25 Javascript
javascript禁用Tab键脚本实例
2013/11/22 Javascript
JavaScript框架是什么?怎样才能叫做框架?
2015/07/01 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
jQuery mobile的header和footer在点击屏幕的时候消失的解决办法
2016/07/01 Javascript
BootStrap实现带有增删改查功能的表格(DEMO详解)
2016/10/26 Javascript
深入浅析Nodejs的Http模块
2017/06/20 NodeJs
JS中的多态实例详解
2017/10/15 Javascript
Bootstrap栅格系统的使用详解
2017/10/30 Javascript
NodeJs form-data格式传输文件的方法
2017/12/13 NodeJs
Node解决简单重复问题系列之Excel内容的获取
2018/01/02 Javascript
vue项目tween方法实现返回顶部的示例代码
2018/03/02 Javascript
js实现for循环跳过undefined值示例
2019/07/02 Javascript
React-redux实现小案例(todolist)的过程
2019/09/29 Javascript
微信小程序实现页面浮动导航
2020/01/08 Javascript
js实现盒子移动动画效果
2020/08/09 Javascript
ant design vue 表格table 默认勾选几项的操作
2020/10/31 Javascript
Python中matplotlib中文乱码解决办法
2017/05/12 Python
浅谈pandas中shift和diff函数关系
2018/04/08 Python
Python3自动签到 定时任务 判断节假日的实例
2018/11/13 Python
Python 运行 shell 获取输出结果的实例
2019/01/07 Python
Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】
2019/05/23 Python
HTML的form表单和django的form表单
2019/07/25 Python
Flask框架学习笔记之表单基础介绍与表单提交方式
2019/08/12 Python
django admin后管定制-显示字段的实例
2020/03/11 Python
利用python绘制正态分布曲线
2021/01/04 Python
video实现有声音自动播放的实现方法
2020/05/20 HTML / CSS
Boden英国官网:英国知名原创时装品牌
2018/11/06 全球购物
会议新闻稿
2015/07/17 职场文书
法院执行局工作总结
2015/08/11 职场文书
Python opencv缺陷检测的实现及问题解决
2021/04/24 Python
vue项目两种方式实现竖向表格的思路分析
2021/04/28 Vue.js
Matlab如何实现矩阵复制扩充
2021/06/02 Python
nginx代理实现静态资源访问的示例代码
2022/07/07 Servers