微信小程序API獲取小程序頁面二維碼,小程序生成小程序碼
獲取二維碼
通過后臺接口可以獲取小程序任意頁面的二維碼,掃描該二維碼可以直接進入小程序對應的頁面。目前微信支持兩種二維碼,小程序碼(左),小程序二維碼(右),如下所示:
獲取小程序碼
我們推薦生成并使用小程序碼,它具有更好的辨識度。目前有兩個接口可以生成小程序碼,開發(fā)者可以根據(jù)自己的需要選擇合適的接口。
接口A: 適用于需要的碼數(shù)量較少的業(yè)務場景
接口地址:
https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN
獲取 access_token 詳見文檔
POST 參數(shù)說明
參數(shù) | 類型 | 默認值 | 說明 |
---|---|---|---|
path | String | 不能為空,最大長度 128 字節(jié) | |
width | Int | 430 | 二維碼的寬度 |
auto_color | Bool | false | 自動配置線條顏色,如果顏色依然是黑色,則說明不建議配置主色調 |
line_color | Object | {"r":"0","g":"0","b":"0"} | auth_color 為 false 時生效,使用 rgb 設置顏色 例如 {"r":"xxx","g":"xxx","b":"xxx"} |
注意:通過該接口生成的小程序碼,永久有效,數(shù)量限制見文末說明,請謹慎使用。用戶掃描該碼進入小程序后,將直接進入 path 對應的頁面。
接口B:適用于需要的碼數(shù)量極多,或僅臨時使用的業(yè)務場景
接口地址:
https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
獲取 access_token 詳見文檔
POST 參數(shù)說明
參數(shù) | 類型 | 默認值 | 說明 |
---|---|---|---|
scene | String | 最大32個可見字符,只支持數(shù)字,大小寫英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~,其它字符請自行編碼為合法字符(因不支持%,中文無法使用 urlencode 處理,請使用其他編碼方式) | |
page | String | 必須是已經(jīng)發(fā)布的小程序頁面,例如 "pages/index/index" ,如果不填寫這個字段,默認跳主頁面 | |
width | Int | 430 | 二維碼的寬度 |
auto_color | Bool | false | 自動配置線條顏色,如果顏色依然是黑色,則說明不建議配置主色調 |
line_color | Object | {"r":"0","g":"0","b":"0"} | auto_color 為 false 時生效,使用 rgb 設置顏色 例如 {"r":"xxx","g":"xxx","b":"xxx"} |
注意:通過該接口生成的小程序碼,永久有效,數(shù)量暫無限制。用戶掃描該碼進入小程序后,開發(fā)者需在對應頁面獲取的碼中 scene 字段的值,再做處理邏輯。使用如下代碼可以獲取到二維碼中的 scene 字段的值。調試階段可以使用開發(fā)工具的條件編譯自定義參數(shù) scene=xxxx 進行模擬,開發(fā)工具模擬時的 scene 的參數(shù)值需要進行 urlencode
// 這是首頁的 js
Page({
onLoad: function(options) {
// options 中的 scene 需要使用 decodeURIComponent 才能獲取到生成二維碼時傳入的 scene
var scene = decodeURIComponent(options.scene)
}
})
獲取小程序二維碼
接口C:適用于需要的碼數(shù)量較少的業(yè)務場景
接口地址:
https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN
獲取 access_token 詳見文檔
POST 參數(shù)說明
參數(shù) | 類型 | 默認值 | 說明 |
---|---|---|---|
path | String | 不能為空,最大長度 128 字節(jié) | |
width | Int | 430 | 二維碼的寬度 |
注意:通過該接口生成的小程序二維碼,永久有效,數(shù)量限制見文末說明,請謹慎使用。用戶掃描該碼進入小程序后,將直接進入 path 對應的頁面。
示例:
{"path": "pages/index?query=1", "width": 430}
注:pages/index 需要在app.json
的 pages
中定義
Bug & Tip
-
tip
:通過該接口,僅能生成已發(fā)布的小程序的二維碼。 -
tip
:可以在開發(fā)者工具預覽時生成開發(fā)版的帶參二維碼。 -
tip
:接口A加上接口C,總共生成的碼數(shù)量限制為100,000,請謹慎調用。 -
tip
: POST 參數(shù)需要轉成 json 字符串,不支持 form 表單提交。 -
tip
: auto_color line_color 參數(shù)僅對小程序碼生效。
更多微信小程序開發(fā)教程,可以關注hi小程序。
第二部分:如何開通一個小商店