微信小程序 生成小程序碼


已經不想再吐槽微信小程序的文檔寫的多渣。這里記錄一下生成小程序碼的需要注意的事項,希望能給踩到坑的人一點借鑒。

 

微信提供三個接口去獲取二碼,這是官方文檔地址

接口A和接口B都是獲取小程序碼(花朵狀的那種),這倆接口的區別是碼的生成個數。A的上限是10萬張,B不受限制。接口C生成的是二維碼(正方形的樣子) 也是上限10萬張。

 

這里我采用了接口B,先說一下實現的步驟:

1.獲取appId和secret的值:appId可以去開發者工具的詳情里面看,或者去配置文件里面里看。secret就是小程序密鑰建項目的時候可以看到。

2.獲取小程序 access_tokenGet請求 https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=appId&secret=secret, 獲取access_token。其中grant_type的值固定是client_credential。

3.獲取小程序碼的二進制流圖片:用Post請求https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=access_token,傳入page路由地址和sence頁面參數獲取圖片的二進制流。

看起來2個請求就輕松搞定了,所以產品經理問起時,我信心滿滿的告訴他很快搞定。然后呵呵了....

 

碰到的問題有以下幾點:

1.文檔對sance描述的不是很清楚,讓人誤以為onload里面自帶sance值。但其實剛開始這個值是不存在的需要自己去定義,值是獲取頁面數據的參數,只有用戶通過掃小程序碼進到頁面的時候onload里面才會出現sance值。

2.sance值有大小和格式限制,只支持32個字符、數字、大小寫英文以及部分特殊字符。比如當你需要傳頁面的id和其他參數,而頁面的id是通過UUID生成的(UUID是由一組32位數的16進制數字所構成),那么只能尋求他法,把需要傳的值變成32個字符以下。我就是這種情況。

3.小程序發布后page才有效,在開發版上會報錯,所以想要看效果要先上線,好坑。上線前項目需要審核,要等一段時間。我發布的幾個版本都等了3個小時左右。體驗版沒試過。

4.前台得到的二進制流圖片無法解析,當順利過了1,2,3步時,就可以成功的拿到了二進制流的小程序碼。用wx的請求數據的方式卻無法解析出來,而且微信目前也不支持blob。所以最后還是找后台人員幫忙了。前台只傳sance和page值給后台,其他都后台做了。后台直接生成圖片過來。

 

問題到這就解決了。花了好長時間,我的加班記錄也是因為它破了。這里代碼就不貼了。回想一下會出現以上問題,很大原因還是文檔遺漏太多。

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM