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 相关文章推荐
从零开始 教你如何搭建Discuz!4.1论坛
Jul 07 PHP
简单的过滤字符串中的HTML标记
Dec 25 PHP
PHP 数组教程 定义数组
Oct 23 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
Jun 23 PHP
YII实现分页的方法
Jul 09 PHP
网站防止被刷票的一些思路与方法
Jan 08 PHP
Yii2实现ajax上传图片插件用法
Apr 28 PHP
php支持断点续传、分块下载的类
May 02 PHP
yii2 RBAC使用DbManager实现后台权限判断的方法
Jul 23 PHP
Laravel开启跨域请求的方法
Oct 13 PHP
基于thinkphp6.0的success、error实现方法
Nov 05 PHP
laravel ajax curd 搜索登录判断功能的实现
Apr 17 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静态新闻列表自动生成代码
2007/06/14 PHP
php简单创建zip压缩文件的方法
2016/04/30 PHP
建立良好体验度的Web注册系统ajax
2007/07/09 Javascript
javascript hashtable 修正版 下载
2010/12/30 Javascript
js中return false(阻止)的用法
2013/08/14 Javascript
js二维数组定义和初始化的三种方法总结
2014/03/03 Javascript
页面js遇到乱码问题的解决方法是和无法转码的情况
2014/04/30 Javascript
JS实现点击上移下移LI行数据的方法
2015/08/05 Javascript
跟我学习javascript的隐式强制转换
2015/11/16 Javascript
原生js获取浏览器窗口及元素宽高常用方法集合
2017/01/18 Javascript
十个免费的web前端开发工具详细整理
2017/09/18 Javascript
在create-react-app中使用css modules的示例代码
2018/07/31 Javascript
微信小程序实现两边小中间大的轮播效果的示例代码
2018/12/07 Javascript
浅谈VUE防抖与节流的最佳解决方案(函数式组件)
2019/05/22 Javascript
简单了解JavaScript异步
2019/05/23 Javascript
基于react项目打包css引用路径错误解决方案
2020/10/28 Javascript
axios解决高并发的方法:axios.all()与axios.spread()的操作
2020/11/09 Javascript
SpringBoot+Vue 前后端合并部署的配置方法
2020/12/30 Vue.js
[47:35]VP vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
[20:39]DOTA2-DPC中国联赛 正赛开幕式 1月18日
2021/03/11 DOTA
python批量修改文件后缀示例代码分享
2013/12/24 Python
使用Python的Scrapy框架十分钟爬取美女图
2016/12/26 Python
Python遍历某目录下的所有文件夹与文件路径
2018/03/15 Python
numpy实现合并多维矩阵、list的扩展方法
2018/05/08 Python
python 对给定可迭代集合统计出现频率,并排序的方法
2018/10/18 Python
500行Python代码打造刷脸考勤系统
2019/06/03 Python
Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析
2020/03/30 Python
Python while true实现爬虫定时任务
2020/06/08 Python
如何查找网页漏洞
2016/06/22 面试题
学习十八大演讲稿
2014/09/15 职场文书
个人贷款收入证明
2014/10/26 职场文书
电子商务实训报告总结
2014/11/05 职场文书
拖欠货款起诉状
2015/05/20 职场文书
安全学习心得体会范文
2016/01/18 职场文书
Java练习之潜艇小游戏的实现
2022/03/16 Java/Android
动态规划之使用备忘录来改进Javascript函数
2022/04/07 Javascript