php微信扫一扫教程,php调用微信扫一扫
class Saoyisao {
private $appId;
private $appSecret;
public function __construct($appId, $appSecret) {
$this->appId = $appId;
$this->appSecret = $appSecret;
}
public function getSignPackage() {
$jsapiTicket = $this->getJsApiTicket();
// 注意 URL 一定要动态获取,不能 hardcode.
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
$url = $protocol.$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
$timestamp = time();
$nonceStr = $this->createNonceStr();
// 这里参数的顺序要按照 key 值 ASCII 码升序排序
$string = "jsapi_ticket=$jsapiTicket&noncestr=$nonceStr×tamp=$timestamp&url=$url";
//$string = "jsapi_ticket=$jsapiTicket&noncestr=$nonceStr×tamp=$timestamp&url=$url";
//echo $string;
$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() {
$accessToken = $this->getAccessToken();
$url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=$accessToken";
$res = json_decode($this->httpGet($url));
$ticket = $res->ticket;
return $ticket;
}
private function getAccessToken() {
$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;
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;
}
}
?>
php微信扫一扫教程,php调用微信扫一扫相关推荐
- python连接微信接口开发教程_Python调用微信公众平台接口操作示例
本文实例讲述了Python调用微信公众平台接口操作.分享给大家供大家参考,具体如下: 这里使用的是Django,其他类似 # coding=utf-8 from django.http import ...
- python链接微信接口开发教程_Python调用微信公众平台接口操作示例
本文实例讲述了Python调用微信公众平台接口操作.分享给大家供大家参考,具体如下: 这里使用的是Django,其他类似 # coding=utf-8 from django.http import ...
- python自动发微信天气预报_【教程】Python微信定时自动给女朋友发送天气预报
原标题:[教程]Python微信定时自动给女朋友发送天气预报 先上效果图 主要思路 1.从wxpy获取好友列表 2.创建定时器 3.定时器触发函数 4.函数执行,遍历好友列表 5.好友对象执行带参函数 ...
- SAP系统和微信集成的系列教程之三:微信用户关注公众号之后,自动在SAP C4C系统创建客户主数据
这是Jerry 2020年的第84篇文章,也是汪子熙公众号总共第266篇原创文章. 本系列的英文版Jerry写作于2017年,这个教程总共包含十篇文章,发表在SAP社区上. 系列目录 (1) 微信开发 ...
- 公众号向特定用户主动推送消息_SAP系统和微信集成的系列教程之三:微信用户关注公众号之后,自动在SAP C4C系统创建客户主数据...
这是Jerry 2020年的第84篇文章,也是汪子熙公众号总共第266篇原创文章. 本系列的英文版Jerry写作于2017年,这个教程总共包含十篇文章,发表在SAP社区上: https://blogs ...
- SAP系统和微信集成的系列教程之一:微信开发环境的搭建
系列目录 (1) 微信开发环境的搭建 ( 本文 ) (2) 如何通过微信公众号消费API (3) 微信用户关注公众号之后,自动在SAP C4C系统创建客户主数据 (4) 如何将SAP C4C主数据变化 ...
- 微信定位功能js、jquery调用微信wx js-jdk
config接口注入权限验证配置 wx.config({ debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息 ...
- 微信检测域名状态系统 如何调用微信官方的微信域名检测接口API
背景:最近公司的公众号域名被封了,原因是公司网站被黑后上传了一个不符合微信规范的网页.所以...就进入了微信域名解封的流程. 百度微信域名解封发现很多微信域名检测的网站,还有Api:但是本人做微信公众 ...
- 微信公众号开发教程(六)获取微信用户信息-网页授权
作者:陈惠,叩丁狼教育高级讲师.原创文章,转载请注明出处. 在学习网页授权之前,我们先来了解下这次的需求: 我们的应用中有一个用来显示个人信息的页面,当微信用户在微信app中打开这个页面,希望可以获取 ...
最新文章
- Linux vim编辑器命令总结(转载)
- 在Win10下安装python+tensorflow-gpu-2.4 虚拟环境
- 关于压缩jar包时提示*.*没有这个文件或目录的问题以及解决办法:
- TestNG中的参数化– DataProvider和TestNG XML(带有示例)
- 使用Camel在来自不同来源的Solr中索引数据
- 前端学习(3068):vue+element今日头条管理-日期处理
- java servlet文件下载_Servlet实现文件下载功能
- Sql Server之旅——第十二站 sqltext的参数化处理
- python实时监控文件目录_c#教程之c#使用filesystemwatcher实时监控文件目录的
- 如何实现SSH断开后 进程仍然在后台运行
- java:通过Calendar类正确计算两日期之间的间隔
- vue2.0项目的环境配置以及有哪些的坑
- Python网页简单小爬虫
- MyBatis官方下载地址(含mybatis-spring)
- U盘安装fedora 9
- 谭浩强c程序设计试题汇编第三版 第四章解析
- 概念辨析理解--TEX、LATEX、TEXLive和Lyx的区别和联系
- pkpm弹性时程分析计算书怎么出_【原创总结】结构菜鸟浅谈为何进行弹性时程分析(附操作详图)...
- 反思中国十大失败企业
- win10edge启用html5,Win 10 Edge浏览器极速运行的设置方法
热门文章
- 苹果6如何截屏_苹果iPhone 11的5个隐藏使用技巧 学会了让你的手机更好用
- java计算机毕业设计流浪动物收容与领养源码+系统+数据库+lw文档+mybatis+运行部署
- 基本命令 Linux操作系统与实训 CentOS 7.4 RHEL 7.4
- 《QQ自由幻想》带你体验自由诱惑
- [转] 高数原来可以这么诗意
- 蒙特梭利 部首和偏旁 练习册(一)蒙氏语言蒙氏素材
- 从Java Future 到 Guava ListenableFuture实现异步非阻塞调用
- Linux下python的命令,linux下python相关命令
- jQuery动画效果大全
- 手机网游开发基础知识之Wap协议