微信小程序 getUnlimited

2022-05-11 15:01 更新

wxacode.getUnlimited

本接口應在服務器端調(diào)用,詳細說明參見服務端API
本接口支持云調(diào)用。需開發(fā)者工具版本 >= 1.02.1904090(最新穩(wěn)定版下載
wx-server-sdk >= 0.4.0

獲取小程序碼,適用于需要的碼數(shù)量極多的業(yè)務場景。通過該接口生成的小程序碼,永久有效,數(shù)量暫無限制。 更多用法詳見 獲取二維碼。

調(diào)用方式:

  • HTTPS 調(diào)用
  • 云調(diào)用

HTTPS 調(diào)用

請求地址 

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

請求參數(shù)

屬性 類型 默認值 必填 說明
access_token string 接口調(diào)用憑證
scene string 最大32個可見字符,只支持數(shù)字,大小寫英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~,其它字符請自行編碼為合法字符(因不支持%,中文無法使用 urlencode 處理,請使用其他編碼方式)
page string 主頁 必須是已經(jīng)發(fā)布的小程序存在的頁面(否則報錯),例如 pages/index/index, 根路徑前不要填加 /,不能攜帶參數(shù)(參數(shù)請放在scene字段里),如果不填寫這個字段,默認跳主頁面
width number 430 二維碼的寬度,單位 px,最小 280px,最大 1280px
auto_color boolean false 自動配置線條顏色,如果顏色依然是黑色,則說明不建議配置主色調(diào),默認 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 的合法值

說明 最低版本
45009 調(diào)用分鐘頻率受限(目前5000次/分鐘,會調(diào)整),如需大量小程序碼,建議預生成。
41030 所傳page頁面不存在,或者小程序沒有發(fā)布

返回值說明

如果調(diào)用成功,會直接返回圖片二進制內(nèi)容,如果請求失敗,會返回 JSON 格式的數(shù)據(jù)。

注意

  • POST 參數(shù)需要轉(zhuǎn)成 JSON 字符串,不支持 form 表單提交。
  • 接口只能生成已發(fā)布的小程序的二維碼
  • 調(diào)用分鐘頻率受限(5000次/分鐘),如需大量小程序碼,建議預生成

獲取 scene 值

scene 字段的值會作為 query 參數(shù)傳遞給小程序/小游戲。用戶掃描該碼進入小程序/小游戲后,開發(fā)者可以獲取到二維碼中的 scene 值,再做處理邏輯。

調(diào)試階段可以使用開發(fā)工具的條件編譯自定義參數(shù) scene=xxxx 進行模擬,開發(fā)工具模擬時的 scene 的參數(shù)值需要進行 encodeURIComponent

小程序

Page({
  onLoad (query) {
    // scene 需要使用 decodeURIComponent 才能獲取到生成二維碼時傳入的 scene
    const scene = decodeURIComponent(query.scene)
  }
})

小游戲

// 在首次啟動時通過 wx.getLaunchOptionsSync 接口獲取
const {query} = wx.getLaunchOptionsSync()
const scene = decodeURIComponent(query.scene)

// 或者在 wx.onShow 事件中獲取
wx.onShow(function ({query}) {
  // scene 需要使用 decodeURIComponent 才能獲取到生成二維碼時傳入的 scene
  const scene = decodeURIComponent(query.scene)
})

示例

請求

{
 "scene": "a=1"
}

返回

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

云調(diào)用

云調(diào)用是小程序·云開發(fā)提供的在云函數(shù)中調(diào)用微信開放接口的能力,需要在云函數(shù)中通過 wx-server-sdk 使用。

接口方法

openapi.wxacode.getUnlimited
需在 config.json 中配置 wxacode.getUnlimited API 的權(quán)限,詳情

請求參數(shù)

屬性 類型 默認值 必填 說明
scene string 最大32個可見字符,只支持數(shù)字,大小寫英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~,其它字符請自行編碼為合法字符(因不支持%,中文無法使用 urlencode 處理,請使用其他編碼方式)
page string 主頁 必須是已經(jīng)發(fā)布的小程序存在的頁面(否則報錯),例如 pages/index/index, 根路徑前不要填加 /,不能攜帶參數(shù)(參數(shù)請放在scene字段里),如果不填寫這個字段,默認跳主頁面
width number 430 二維碼的寬度,單位 px,最小 280px,最大 1280px
autoColor boolean false 自動配置線條顏色,如果顏色依然是黑色,則說明不建議配置主色調(diào),默認 false
lineColor Object {"r":0,"g":0,"b":0} auto_color 為 false 時生效,使用 rgb 設置顏色 例如 {"r":"xxx","g":"xxx","b":"xxx"} 十進制表示
isHyaline boolean false 是否需要透明底色,為 true 時,生成透明底色的小程序

返回值

Object

包含二進制數(shù)據(jù)及其數(shù)據(jù)類型的對象

屬性 類型 說明
contentType String 數(shù)據(jù)類型 (MIME Type)
buffer Buffer 數(shù)據(jù) 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.getUnlimited({
        scene: 'a=1'
      })
    return result
  } catch (err) {
    return err
  }
}

返回

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


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號