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 相关文章推荐
一个简易需要注册的留言版程序
Oct 09 PHP
php实现mysql数据库备份类
Mar 20 PHP
php数组函数序列之array_pop() - 删除数组中的最后一个元素
Nov 07 PHP
PHP中strtotime函数使用方法分享
Jan 10 PHP
基于php缓存的详解
May 15 PHP
利用谷歌 Translate API制作自己的翻译脚本
Jun 04 PHP
php中foreach结合curl实现多线程的方法分析
Sep 22 PHP
PHP实现Redis单据锁以及防止并发重复写入
Apr 10 PHP
PHP之认识(二)关于Traits的用法详解
Apr 11 PHP
PHP微信网页授权的配置文件操作分析
May 29 PHP
安装docker和docker-compose实例详解
Jul 30 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
Feb 27 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中Smarty模板初体验
2011/08/08 PHP
php生成缩略图示例代码分享(使用gd库实现)
2014/01/20 PHP
从性能方面考虑PHP下载远程文件的3种方法
2015/12/29 PHP
yii2安装详细流程
2018/05/23 PHP
php用xpath解析html的代码实例讲解
2019/02/14 PHP
由prototype_1.3.1进入javascript殿堂-类的初探
2006/11/06 Javascript
javascript入门·对象属性方法大总结
2007/10/01 Javascript
超简单的jquery的AJAX用法
2010/05/10 Javascript
JavaScript使用IEEE 标准进行二进制浮点运算产生莫名错误的解决方法
2011/05/28 Javascript
使用 JScript 创建 .exe 或 .dll 文件的方法
2011/07/13 Javascript
基于jquery ajax 用户无刷新登录方法详解
2012/04/28 Javascript
Javascript 键盘事件的组合使用实现代码
2012/05/04 Javascript
将HTML格式的String转化为HTMLElement的实现方法
2014/08/07 Javascript
jQuery实现带水平滑杆的焦点图动画插件
2016/03/08 Javascript
JS插件plupload.js实现多图上传并显示进度条
2016/11/29 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(1)
2017/02/20 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
解决Vue中mounted钩子函数获取节点高度出错问题
2018/05/18 Javascript
vue2单元测试环境搭建
2018/05/24 Javascript
详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案
2019/04/04 Javascript
vue-mugen-scroll组件实现pc端滚动刷新
2019/08/16 Javascript
小程序实现多个选项卡切换
2020/06/19 Javascript
基于python的Tkinter编写登陆注册界面
2017/06/30 Python
Python内置模块hashlib、hmac与uuid用法分析
2018/02/12 Python
Django配置MySQL数据库的完整步骤
2019/09/07 Python
Python分割训练集和测试集的方法示例
2019/09/19 Python
基于python2.7实现图形密码生成器的实例代码
2019/11/05 Python
pymongo insert_many 批量插入的实例
2020/12/05 Python
美国宠物美容和宠物用品购物网站:Cherrybrook
2018/12/07 全球购物
PHP面试题大全
2015/10/16 面试题
实习生体会的自我评价范文
2013/11/28 职场文书
医药营销个人求职信
2014/04/12 职场文书
万能检讨书2000字
2014/10/17 职场文书
十七岁的单车观后感
2015/06/12 职场文书
《折线统计图》教学反思
2016/02/22 职场文书
MySql分区类型及创建分区的方法
2022/04/13 MySQL