獲取當前微信小程序的二維碼

情景:微信小程序的最后一頁中間有一個自己的二維碼,方便用戶截圖分享,如果知道域名和網(wǎng)頁路徑,是很容易生成一個二維碼的樱调,但是微信小程序沒辦法這樣做。

微信小程序沒有window.location届良,所以必須通過微信提供的方法來獲取這個二維碼笆凌,具體方法:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/qr-code/wxacode.createQRCode.html
這些操作都是需要后端去操作的,前端可以通過downloadFile方法來獲取臨時的二維碼圖片文件士葫,然后再賦值給Image的src用來展示乞而;或者通過canvas把它繪制出來。
注意:代碼中接口必須是Get接口慢显,imgInfo參數(shù)必須用encodeURIComponent方法處理一下爪模,而且wx.downloadFile方法必須設置下載域名白名單才能在發(fā)布狀態(tài)下調(diào)用成功欠啤。
下載域名白名單設置后,并不能立即使用屋灌,等待兩三個小時也有可能洁段。

...
this.getQrCode().then(res => {
      if (!res) {
        wx.hideLoading();
        // wx.showToast({
        //   title: '二維碼加載出錯~',
        //   icon: 'none'
        // })
        this.setData({
          downloadFileErr: true
        });
        return false
      }
      const ctx = wx.createCanvasContext('myCanvas');
      ctx.save();
      ctx.drawImage(
        '../../images/share@2x.png',
        0, 0,
        750, 1624,
        0, 0,
        this.data.cvsSize.width, this.data.cvsSize.height
      );
      this.drawRect(ctx);
      this.drawEwm(ctx, res.tempFilePath);
      ctx.draw(false, function () {
        wx.hideLoading({
          success: (res) => {
            wx.showToast({
              title: '繪制完成',
            })
          },
        })
      });
    })
  },
...
getQrCode () {
    var SessionResult = wx.getStorageSync('SessionResult') || {}
    let imgInfo = {
      channelNo: 'cy35',
      scene: 'userId=' + SessionResult.userId + '&type=1',
      width: 280
    }
    return new Promise((resolve, reject) => {
      wx.showToast({
        title: 'getQrCode...',
      })
      wx.downloadFile({
        url: Ajax.preUrl + 'ky/createUnlimitedQr?imgInfo=' + encodeURIComponent(JSON.stringify(imgInfo)),
        success (res) {
          if (res.statusCode === 200) {
            // console.log('downloadFile', res)
            resolve(res)
          } else {
            wx.showToast({
              title: 'success.' + res.statusCode,
            })
            resolve('');
          }
        },
        fail (err) {
          wx.showToast({
            title: 'fail.' + err,
          })
          console.log('downloadFile failed.', err);
          resolve('');
        }
      })
    })
  },
生成了二維碼并附帶了參數(shù),那么掃碼后在首頁怎么獲取這個傳過來的參數(shù)呢声滥?

scene: 'userId=' + SessionResult.userId + '&type=1'這部分代碼就是二維碼附帶的參數(shù)眉撵,在進入頁面index.js的onload方法里面,可以得到這個參數(shù)落塑。

if(options.scene){
      console.log('options.scene:', options)
      let scene=decodeURIComponent(options.scene);
      console.log('options.scene:', scene)
      //&是我們定義的參數(shù)鏈接方式
      let userId=scene.split("&")[0];
      if (typeof userId === 'string' && userId.indexOf('=') > 0) {
        userId = userId.split('=')[1]
      }
}

options.scene結果打优ε薄:

{scene: "userId=2100&type=1"}
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市憾赁,隨后出現(xiàn)的幾起案子污朽,更是在濱河造成了極大的恐慌,老刑警劉巖龙考,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蟆肆,死亡現(xiàn)場離奇詭異,居然都是意外死亡晦款,警方通過查閱死者的電腦和手機炎功,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來缓溅,“玉大人蛇损,你說我怎么就攤上這事√彻郑” “怎么了淤齐?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長袜匿。 經(jīng)常有香客問我更啄,道長,這世上最難降的妖魔是什么居灯? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任祭务,我火速辦了婚禮,結果婚禮上怪嫌,老公的妹妹穿的比我還像新娘待牵。我一直安慰自己,他們只是感情好喇勋,可當我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布缨该。 她就那樣靜靜地躺著,像睡著了一般川背。 火紅的嫁衣襯著肌膚如雪贰拿。 梳的紋絲不亂的頭發(fā)上蛤袒,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天,我揣著相機與錄音膨更,去河邊找鬼妙真。 笑死,一個胖子當著我的面吹牛荚守,可吹牛的內(nèi)容都是我干的珍德。 我是一名探鬼主播,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼矗漾,長吁一口氣:“原來是場噩夢啊……” “哼锈候!你這毒婦竟也來了?” 一聲冷哼從身側響起敞贡,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤泵琳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后誊役,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體获列,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年蛔垢,在試婚紗的時候發(fā)現(xiàn)自己被綠了击孩。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡鹏漆,死狀恐怖溯壶,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情甫男,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布验烧,位于F島的核電站板驳,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏碍拆。R本人自食惡果不足惜若治,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望感混。 院中可真熱鬧端幼,春花似錦、人聲如沸弧满。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽庭呜。三九已至滑进,卻和暖如春犀忱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背扶关。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工阴汇, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人节槐。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓搀庶,卻偏偏與公主長得像,于是被迫代替她去往敵國和親铜异。 傳聞我的和親對象是個殘疾皇子哥倔,可洞房花燭夜當晚...
    茶點故事閱讀 43,543評論 2 349