微信小程序 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 相关文章推荐
img的onload的另类用法
Jan 10 Javascript
认识延迟时间为0的setTimeout
May 16 Javascript
jquery 事件冒泡的介绍以及如何阻止事件冒泡
Dec 25 Javascript
JSON取值前判断
Dec 23 Javascript
Javascript基础_嵌入图像的简单实现
Jun 14 Javascript
Centos7 中 Node.js安装简单方法
Nov 02 Javascript
微信小程序商城项目之侧栏分类效果(1)
Apr 17 Javascript
Vue 2中ref属性的使用方法及注意事项
Jun 12 Javascript
jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
Oct 20 jQuery
在微信小程序里使用watch和computed的方法
Aug 02 Javascript
layui使用label标签的方法
Sep 14 Javascript
基于JS实现table导出Excel并保留样式
May 19 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
星际争霸任务指南——神族
2020/03/04 星际争霸
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
2013/02/14 PHP
php常用hash加密函数
2014/11/22 PHP
PHP中的print_r 与 var_dump 输出数组
2016/06/13 PHP
prototype Element学习笔记(Element篇三)
2008/10/26 Javascript
javascript Excel操作知识点
2009/04/24 Javascript
自制轻量级仿jQuery.boxy对话框插件代码
2010/10/26 Javascript
动态加载script文件的两种方法
2013/08/15 Javascript
javascript禁用键盘功能键让右击及其他键无效
2013/10/09 Javascript
使用jquery 简单实现下拉菜单
2015/01/14 Javascript
js针对ip地址、子网掩码、网关的逻辑性判断
2016/01/06 Javascript
JavaScript数据绑定实现一个简单的 MVVM 库
2016/04/08 Javascript
jQuery实现对无序列表的排序功能(附demo源码下载)
2016/06/25 Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
2016/07/18 Javascript
JS实现全屏的四种写法
2016/12/30 Javascript
vue 怎么创建组件及组件使用方法
2017/07/27 Javascript
JavaScript enum枚举类型定义及使用方法
2020/05/15 Javascript
Vue+Spring Boot简单用户登录(附Demo)
2020/11/12 Javascript
在Python中使用swapCase()方法转换大小写的教程
2015/05/20 Python
Python队列的定义与使用方法示例
2017/06/24 Python
Python命令行解析模块详解
2018/02/01 Python
Python3.6日志Logging模块简单用法示例
2018/06/14 Python
PyTorch读取Cifar数据集并显示图片的实例讲解
2018/07/27 Python
python 进程的几种创建方式详解
2019/08/29 Python
python matplotlib包图像配色方案分享
2020/03/14 Python
HTML5本地存储和本地数据库实例详解
2017/09/05 HTML / CSS
HTML5实现视频弹幕功能
2019/08/09 HTML / CSS
台湾生鲜宅配:大口市集
2017/10/14 全球购物
类成员函数的重载、覆盖和隐藏区别
2016/01/27 面试题
发展部经理职责规定
2014/02/22 职场文书
2014学雷锋活动心得体会
2014/03/10 职场文书
安全责任协议书
2014/04/21 职场文书
2014年客房部工作总结
2014/11/22 职场文书
辞职信标准格式
2015/02/27 职场文书
MySQL sql_mode修改不生效的原因及解决
2021/05/07 MySQL
Minikube搭建Kubernetes集群
2022/03/31 Servers