阅读(1544) (20)

微信小程序 get

2020-07-29 09:57:34 更新

wxacode.get

本接口应在服务器端调用,详细说明参见服务端API
本接口支持云调用。需开发者工具版本 >= 1.02.1904090(最新稳定版下载
wx-server-sdk >= 0.4.0

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

调用方式:

  • HTTPS 调用
  • 云调用

HTTPS 调用

请求地址

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

请求参数

属性 类型 默认值 必填 说明
access_token string 接口调用凭证
path string 扫码进入的小程序页面路径,最大长度 128 字节,不能为空;对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar",即可在 wx.getLaunchOptionsSync 接口中的 query 参数获取到 {foo:"bar"}
width number 430 二维码的宽度,单位 px。最小 280px,最大 1280px
auto_color boolean 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 错误信息

errcode 的合法值

说明 最低版本
45029 生成码个数总和到达最大个数限制

返回值说明

如果调用成功,会直接返回图片二进制内容,如果请求失败,会返回 JSON 格式的数据。

注意

  • POST 参数需要转成 JSON 字符串,不支持 form 表单提交。
  • 接口只能生成已发布的小程序的二维码
  • 与 wxacode.createQRCode 总共生成的码数量限制为 100,000,请谨慎调用。

示例

请求

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

返回

{
 "errcode": 0,
 "errmsg": "ok",
 "contentType": "image/jpeg",
 "buffer": Buffer
}

云调用

云调用是小程序·云开发提供的在云函数中调用微信开放接口的能力,需要在云函数中通过 wx-server-sdk 使用。

接口方法

openapi.wxacode.get
需在 config.json 中配置 wxacode.get API 的权限,详情

请求参数

属性 类型 默认值 必填 说明
path string 扫码进入的小程序页面路径,最大长度 128 字节,不能为空;对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar",即可在 wx.getLaunchOptionsSync 接口中的 query 参数获取到 {foo:"bar"}
width number 430 二维码的宽度,单位 px。最小 280px,最大 1280px
autoColor boolean false 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调
lineColor Object {"r":0,"g":0,"b":0} auto_color 为 false 时生效,使用 rgb 设置颜色 例如 {"r":"xxx","g":"xxx","b":"xxx"} 十进制表示
isHyaline boolean false 是否需要透明底色,为 true 时,生成透明底色的小程序码

返回值

Object

包含二进制数据及其数据类型的对象

属性 类型 说明
contentType String 数据类型 (MIME Type)
buffer Buffer 数据 Buffer

异常

Object

JSON

属性 类型 说明
errCode number 错误码
errMsg string 错误信息

errCode 的合法值

说明 最低版本

示例

请求

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

返回

{
 "errcode": 0,
 "errmsg": "ok",
 "contentType": "image/jpeg",
 "buffer": Buffer
}