微信小程序 PHP生成带参数二维码


Posted in Javascript onFebruary 21, 2017

微信小程序 PHP生成带参数二维码

官方获取小程序页面API

微信小程序 PHP生成带参数二维码

由于小程序参数二维码API提供的帮助有限,以下是我对该功能的一些理解

我主要是通过thinkphp后台接口实现,代码如下:

1、先获取ACCESS_TOKEN:

$tokenUrl="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appid."&secret=".$this->secret;
    $getArr=array();
    $tokenArr=json_decode($this->send_post($tokenUrl,$getArr,"GET"));
    $access_token=$tokenArr->access_token;

send_post:

function send_post($url, $post_data,$method='POST') {
    $postdata = http_build_query($post_data);
    $options = array(
      'http' => array(
        'method' => $method, //or GET
        'header' => 'Content-type:application/x-www-form-urlencoded',
        'content' => $postdata,
        'timeout' => 15 * 60 // 超时时间(单位:s)
      )
    );
    $context = stream_context_create($options);
    $result = file_get_contents($url, false, $context);
    return $result;
  }

2、生成二维码:

$path="pages/index?query=1";
    $width=430;
    $post_data='{"path":"'.$path.'","width":'.$width.'}';
    $url="https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=".$access_token;
    $result=$this->api_notice_increment($url,$post_data);

api_notice_increment:

function api_notice_increment($url, $data){
    $ch = curl_init();
    $header = "Accept-Charset: utf-8";
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $tmpInfo = curl_exec($ch);
    //     var_dump($tmpInfo);
    //    exit;
    if (curl_errno($ch)) {
      return false;
    }else{
      // var_dump($tmpInfo);
      return $tmpInfo;
    }
  }

3、根据返回的二进制数据生成图片并上传到自己的服务器

主要代码:

file_put_contents($filepath, $result)

上传服务部分代码,不贴了!感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
js购物车实现思路及代码(个人感觉不错)
Dec 23 Javascript
js中使用replace方法完成某个字符的转换
Aug 20 Javascript
全面解析Bootstrap图片轮播效果
Dec 03 Javascript
jquery属性,遍历,HTML操作方法详解
Sep 17 Javascript
微信小程序 教程之WXML
Oct 18 Javascript
AngularJS全局警告框实现方法示例
May 18 Javascript
jQuery滚动插件scrollable.js用法分析
May 25 jQuery
js CSS3实现卡牌旋转切换效果
Jul 04 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
May 16 Javascript
Angular PWA使用的Demo示例
Jan 31 Javascript
用node撸一个监测复联4开售短信提醒的实现代码
Apr 10 Javascript
Javascript新手入门之字符串拼接与变量的应用
Dec 03 Javascript
vue-resource 拦截器使用详解
Feb 21 #Javascript
微信小程序 template模板详解及实例
Feb 21 #Javascript
Bootstrap 3 按钮标签实例代码
Feb 21 #Javascript
Angular实现购物车计算示例代码
Feb 21 #Javascript
原生js实现倒计时--2018
Feb 21 #Javascript
vue-router:嵌套路由的使用方法
Feb 21 #Javascript
JavaScript中创建对象的7种模式详解
Feb 21 #Javascript
You might like
PHP引用符&的用法详细解析
2013/08/22 PHP
PHP实现数组递归转义的方法
2014/08/28 PHP
php命令行用法入门实例教程
2014/10/27 PHP
php中删除数组的第一个元素和最后一个元素的函数
2015/03/07 PHP
Laravel 创建可以传递参数 Console服务的例子
2019/10/14 PHP
JavaScript 工具库 Cloudgamer JavaScript Library v0.1 发布
2009/10/29 Javascript
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
javascript (用setTimeout而非setInterval)
2011/12/28 Javascript
Javascript浅谈之this
2013/12/17 Javascript
js实现顶部可折叠的菜单工具栏效果实例
2015/05/09 Javascript
JS实现双击编辑可修改状态的方法
2015/08/14 Javascript
Ionic项目中Native Camera的使用方法
2017/06/07 Javascript
echart简介_动力节点Java学院整理
2017/08/11 Javascript
详解用JS添加和删除class类名
2019/03/25 Javascript
详解Vue之计算属性
2020/06/20 Javascript
Vue2.x和Vue3.x的双向绑定原理详解
2020/11/05 Javascript
[04:03]DOTA2肉山黑名单梦之声 风暴之灵中文配音鉴赏
2013/07/03 DOTA
[02:27]2014DOTA2国际邀请赛 VG赛后采访:更大的挑战在等着我们
2014/07/13 DOTA
[13:38]2015国际邀请赛中国战队出征仪式
2015/05/29 DOTA
[42:50]NB vs VP 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[05:46]2018完美盛典-《同梦共竞》
2018/12/17 DOTA
python基于隐马尔可夫模型实现中文拼音输入
2016/04/01 Python
tensorflow TFRecords文件的生成和读取的方法
2018/02/06 Python
解决python3读取Python2存储的pickle文件问题
2018/10/25 Python
python多进程并行代码实例
2019/09/30 Python
Django admin禁用编辑链接和添加删除操作详解
2019/11/15 Python
使用OpenCV-python3实现滑动条更新图像的Canny边缘检测功能
2019/12/12 Python
python 实现按对象传值
2019/12/26 Python
python 非线性规划方式(scipy.optimize.minimize)
2020/02/11 Python
Python 如何创建一个简单的REST接口
2020/07/30 Python
希尔顿酒店官方网站:Hilton Hotels
2017/06/01 全球购物
研发工程师岗位职责
2014/04/28 职场文书
党员民主评议自我评价
2014/10/20 职场文书
《家世》读后感:看家训的力量
2019/12/30 职场文书
上帝为你开了一扇窗之Tkinter常用函数详解
2021/06/02 Python
MySQL图形化管理工具Navicat安装步骤
2021/12/04 MySQL