第五期:如何經過知曉雲生成帶參數二維碼

做者:知曉雲 - 小程序開發快人一步
來源:知曉課堂json

許多小程序開發者,都須要獲取進入小程序不一樣頁面的二維碼:包括常見的四方形「QR 碼」和微信推出的「小程序碼」。小程序

這時候,咱們直接在小程序後臺中獲取到的二維碼,就遠遠沒法知足咱們以上需求了。貼心的是,微信提供了「獲取小程序二維碼」的接口segmentfault

經過這個接口,商家和開發者可以製做進入不一樣頁面的小程序二維碼,而不會限定掃碼進入小程序主頁微信小程序

下面,咱們就以某遊戲資料庫小程序的英雄詳情頁爲例,展現這個接口的使用方法。api

準備工做

首先,咱們須要確保在小程序的app.json代碼中,已經註冊了相應的頁面服務器

在本例的設定中,咱們就須要在pages裏,將pages/detail/hero/hero這個頁面註冊進去。微信

固然,相應目錄下也須要有相應的頁面文件,且你的小程序已經有已發佈的線上版本。不然,用戶掃碼後,微信會提示出錯。app

接下來,咱們須要到微信小程序後臺,獲取小程序的 AppSecret(若是已經獲取,這一步能夠跳過)。spa

進入小程序後臺,點擊左側「設置」,找到「開發設置」,咱們就能找到 AppSecret 一項。點擊「獲取」或「重置」,掃碼以後,網頁就會顯示新的 AppSecret。須要注意的是,若是你以前生成過新的 AppSecret,那麼舊的 AppSecret 會隨這個操做而失效。3d

開發者也須要記得妥善保管 AppSecret,儘量保證 AppSecret 不會丟失、泄漏。

獲取二維碼

有了小程序的 AppID 和 AppSecret,咱們就能利用服務器,獲取小程序的二維碼了。在本例,咱們經過模擬請求的方式,讓你們瞭解這個接口的使用方法和原理。

首先,咱們要利用 AppID 和 AppSecret,獲取 Access Token

這一步,咱們請求的地址是https://api.weixin.qq.com/cgi-bin/token,你須要使用GET方法,傳遞你的 AppID 和 AppSecret。

從結果中,咱們能夠得知:執行這個操做後,微信會給你返回一個 JSON 數據包。解析這個數據包,咱們就能夠得到 Access Token。

有了 Access Token,咱們就能夠獲取不一樣的小程序二維碼了。

微信提供了兩個POST 獲取小程序二維碼的接口。你能夠根據你的業務需求,自由選擇任一接口,獲取相應的小程序二維碼(GET參數中的ACCESS_TOKEN部分填入上一步咱們獲取到的 Access Token)。

  • 獲取「小程序碼」,可使用這個接口:

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

  • 想要經典的「小程序二維碼」,可使用這個接口:

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

POST請求體中,須要包含小程序的頁面地址,以及傳入小程序的參數。記住,這個頁面必需要在小程序裏的app.json進行註冊。

本例中,JSON 請求體以下:

發送請求後,微信會直接返回一張製做好的「小程序碼」。

如今,長按上圖掃一掃,看看是否是到了指定頁面了?

注意事項

除了咱們文中舉例的接口,微信還開放了另外一個與二維碼相關的接口,即 wxacodeunlimit 來獲取小程序碼。(數量不限;但沒法攜帶參數)

微信將經過「獲取小程序二維碼」接口獲取的二維碼的數量限定在十萬個,而且彷佛並無「註銷之前生成的二維碼」的功能和機制。

因此,若是你有很是大量的小程序二維碼生成需求,建議使用普通連接小程序的方式生成小程序碼。若是須要使用微信提供的二維碼生成接口生成帶參數的小程序碼,也要注意不要超過限額。

更便捷的方式

知曉雲 JS SDK 將上面的實現過程進行了封裝,一個接口就能夠實現上文提到的三種獲取方式(知曉雲還會幫你存儲管理 Access Token)。該接口爲:

wx.BaaS.getWXACode(type, params)

接口中 type 的三種類型

  • wxacode :獲取小程序碼,適用於須要的碼數量較少的場景,生成的碼永久有效,數量有限
  • wxacodeunlimit:獲取小程序碼,適用於須要的碼數量極多的業務場景,生成的碼永久有效,數量暫無限制
  • xaqrcode:獲取小程序二維碼,該接口生成的碼永久有效,數量有限
    params 對應了微信獲取二維碼的參數,詳情請查閱知曉雲 SDK 文檔

注意,該接口不須要再傳入 Access Token,但在調用前須要提早確保:

  • 在知曉雲「設置」->SDK 頁面中開啓了 SDK 生成小程序碼的權限
  • 知曉雲「設置」->小程序頁面中已經配置好了 AppID 和 AppSecret

PS:知曉雲後臺自帶二維碼生成功能,無需開發也能快速獲取進入小程序不一樣頁面的二維碼。

image.png

相關閱讀

第一期:快速實現圖片爬蟲
第二期:快速生成分享海報
第三期:處理微信卡券消息
第四期:自動回覆客服消息

關注「知曉雲」公衆號,點擊菜單欄「知曉雲」-「知曉課堂」,獲取更多開發教程。

相關文章
相關標籤/搜索