微信小程序 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 相关文章推荐
Javascript对象属性方法汇总
Nov 21 Javascript
浅析jQuery(function(){})与(function(){})(jQuery)之间的区别
Jan 09 Javascript
浅谈nodeName,nodeValue,nodeType,typeof 的区别
Jan 13 Javascript
jQuery实现可高亮显示的二级CSS菜单效果
Sep 01 Javascript
三分钟带你玩转jQuery.noConflict()
Feb 15 Javascript
AngularJS使用自定义指令替代ng-repeat的方法
Sep 17 Javascript
vue自定义指令实现v-tap插件
Nov 03 Javascript
浅谈layer的Icon样式以及一些常用的layer窗口使用方法
Sep 11 Javascript
详解Node.JS模块 process
Aug 31 Javascript
在vue项目中封装echarts的步骤
Dec 25 Vue.js
详解vite2.0配置学习(typescript版本)
Feb 25 Javascript
vue3使用vue-router的完整步骤记录
Jun 20 Vue.js
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
实用函数8
2007/11/08 PHP
PHP获取youku视频真实flv文件地址的方法
2014/12/23 PHP
PHP经典实用正则表达式小结
2017/05/04 PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
2017/08/11 PHP
PHP关于foreach复制知识点总结
2019/01/28 PHP
PHP PDOStatement::setFetchMode讲解
2019/02/03 PHP
js查找父节点的简单方法
2008/06/28 Javascript
基于JQuery的多标签实现代码
2012/09/19 Javascript
[JSF]使用DataModel处理表行事件的实例代码
2013/08/05 Javascript
基于jQuery实现文本框缩放以及上下移动功能
2014/11/24 Javascript
jquery实现的树形目录实例
2015/06/26 Javascript
jQuery采用连缀写法实现的折叠菜单效果
2015/09/18 Javascript
angularJS Provider、factory、service详解及实例代码
2016/09/21 Javascript
jQuery File Upload文件上传插件使用详解
2016/12/06 Javascript
原生js实现手风琴功能(支持横纵向调用)
2017/01/13 Javascript
vue 插值 v-once,v-text, v-html详解
2018/01/19 Javascript
Node.js readline 逐行读取、写入文件内容的示例
2018/03/01 Javascript
spirngmvc js传递复杂json参数到controller的实例
2018/03/29 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
2018/07/02 Javascript
使用JavaScript保存文本文件到本地的两种方法
2019/01/22 Javascript
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
2019/06/26 Javascript
[00:27]DOTA2战队VP、Secret贺新春
2018/02/11 DOTA
Python用Bottle轻量级框架进行Web开发
2016/06/08 Python
python3编码问题汇总
2016/09/06 Python
解决Django模板无法使用perms变量问题的方法
2017/09/10 Python
Python读取mat文件,并保存为pickle格式的方法
2018/10/23 Python
python时间序列按频率生成日期的方法
2019/05/14 Python
python如何实现不可变字典inmutabledict
2020/01/08 Python
Python如何定义接口和抽象类
2020/07/28 Python
python的dict判断key是否存在的方法
2020/12/09 Python
印度排名第一的蛋糕、鲜花和礼品送货:Winni
2019/08/02 全球购物
个人查摆剖析材料
2014/02/04 职场文书
车队司机自我鉴定
2014/03/02 职场文书
个人社会实践自我鉴定
2014/03/24 职场文书
2014年幼儿园班级工作总结
2014/12/17 职场文书
标会主持词应该怎么写?
2019/08/15 职场文书