微信小程序 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 相关文章推荐
8款非常棒的响应式jQuery 幻灯片插件推荐
Feb 02 Javascript
妙用Jquery的val()方法
Jun 27 Javascript
extjs 如何给column 加上提示
Jul 29 Javascript
jquery html动态添加的元素绑定事件详解
May 24 Javascript
详解Angular的双向数据绑定(MV-VM)
Dec 26 Javascript
vue2.0多条件搜索组件使用详解
Mar 26 Javascript
微信小程序 生命周期函数详解
May 24 Javascript
聊聊Vue.js的template编译的问题
Oct 09 Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
Feb 22 Javascript
浅谈vue方法内的方法使用this的问题
Sep 15 Javascript
vue中导出Excel表格的实现代码
Oct 18 Javascript
js控制随机数生成概率代码实例
Mar 21 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设计模式 php实现建造者模式
2015/12/07 PHP
微信封装的调用微信签名包的类库
2017/06/08 PHP
js实现的网站首页随机公告随机公告
2007/03/14 Javascript
js 浮动层菜单收藏
2009/01/16 Javascript
由点击页面其它地方隐藏div所想到的jQuery的delegate
2013/08/29 Javascript
javascript正则匹配汉字、数字、字母、下划线
2014/04/10 Javascript
使用Jquery获取带特殊符号的ID 标签的方法
2014/04/30 Javascript
js判断滚动条是否已到页面最底部或顶部实例
2014/11/20 Javascript
JavaScript和CSS交互的方法汇总
2014/12/02 Javascript
jQuery中DOM树操作之复制元素的方法
2015/01/23 Javascript
jQuery实现垂直半透明手风琴特效代码分享
2015/08/21 Javascript
javascript实现计时器的简单方法
2016/02/21 Javascript
基于bootstrap实现bootstrap中文网巨幕效果
2017/05/02 Javascript
jQuery插件imgAreaSelect基础讲解
2017/05/26 jQuery
小程序实现多选框功能
2018/10/30 Javascript
Vue press 支持图片放大功能的实例代码
2018/11/09 Javascript
jquery 时间戳转日期过程详解
2019/10/12 jQuery
详解Vue的组件中data选项为什么必须是函数
2020/08/17 Javascript
Javascript表单序列化原理及实现代码详解
2020/10/30 Javascript
python中文分词教程之前向最大正向匹配算法详解
2017/11/02 Python
python数据类型之间怎么转换技巧分享
2019/08/20 Python
python进度条显示-tqmd模块的实现示例
2020/08/23 Python
pycharm专业版远程登录服务器的详细教程
2020/09/15 Python
下面关于"联合"的题目的输出是什么
2013/08/06 面试题
应届大学生的推荐信
2013/11/20 职场文书
网站设计师的岗位职责
2013/11/21 职场文书
大学生的应聘自我评价
2013/12/13 职场文书
2014新生大学四年计划书
2014/09/21 职场文书
考察邀请函范文
2015/01/31 职场文书
大四学生个人总结
2015/02/15 职场文书
在职证明书模板
2015/06/15 职场文书
结婚司仪主持词
2015/06/29 职场文书
vue+springboot实现登录验证码
2021/05/27 Vue.js
实例详解Python的进程,线程和协程
2022/03/13 Python
vue使用wavesurfer.js解决音频可视化播放问题
2022/04/04 Vue.js
Mybatis 一级缓存和二级缓存原理区别
2022/09/23 Java/Android