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反转字符串函数strrev()函数的用法
Feb 04 PHP
php检测文件编码的方法示例
Apr 25 PHP
php伪静态之APACHE篇
Jun 02 PHP
php生成RSS订阅的方法
Feb 13 PHP
PHP实现的方程求解示例分析
Nov 11 PHP
thinkphp3.2实现跨控制器调用其他模块的方法
Mar 14 PHP
php正则表达式基本知识与应用详解【经典教程】
Apr 17 PHP
Laravel5.7 Eloquent ORM快速入门详解
Apr 12 PHP
PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例
Jun 17 PHP
解决laravel id非自增 模型取回为0 的问题
Oct 11 PHP
php 多继承的几种常见实现方法示例
Nov 18 PHP
使用Git实现Laravel项目的自动化部署
Nov 24 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
德生PL990,目前市面上唯一一款便携式插卡蓝牙全波段高性能收音机
2021/03/02 无线电
How do I change MySQL timezone?
2008/03/26 PHP
Apache服务器下防止图片盗链的办法
2015/07/06 PHP
php实现HTML实体编号与非ASCII字符串相互转换类实例
2016/11/02 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
2017/08/11 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
js 自定义的联动下拉框
2010/02/07 Javascript
JS 实现获取打开一个界面中输入的值
2013/03/19 Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
2013/11/22 Javascript
Jquery实现的角色左右选择特效
2014/05/21 Javascript
JS实现的5级联动Select下拉选择框实例
2015/08/17 Javascript
JS运动相关知识点小结(附弹性运动示例)
2016/01/08 Javascript
AngularJS Bootstrap详细介绍及实例代码
2016/07/28 Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
2016/08/23 Javascript
Vue插件写、用详解(附demo)
2017/03/20 Javascript
浅谈原型对象的常用开发模式
2017/07/22 Javascript
vue移动端项目缓存问题实践记录
2018/10/29 Javascript
javascript实现点击按钮切换轮播图功能
2020/09/23 Javascript
[01:12:35]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
python列表,字典,元组简单用法示例
2019/07/11 Python
python关于矩阵重复赋值覆盖问题的解决方法
2019/07/19 Python
Django REST framework 视图和路由详解
2019/07/19 Python
python判断自身是否正在运行的方法
2019/08/08 Python
python实现拼图小游戏
2020/02/22 Python
德国箱包网上商店:koffer24.de
2016/07/27 全球购物
MONNIER Frères英国官网:源自巴黎女士奢侈品配饰电商平台
2018/12/06 全球购物
哈曼俄罗斯官方网上商店:Harman.club
2020/07/24 全球购物
期末考试动员演讲稿
2014/01/10 职场文书
2015年端午节活动总结
2015/02/11 职场文书
新闻发布会新闻稿
2015/07/17 职场文书
机关单位2016年创先争优活动总结
2016/04/05 职场文书
导游词之徐州云龙湖
2019/11/19 职场文书
Nginx域名转发https访问的实现
2021/03/31 Servers
Python如何利用正则表达式爬取网页信息及图片
2021/04/17 Python
Go遍历struct,map,slice的实现
2021/06/13 Golang
Java并发编程必备之Future机制
2021/06/30 Java/Android