# 获取小程序二维码

接口应在服务器端调用,详细说明参见服务端API

# 接口说明

# 接口英文名

createQRCode

# 功能描述

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

# 注意事项

  • 如果调用成功,会直接返回图片二进制内容,如果请求失败,会返回 JSON 格式的数据。
  • POST 参数需要转成 JSON 字符串,不支持 form 表单提交。
  • 接口只能生成已发布的小程序的二维码。开发版的带参二维码可以在开发者工具预览时生成。
  • wxacode.get 总共生成的码数量限制为 100,000,请谨慎调用。

# 调用方式

# HTTPS 调用


POST https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN 

# 第三方调用

  • 调用方式以及出入参和HTTPS相同,仅是调用的token不同

  • 该接口所属的权限集id为:17、58

  • 服务商获得其中之一权限集授权后,可通过使用authorizer_access_token代商家进行调用

# 请求参数

属性 类型 必填 说明
access_token string 接口调用凭证,该参数为 URL 参数,非 Body 参数。使用access_token或者authorizer_access_token
path string 扫码进入的小程序页面路径,最大长度 128 个字符,不能为空;对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar",即可在 wx.getLaunchOptionsSync 接口中的 query 参数获取到 {foo:"bar"}。scancode_time为系统保留参数,不允许配置。
width number 二维码的宽度,单位 px。最小 280px,最大 1280px;默认是430

# 返回参数

属性 类型 说明
buffer Buffer 图片 Buffer
errcode int 错误码
errmsg string 错误信息

# 调用示例

示例说明: HTTP调用示例(成功)

# 请求数据示例


{
 "path":"page/index/index",
 "width":430
} 

# 返回数据示例


图片 Buffer 

示例说明: HTTP调用示例(失败)

# 请求数据示例


{
 "path":"",
 "width":430
} 

# 返回数据示例


{
 "errcode":  40159,
 "errmsg": "invalid length for path  or thedata is not json string"
} 

示例说明: 云调用示例(成功)

# 请求数据示例


const cloud = require('wx-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV,
})
exports.main = async (event, context) => {
  try {
    const result = await cloud.openapi.wxacode.createQRCode({
        "path": 'page/index/index',
        "width": 430
      })
    return result
  } catch (err) {
    return err
  }
} 

# 返回数据示例


图片 Buffer 

# 错误码

错误码 错误描述 解决方案
-1 system error 系统繁忙,此时请开发者稍候再试
45029 qrcode count out of limit 生成码个数总和到达最大个数限制
40159 invalid length for path, or the data is not json string path 不能为空,且长度不能大于 128 字节
85096 page or path not allow include scancode_time field scancode_time为系统保留参数,不允许配置