微信小程序生成二維碼踩坑

微信小程序生成二維碼踩坑

1、寫在前頭的話,編寫時間爲2019年09月24日,在此時有效

  1. 由於從微信開放社區的說法來看,如今(201909)小程序菊花碼是沒有體驗版的,因此經過生成小程序碼生成的菊花碼是線上環境的,因此測試時手機識別這個二維碼進入的是線上的小程序,不方便測試; 現知道的婉轉的測試方法,最終仍是須要直接到線上環境測試:
  • 開發工具,編譯模式選擇經過二維碼編譯來測試這個生成的菊花碼
  • 開發工具,添加編譯模式,添加參數來調試,注意有的接口參數須要encodeURIComponent
  • 開發工具,添加編譯模式後,經過預覽或者真機調試生成帶時限的二維碼,掃這個二維碼進行測試
  1. 在微信公衆平臺後臺管理頁面,右上方,工具>生成小程序碼能夠生成指定路徑的小程序碼,不過如今的版本攜帶參數彷佛有坑,參考小程序後臺的"生成小程序碼"如何帶參數javascript

  2. 經過草料二維碼、芝麻二維碼等生成帶指定參數的二維碼,不過這些第三方應用須要受權或者小程序祕鑰等;html

  3. 小程序二維碼後端和前端都能生成,我這裏是前端生成的方法生成小程序碼,下邊的內容是採用第一種方法生成二維碼的一些介紹;前端

2、 使用生成小程序碼接口前準備

  1. 按照文檔而言,有三種接口生成二維碼,不復制文檔了,每一個接口均可以經過HTTPS調用雲調用來獲取小程序碼,我介紹的是經過HTTPS調用java

  2. 以上的三種方法,都是須要access_token參數來進行後臺請求的,好比:小程序

請求地址

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

  1. 生成access_token
  • access_token是變化的,因此須要經過接口調用憑證接口來獲取,這個接口請求是須要2個關鍵參數AppIdAppSecret
  1. 獲取AppIdAppSecret
  • AppId在小程序的管理後臺能夠看到,而AppSecret是隱藏的,並且不能輕易重置,重置會致使原前後臺使用這個AppSecret的全部地方都須要更改,而AppSecret通常後臺代碼會有寫的,因此能夠找後臺的同事要;
  1. 獲取AppIdAppSecret參數後,經過前端代碼內編寫http請求或者postMan等工具,請求如下地址,來獲取帶時效AppSecret

請求地址

GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET微信小程序

3、對獲取小程序碼的接口調用注意事項

  1. 由於生成的二維碼都是永久有效的,主要差異是請求接口生成二維碼數量是否限制,可是若是隻須要生成少許二維碼,用在其餘場景掃描識別二維碼進入小程序的話,三種接口均可以;
  2. 不一樣的接口調用不少坑的--.;
  3. 第二種方法建議參考js生成小程序某頁面二維碼(生成小程序二維碼),親測可用(就這樣貼文章,之後有時間再整理==。);
  4. 第二種方法是將參數放在scene內,因此獲取這個參數,是在onload時識別options.scene;
  5. 用上述連接方法生成後,在小程序的network內的preview可用看到二維碼,或者經過將圖片信息轉成base64格式後,在img標籤內添加引用;
success(res) {
        console.log(res)
        let src = wx.arrayBufferToBase64(res.data);  //對數據進行轉換操做
    }
複製代碼
<img src="data:image/png;base64,{{src}}"/>
複製代碼

經過上述方式,在網頁或者小程序上生成可用下載複製的二維碼圖片;api

相關文章
相關標籤/搜索