? ? 生成可帶參數(shù)小程序二維碼前后端都可以實現(xiàn)艘绍,但是最好還是由后端來生成傳遞給前端這邊我是前端的主要介紹前端生成的方法,攜帶的參數(shù)scene 有長度限制 但是足夠滿足正常分享的需求了驾茴,官方文檔都有說明,不是特別的難。
? ? 首先獲取access_token 是開發(fā)小程序后端的必要參數(shù)恒傻,同樣前端也是通過請求官方提供的接口來獲取淑际,取得token就很簡單了畏纲,直接調(diào)用官方的接口,獲取帶參數(shù)的小程序二維碼(注意返回的格式 由于是前端處理的會有格式問題 如果是后端的話? 就可以直接存儲數(shù)據(jù)庫) 前端及轉(zhuǎn)換格式 image 承接顯示圖片? ?
要在有權(quán)限的小程序開發(fā)者里面測試
獲取????access_token
/** * 獲取access_token * * @paramappid * @paramappsecret * @return*/
官方文檔?獲取 access_token
wx.request({
? ? ? url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx9743427e009a5d0&secret=decff2504655b08ec20260e3699039c',
? ? ? method: 'get',
? ? ? success: function (res) {
? ? ? ? console.log(res)
? ? ? }
? ? })
拿到access_token 獲取 小程序二維碼 (原數(shù)據(jù)為二進制圖片)請求方法設置返回格式 為arraybuffer?
官方文檔?獲取小程序二維碼
let data = {
? ? ? scene: '123456',要傳遞的參數(shù) 最高32位
? ? ? page: 'pages/hotinfo/hotinfo',掃碼進入的小程序頁面
? ? }
wx.request({
? ? ? url: 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=31_92uKEw2joJRdBP75gViNwBwZu-LGZ4-99EwkjpOy-iT3yW4B4Q7e_iscapbVQ3uIBoJXdo5sv0IJVyz8e6XfxAZHAbmmSFi8W1Fhu-OTSNJBQ57_h0aOlfjUIxChman-gaxZy_XOQVgdwpJ8DTRaAFAJZX',
? ? ? method: 'post',
? ? ? data:data,
? ? ? // dataType: 'json',
? ? ? responseType: 'arraybuffer',? ? ? ? ?//將返回數(shù)據(jù) 按文本解析修改為arraybuffer
? ? ? success: function (res) {
? ? ? ? console.log()
? ? ? ? self.setData({
? ? ? ? ?? //再arraybuffer轉(zhuǎn)為base64? 顯示圖片
? ? ? ? ? url: 'data:image/png;base64,'+wx.arrayBufferToBase64(res.data)
? ? ? ? })
? ? ? }
? ? })