1. 程式人生 > 程式設計 >微信小程式分享小程式碼的生成(帶引數)以及引數的獲取

微信小程式分享小程式碼的生成(帶引數)以及引數的獲取

1.小程式碼介紹

從微信小程式開發文件上我們可以瞭解到,目前微信支援兩種二維碼(左),小程式碼和小程式二維碼(右)。官方推薦使用小程式碼,因為小程式碼具有更好的辨識度。

微信小程式分享小程式碼的生成(帶引數)以及引數的獲取

官方提供生成小程式碼的兩種方式
一種適用於需要的碼的數量相對較少的業務場景:介面地址

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

access_token是公眾號的全域性唯一介面呼叫憑據。

獲取access_token方法詳見:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183

具體引數見圖(0-2)

微信小程式分享小程式碼的生成(帶引數)以及引數的獲取

另一中適用於使用數量極多的場景。介面地址:
https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN

具體引數見圖(0-3)

微信小程式分享小程式碼的生成(帶引數)以及引數的獲取

通過scene引數來給頁面新增引數

2.前端請求獲取小程式碼具體實現

因為第二中方法可生成的小程式碼極多,所以我們一般會使用這種方法來獲取小程式碼。
今天主要像大家介紹一下第二種方法。

一般我們主要常用的引數是:scene(如果需要頁面引數)、page和width。
page是頁面地址,例如:'pages/index'。pages前面不能有斜槓
scene是引數,為字串。比如要傳入一個使用者id=1234,要根據這個使用者id來給當前頁面返回不同的內容,那麼scene引數就可以寫成"1234",多個引數按一定規則分開,如&符號,第二個引數是recommendId=123則可以這樣寫"1234&123"。我們來開一下程式碼:

Page({
  data:{},getQrcode(){
   wx.request({
      url: "https://www....com/weixin/get-qrcode",//域名省略
      data: {
       page:"pages/index",scene:"1234&123",width:300
      },header: {
       'content-type': 'application/x-www-form-urlencoded'
      },method: 'POST',dataType: 'json',success: function(res){
       let qrcodeUrl=res.data;//伺服器小程式碼地址
      },fail: function(){},complete: options.complete || function(){}
    })
  }
})

解析:get-qrcode介面是自己小程式後端的介面,前端呼叫此介面,傳入相應引數,後臺通過引數請求小程式介面獲取到小程式碼存到自己服務上,返回小程式碼伺服器地址。

3.使用者掃碼進入後的邏輯

我們可以在onload生命週期中處理引數

onLoad:function(options){
 if(options.scene){
  let scene=decodeURIComponent(options.scene);
  //&是我們定義的引數連結方式
  let userId=scene.split("&")[0];
  let recommendId=scene.split('&')[1];
  //其他邏輯處理。。。。。
 }
}

到此這篇關於微信小程式分享小程式碼的生成(帶引數)以及引數的獲取的文章就介紹到這了,更多相關小程式碼的生成帶引數內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!