小程序掃描二維碼獲取參數--填坑

最近開發(fā)的小程序有一個需求贱纠,當用戶通過微信掃一掃功能搔确,掃普通鏈接二維碼打開小程序時,需要獲取這個普通鏈接中傳遞的參數,然后再做進一步的操作皆撩。

這個需求很常見寂恬,比如為某個飯店開發(fā)一個自助點餐功能续誉,微信掃碼進入飯店的點餐頁面,頁面顯示的是所有菜品初肉,然后用戶在菜單中去選擇酷鸦,然后下單。

另外一種更加便捷的是飯店推出幾個熱門的菜,在飯店顯眼的位置放上圖片和本菜的二維碼臼隔,掃描二維碼直接進入本菜的點單頁面嘹裂,這樣省去了用戶在頁面中查找的時間。

另外還有一些博物館設置的小程序自助講解功能摔握,只需掃碼即可進入相應的展品頁面寄狼。

原理很簡單,但是因為小程序并不是完全按照web的方式去設計的氨淌,下面看看如何配置一下吧泊愧。

實現這個需求,首先要在小程序的后臺控制頁面配置一下盛正,如圖:

image.png

點擊上圖中右上角的添加按鈕去配置:

image.png

需要填寫四項內容删咱,前綴規(guī)則默認不占用,當我們通過二維碼工具或者qcodejs將普通鏈接轉化為二維碼后豪筝,調用微信掃一掃功能掃描此二維碼痰滋,微信就會跳轉到目標小程序的特定頁面。

但是有時候我們需要傳遞一些參數续崖,通過上面的普通鏈接來傳遞敲街,傳遞的方式就是在普通鏈接后面添加參數,參數格式為查詢字符串袜刷,例如 http://www.a.com?name=zs&age=18,這樣的話小程序內部如何獲取這個數據呢聪富?觀察如下代碼:

onLoad (option) {
console.log(option)
}

一般我們會在小程序生命周期函數onload函數中打印這個函數的默認形參option莺丑,option就是上一個頁面?zhèn)鬟f過來的參數著蟹,

但是這里需要注意,

這是小程序內部頁面之間傳遞參數的方式梢莽,不適用于上面掃描二維獲取二維碼中的參數萧豆,好多同學在獲取二維碼中的參數時容易和頁面間傳值獲取的方式搞混。

這兩種方式傳參的方式是一樣的昏名,都是在鏈接后面追加問號和查詢字符串涮雷,但是獲取方式不同。

掃描二維碼進入小程序并沒有發(fā)生頁面間的跳轉轻局,所以并不能直接從option中獲取鏈接中傳遞的參數洪鸭。

那我們如何獲取呢?查看官方文檔 https://developers.weixin.qq.com/miniprogram/introduction/qrcode.html#%E5%8F%91%E5%B8%83

image.png

onload事件的默認形參option中會有一個q屬性仑扑,這個屬性需要用decodeURIComponent解碼一次览爵,解碼后得到原二維碼的完整內容,例如:“http://www.a.com?name=zs&age=18”镇饮。得到這個完整的鏈接后蜓竹,我們再提取參數,主要過程就是字符串的處理。
eg

 onLoad: function (options) {
  
    console.log(options);
    var scene = options.generalizeid;
    if (options.q) {
     
      // 提取 url中的參數
      let str = decodeURIComponent(options.q)
    //// url http://www.a.com?age=18;
      //獲取“=”的下標
      let index = str.indexOf("=");
      //index是“=”的下標俱济,index + 1就是“=”后一位數字(id的值就是10)
      var scene = str.substring(index + 1, index + 10);
//scene  == 18
      console.log(scene)
    }
}
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末嘶是,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子蛛碌,更是在濱河造成了極大的恐慌聂喇,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件左医,死亡現場離奇詭異授帕,居然都是意外死亡,警方通過查閱死者的電腦和手機浮梢,發(fā)現死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門跛十,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人秕硝,你說我怎么就攤上這事芥映。” “怎么了远豺?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵奈偏,是天一觀的道長。 經常有香客問我躯护,道長惊来,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任棺滞,我火速辦了婚禮裁蚁,結果婚禮上,老公的妹妹穿的比我還像新娘继准。我一直安慰自己枉证,他們只是感情好,可當我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布移必。 她就那樣靜靜地躺著室谚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪崔泵。 梳的紋絲不亂的頭發(fā)上秒赤,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天,我揣著相機與錄音憎瘸,去河邊找鬼入篮。 笑死,一個胖子當著我的面吹牛含思,可吹牛的內容都是我干的崎弃。 我是一名探鬼主播甘晤,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼饲做!你這毒婦竟也來了线婚?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤盆均,失蹤者是張志新(化名)和其女友劉穎塞弊,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體泪姨,經...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡游沿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了肮砾。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诀黍。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖仗处,靈堂內的尸體忽然破棺而出眯勾,到底是詐尸還是另有隱情,我是刑警寧澤婆誓,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布吃环,位于F島的核電站,受9級特大地震影響洋幻,放射性物質發(fā)生泄漏郁轻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一文留、第九天 我趴在偏房一處隱蔽的房頂上張望好唯。 院中可真熱鬧,春花似錦厂庇、人聲如沸渠啊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至贯溅,卻和暖如春拄氯,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背它浅。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工译柏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人姐霍。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓鄙麦,卻偏偏與公主長得像典唇,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子胯府,可洞房花燭夜當晚...
    茶點故事閱讀 43,724評論 2 351