微信小程序 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 相关文章推荐
非常好用的JsonToString 方法 简单实例
Jul 18 Javascript
jquery事件重复绑定的快速解决方法
Jan 03 Javascript
简单的js表格操作
Sep 24 Javascript
js实现的光标位置工具函数示例
Oct 03 Javascript
利用js将ajax获取到的后台数据动态加载至网页中的方法
Aug 08 Javascript
JavaScript ES6箭头函数使用指南
Dec 30 Javascript
vue使用混入定义全局变量、函数、筛选器的实例代码
Jul 29 Javascript
浅谈Webpack4 Tree Shaking 终极优化指南
Nov 18 Javascript
详解Nuxt.js 实战集锦
Nov 19 Javascript
JS函数进阶之继承用法实例分析
Jan 15 Javascript
javascript实现简单留言板案例
Feb 09 Javascript
MutationObserver在页面水印实现起到的作用详解
Jul 07 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
基于wordpress主题制作的具体实现步骤
2013/05/10 PHP
解析file_get_contents模仿浏览器头(user_agent)获取数据
2013/06/27 PHP
单点登录 Ucenter示例分析
2013/10/29 PHP
ThinkPHP3.1新特性之字段合法性检测详解
2014/06/19 PHP
64位windows系统下安装Memcache缓存
2015/12/06 PHP
简短几句jquery代码的实现一个图片向上滚动切换
2011/09/02 Javascript
jQuery实现购物车多物品数量的加减+总价计算
2014/06/06 Javascript
jquery图片切换插件
2015/03/16 Javascript
浅谈jquery的map()和each()方法
2016/06/12 Javascript
JS 全屏和退出全屏详解及实例代码
2016/11/07 Javascript
JS+HTML5实现上传图片预览效果完整实例【测试可用】
2017/04/20 Javascript
JavaScript 基础表单验证示例(纯Js实现)
2017/07/20 Javascript
JS时间控制实现动态效果的实例讲解
2017/07/31 Javascript
JavaScript实现图片切换效果
2017/08/12 Javascript
AngularJS实现的输入框字数限制提醒功能示例
2017/10/26 Javascript
Vue 中使用vue2-highcharts实现top功能的示例
2018/03/05 Javascript
vuejs 切换导航条高亮(路由菜单高亮)的方法示例
2018/05/29 Javascript
使用Nuxt.js改造已有项目的方法
2018/08/07 Javascript
Javascript三种字符串连接方式及性能比较
2019/05/28 Javascript
以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法
2015/03/30 Python
使用Python 统计高频字数的方法
2019/01/31 Python
python实现动态数组的示例代码
2019/07/15 Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
2019/08/12 Python
OpenCV Python实现拼图小游戏
2020/03/23 Python
pycharm 添加解释器的方法步骤
2020/08/31 Python
Python爬虫之Selenium实现键盘事件
2020/12/04 Python
使用python操作lmdb对数据读取的实例
2020/12/11 Python
python lambda的使用详解
2021/02/26 Python
Android笔试题总结
2014/11/29 面试题
冰淇淋开店创业计划书
2014/02/01 职场文书
公司活动方案范文
2014/03/06 职场文书
关于爱国的标语
2014/06/24 职场文书
退休欢送会主持词
2015/07/01 职场文书
会计岗位工作总结
2015/08/12 职场文书
Python数据结构之队列详解
2022/03/21 Python
vue项目打包后路由错误的解决方法
2022/04/13 Vue.js