本文档从服务端讲起,开发语言为php

获取小程序码,适用于需要的码数量极多的业务场景。通过该接口生成的小程序码,永久有效,数量暂无限制。 更多用法详见 获取二维码。

HTTPS 调用

请求地址

POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN

请求参数

属性 类型 默认值 必填 说明
access_token / cloudbase_access_token string 接口调用凭证
scene string 最大32个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~,其它字符请自行编码为合法字符(因不支持%,中文无法使用 urlencode 处理,请使用其他编码方式)
page string 主页 页面 page,例如 pages/index/index,根路径前不要填加 /,不能携带参数(参数请放在scene字段里),如果不填写这个字段,默认跳主页面
check_path boolean true 检查 page 是否存在,为 true 时 page 必须是已经发布的小程序存在的页面(否则报错);为 false 时允许小程序未发布或者 page 不存在, 但 page 有数量上限(60000个)请勿滥用
env_version string "release" 要打开的小程序版本。正式版为 release,体验版为 trial,开发版为 develop
width number 430 二维码的宽度,单位 px,最小 280px,最大 1280px
auto_color boolean false 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调,默认 false
line_color Object {"r":0,"g":0,"b":0} auto_color 为 false 时生效,使用 rgb 设置颜色 例如 {"r":"xxx","g":"xxx","b":"xxx"} 十进制表示
is_hyaline boolean false 是否需要透明底色,为 true 时,生成透明底色的小程序

返回值

Buffer

返回的图片 Buffer

异常返回

Object

JSON

属性 类型 说明
errcode number 错误码
errmsg string 错误信息

注意这里--返回值说明

如果调用成功,会直接返回图片二进制内容,如果请求失败,会返回 JSON 格式的数据。如果你没有获取到二进制的base64二维码图片信息,说明接口出错了,请从access_token 或者 参数方面检查。

下面列举具体代码

//配置APPID、APPSECRET
$APPID = $res['key']; 
$APPSECRET =  $res['secret'];
$userId    =  $_GET['userId']; 
//获取access_token
$access_token = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$APPID}&secret={$APPSECRET}";

//缓存access_token
 session_start();
 $_SESSION['access_token'] = "";
 $_SESSION['expires_in'] = 0;

$ACCESS_TOKEN = "";
 if(!isset($_SESSION['access_token']) || (isset($_SESSION['expires_in']) && time() > $_SESSION['expires_in']))
 {

$json = httpRequest( $access_token );
     $json = json_decode($json,true); 
     $_SESSION['access_token'] = $json['access_token'];
     $_SESSION['expires_in'] = time()+7200;
     $ACCESS_TOKEN = $json["access_token"]; 
 } 
 else{

$ACCESS_TOKEN =  $_SESSION["access_token"]; 
 }

//构建请求二维码参数
//path是扫描二维码跳转的小程序路径,可以带参数?id=xxx
//width是二维码宽度
$qcode ="https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token={$ACCESS_TOKEN}";
$param = json_encode(array("scene"=>"user_id={$userId}","page"=>"pages/home_index/index","check_path"=>false,"env_version"=>"release","width"=> 150,"is_hyaline"=>true));

//POST参数
$result = httpRequest( $qcode, $param,"POST");
//生成二维码
// file_put_contents("qrcode.png", $result);
$base64_image ="data:image/jpeg;base64,".base64_encode( $result );
$this->result(0, '成功', ['qrcode'=>$base64_image,'wxName'=>$SystemSet['wxName']]);
//把请求发送到微信服务器换取二维码
  function httpRequest($url, $data='', $method='GET'){
    $curl = curl_init();  
    curl_setopt($curl, CURLOPT_URL, $url);  
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);  
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);  
    curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);  
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);  
    curl_setopt($curl, CURLOPT_AUTOREFERER, 1);  
    if($method=='POST')
    {
        curl_setopt($curl, CURLOPT_POST, 1); 
        if ($data != '')
        {
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);  
        }
    }

curl_setopt($curl, CURLOPT_TIMEOUT, 30);  
    curl_setopt($curl, CURLOPT_HEADER, 0);  
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);  
    $result = curl_exec($curl);  
    curl_close($curl);  
    return $result;
  }

扫码看下效果你就知道了,也可自定义小程序跳转地址,小程序内提供获取到参数后如何解析获取二维码中的参数

PHP生成微信小程序带参数的二维码,可生成带参数二维码相关推荐

  1. 生成微信小程序二维码(携带参数跳转指定页面)

    需求:生成微信小程序二维码并携带参数,扫码跳转指定页面 获取WxMaService对象 WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl ...

  2. C#生成微信小程序文章二维码

    /// <summary>/// 获取access_token/// </summary>/// <returns></returns>[HttpGet ...

  3. Java生成微信小程序二维码,5种实现方式,一个比一个简单

    文章目录 前言 先看官网 一.JDK自带的URLConnection方式 二.Apache的HttpClient方式 三.okhttp3方式 四.Unirest方式 五.RestTemplate方式 ...

  4. Java生成微信小程序二维码

    Java生成微信小程序二维码 import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.Byt ...

  5. 【java】Java生成微信小程序二维码

    文章目录 前言 应用场景 微信小程序官网 1.RestTemplate方式 核心代码 getAccessToken 2. Unirest方式 Maven依赖 核心代码 3. okhttp3方式 Mav ...

  6. 微信小游戏开发入门(二)-用CocosCreator官方Demo生成微信小游戏

    微信已经放出小游戏的开发工具包,虽然功能尚未完善,但已经可以开发调试了.我们使用CocosCreator官方的polished_project例子来讲解如何生成微信小游戏. 1.下载polished_ ...

  7. 微信小程序连接阿里云物联网平台操控设备(IOT)二

    文章导航: 微信小程序连接阿里云物联网平台操控设备(IOT)一 设备上云 微信小程序连接阿里云物联网平台操控设备(IOT)二 微信小程序开发(一) 微信小程序连接阿里云物联网平台操控设备(IOT)三 ...

  8. 开发微信小程序,就是这么简单!可自动生成微信小程序源代码,配套JS SDK、接口和后台

    开发微信小程序,就是这么简单!自己动手,丰衣足食! 开发微信小程序有多简单?
 你只需要掌握前端开发,就可以轻松开发自己的微信小程序,实现自己的业务功能.借助果创云,无须域名.无须服务器.无须数据库, ...

  9. (已更新)趣味制作生成微信小程序源码下载-安装简单方便

    这是一个diy类型的制作生成小程序源码 里面有多种素材生成,可以用来娱乐吧! 比如有的类型如:退出酒场告知书,喝酒认怂书,等等 小程序安装的话还是挺方便的,特别适合新手 PS:里面的二维码的话小编替换 ...

最新文章

  1. (转)动态SQL和PL/SQL的EXECUTE IMMEDIATE选项
  2. Ubuntu ADSL 拨号上网时断时续问题
  3. 【数据库】MongoDB数据库的操作及练习
  4. starting mysql. success!_启动mysql报错解决问题过程
  5. ajax 异步插入图片到数据库(多图上传)
  6. webpack devserver配置_在webpack中使用babel
  7. 音视频开发(37)---麦克风阵列语音增强(二)
  8. 安卓app可以用python写吗_安卓app可以用python写吗
  9. IBM核心软件如何应对“互联网+”的技术挑战
  10. Java基础编程机试题
  11. 七号信令:信令网基本概念
  12. 推荐一款待办事项和日程管理的微信小程序——腾讯待办
  13. java word excel_java读取WORD/EXCEL模板转换生成新WORD/EXCEL文档
  14. 山东教师教育网-山东教育志愿者服务网
  15. 做到这一点,帮你每年多赚10万!
  16. 短期工作经历到底要不要写到简历上?
  17. 局部(x,y)坐标 转 WGS84经纬度坐标
  18. 数据分析师需要考试或考证吗?
  19. Android使用七牛实现录像加时间水印和拍照(截帧回调)
  20. 计算机无法识别平板电脑,平板电脑连接电脑没反应怎么办【图解】

热门文章

  1. O2耳放 DIY 模拟放大
  2. fix: brew: Permission denied @ apply2files - /usr/local/lib/node_modules/webpack/es/ters-brow
  3. 你是不是傻,怎么不选最好的?
  4. mysql必知必会读书笔记就——联结表、高级联结
  5. 2016年的不正式总结
  6. 阿里云 SDK 动态IP域名解析
  7. 发生系统错误1067
  8. iOS获取App ipa包以及资源文件-----本人亲自测试可用!!!
  9. ola2672978400 oj最短路径
  10. android微信支付毁掉,android微信支付 需要注意的坑