小程序動(dòng)態(tài)生成小程序碼(帶參數(shù))以及接收參數(shù)

前言

在小程序中,我們通過canvas繪制圖片并分享到朋友圈中,但是我們怎么才能在繪制的小程序碼上帶參數(shù)呢?如下圖:

動(dòng)態(tài)生成小程序碼.jpg

這里我們需要帶著參數(shù)去生成新的小程序碼(通過后臺(tái)接口可以獲取小程序任意頁面的小程序碼)

場景

官方提供了生成小程序碼的幾種方式:

生成小程序碼

page是頁面地址,例如:'pages/index/index'。pages前面不能有斜杠
scene是參數(shù),為字符串。比如要傳入id=33,那么scene參數(shù)就可以寫成"33",多個(gè)參數(shù)以&分開,如第二個(gè)參數(shù)是code=44,則是"33&44"。

Page({
  onLoad(options) {
    this.getCode();
  },
  getCode() { //獲取動(dòng)態(tài)小程序碼
    wx.request({
      url: 'url', //后端接口
      method: 'POST',
      dataType: 'json',
      data: {
        page: "pages/index/index",
        scene: "33&44"
      },
      header: {
        'content-type': 'application/x-www-form-urlencoded'
      },
      success: res => {
        //后端返回的小程序碼服務(wù)器地址(默認(rèn)是二進(jìn)制圖片,我這里是后端處理過了)
        console.log(res);
        //此處是將小程序碼下載到本地,用于canvas繪圖(ps:網(wǎng)絡(luò)圖片一定要先下載到本地)
        wx.downloadFile({
          url: res.data.data, //上方返回的服務(wù)器小程序碼地址
          success: res1 => {
            if (res1.statusCode === 200) {
              //下載成功,我這里是執(zhí)行的canvas繪圖方法(canvas繪圖可看下篇文章)
              this.canvasPoster(res1); 
            }
          }
        });
      }
    });
  }
})

獲取參數(shù)

Page({
  onLoad (options) {
    //需要使用 decodeURIComponent 才能獲取到生成二維碼時(shí)傳入的 scene
    let scene = decodeURIComponent(options.scene);
    let id = scene.split("&")[0];
    let code = scene.split('&')[1];
  }
})
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容