用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,登录网站

小程序社区 首页 教程 实战教程 查看内容

小程序生成带参数二维码(PHP)

天下雪 2017-2-18 00:00

官方获取小程序页面API 由于小程序参数二维码API提供的帮助有限,以下是我对该功能的一些理解 我主要是通过thinkphp后台接口实现,代码如下: 1、先获取ACCESS_TOKEN: 纯文本查看 复制代码$tokenUrl=https: ...

官方获取小程序页面API 
QQ图片20170217192918.png

由于小程序参数二维码API提供的帮助有限,以下是我对该功能的一些理解

我主要是通过thinkphp后台接口实现,代码如下: 
1、先获取ACCESS_TOKEN:

  1. $tokenUrl="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appid."&secret=".$this->secret;
  2. $getArr=array();
  3. $tokenArr=json_decode($this->send_post($tokenUrl,$getArr,"GET"));
  4. $access_token=$tokenArr->access_token;

send_post:

  1. function send_post($url, $post_data,$method='POST') {
  2. $postdata = http_build_query($post_data);
  3. $options = array(
  4. 'http' => array(
  5. 'method' => $method, //or GET
  6. 'header' => 'Content-type:application/x-www-form-urlencoded',
  7. 'content' => $postdata,
  8. 'timeout' => 15 * 60 // 超时时间(单位:s)
  9. )
  10. );
  11. $context = stream_context_create($options);
  12. $result = file_get_contents($url, false, $context);
  13. return $result;
  14. }

2、生成二维码:

  1. $path="pages/index?query=1";
  2. $width=430;
  3. $post_data='{"path":"'.$path.'","width":'.$width.'}';
  4. $url="https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=".$access_token;
  5. $result=$this->api_notice_increment($url,$post_data);

api_notice_increment:

  1. function api_notice_increment($url, $data){
  2. $ch = curl_init();
  3. $header = "Accept-Charset: utf-8";
  4. curl_setopt($ch, CURLOPT_URL, $url);
  5. curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
  6. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  7. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  8. curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
  9. curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
  10. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  11. curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
  12. curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  13. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  14. $tmpInfo = curl_exec($ch);
  15. // var_dump($tmpInfo);
  16. // exit;
  17. if (curl_errno($ch)) {
  18. return false;
  19. }else{
  20. // var_dump($tmpInfo);
  21. return $tmpInfo;
  22. }
  23. }

3、根据返回的二进制数据生成图片并上传到自己的服务器

主要代码:

  1. file_put_contents($filepath, $result)

我的是上传到阿里云服务器、就不贴上传部分的代码了

鲜花
鲜花
鸡蛋
鸡蛋
分享至 : QQ空间
收藏
原作者: 空白后的寂静

相关阅读

  • 天下雪 2017-2-17 19:42
    已加入二维码豪华午餐
  • 287637915 2017-2-17 20:41
    二维码是小程序的大姨妈,先maker下,刚好要做这个,回头向空白版主好好学习下
  • 村口 2017-3-3 10:57
    二维码早晚得做,只等公司产品上线,。
  • 天下雪 2017-3-3 11:04
    村口 发表于 2017-3-3 10:57
    二维码早晚得做,只等公司产品上线,。

    二维码还可以用于自己产品内部,简历类小程序内有这样一个功能,可以参考一下:

    1:上传简历
    2:生成属于自己的二维码

    这个就算是带参二维码的真实应用了吧   
  • 天下钞票 2017-3-22 14:43
    标记,今天中午对着图片手打了 post的那个函数,结果刚搞完,在这里发现了这个函数。。。晕,之前竟然没搜到。
  • 织天使 2017-3-28 15:56
    天下雪: 二维码还可以用于自己产品内部,简历类小程序内有这样一个功能,可以参考一下:1:上传简历2:生成属于自己的二维码这个就算是带参二维码的真实应用了 ...


    简历类小程序??刚好在看这块的内容,本站内有这个DEMO可以学习吗?
    在哪里可以看吗?

查看全部评论>>

推荐阅读

    最新Demo