微信小程序 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 相关文章推荐
求解开jscript.encode代码的asp函数
Feb 28 Javascript
最好用的省市二级联动 原生js实现你值得拥有
Sep 22 Javascript
jquery ajax属性async(同步异步)示例
Nov 05 Javascript
教你如何在 Javascript 文件里使用 .Net MVC Razor 语法
Jul 23 Javascript
详解addEventListener的三个参数之useCapture
Mar 16 Javascript
JavaScript中的toLocaleDateString()方法使用简介
Jun 12 Javascript
jquery实现简单合拢与展开网页面板的方法
Sep 01 Javascript
使用jquery动态加载Js文件和Css文件
Oct 24 Javascript
继续学习javascript闭包
Dec 03 Javascript
如何用js实现鼠标向上滚动时浮动导航
Jul 18 Javascript
JQ选择器_选择同类元素的第N个子元素的实现方法
Sep 08 Javascript
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
Dec 01 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
php实例分享之通过递归实现删除目录下的所有文件详解
2014/05/15 PHP
PHP语法自动检查的Vim插件
2014/08/11 PHP
CI框架安全类Security.php源码分析
2014/11/04 PHP
Laravel中使用阿里云OSS Composer包分享
2015/02/10 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
Laravel 队列使用的实现
2019/01/08 PHP
浅谈Javascript鼠标和滚轮事件
2012/06/27 Javascript
nodejs中exports与module.exports的区别详细介绍
2013/01/14 NodeJs
nodejs分页类代码分享
2014/06/17 NodeJs
jQuery 实现倒计时天,时,分,秒功能
2018/07/31 jQuery
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
基于vue如何发布一个npm包的方法步骤
2019/05/15 Javascript
[56:18]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第二局
2016/03/05 DOTA
Python linecache.getline()读取文件中特定一行的脚本
2008/09/06 Python
Python类的专用方法实例分析
2015/01/09 Python
python简单的函数定义和用法实例
2015/05/07 Python
Python中的with...as用法介绍
2015/05/28 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
2018/10/26 Python
浅谈python实现Google翻译PDF,解决换行的问题
2018/11/28 Python
Python面向对象之继承原理与用法案例分析
2019/12/31 Python
3种python调用其他脚本的方法
2020/01/06 Python
对python中各个response的使用说明
2020/03/28 Python
Python 如何定义匿名或内联函数
2020/08/01 Python
python openCV实现摄像头获取人脸图片
2020/08/20 Python
Django日志及中间件模块应用案例
2020/09/10 Python
python 实现网易邮箱邮件阅读和删除的辅助小脚本
2021/03/01 Python
HTML5所有标签汇总及标签意义解释
2015/03/12 HTML / CSS
运动会开幕式邀请函
2014/01/22 职场文书
学生期末评语大全
2014/04/30 职场文书
房屋租赁授权委托书范本
2014/09/20 职场文书
2014年班长个人工作总结
2014/11/14 职场文书
2015年推普周活动总结
2015/03/27 职场文书
2016年“节能宣传周”活动总结
2016/04/05 职场文书
创业计划书之酒店
2019/08/30 职场文书
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
2021/07/07 SQL Server
使用python生成大量数据写入es数据库并查询操作(2)
2022/09/23 Python