您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)小程序中怎么通過(guò)掃描二維碼獲取參數(shù),小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話(huà)不多說(shuō),跟著小編一起來(lái)看看吧。
首先要在小程序的后臺(tái)控制頁(yè)面配置一下,如圖:
點(diǎn)擊上圖中右上角的添加按鈕去配置:
需要填寫(xiě)四項(xiàng)內(nèi)容,前綴規(guī)則默認(rèn)不占用,當(dāng)我們通過(guò)二維碼工具或者qcodejs將普通鏈接轉(zhuǎn)化為二維碼后,調(diào)用微信掃一掃功能掃描此二維碼,微信就會(huì)跳轉(zhuǎn)到目標(biāo)小程序的特定頁(yè)面。
但是有時(shí)候我們需要傳遞一些參數(shù),通過(guò)上面的普通鏈接來(lái)傳遞,傳遞的方式就是在普通鏈接后面添加參數(shù),參數(shù)格式為查詢(xún)字符串,例如 http://www.a.com?name=zs&age=18,這樣的話(huà)小程序內(nèi)部如何獲取這個(gè)數(shù)據(jù)呢?觀(guān)察如下代碼:
onLoad (option) { console.log(option) }
一般我們會(huì)在小程序生命周期函數(shù)onload函數(shù)中打印這個(gè)函數(shù)的默認(rèn)形參option,option就是上一個(gè)頁(yè)面?zhèn)鬟f過(guò)來(lái)的參數(shù),但是這里需要注意,這是小程序內(nèi)部頁(yè)面之間傳遞參數(shù)的方式,不適用于上面掃描二維獲取二維碼中的參數(shù),好多同學(xué)在獲取二維碼中的參數(shù)時(shí)容易和頁(yè)面間傳值獲取的方式搞混。
這兩種方式傳參的方式是一樣的,都是在鏈接后面追加問(wèn)號(hào)和查詢(xún)字符串,但是獲取方式不同。
掃描二維碼進(jìn)入小程序并沒(méi)有發(fā)生頁(yè)面間的跳轉(zhuǎn),所以并不能直接從option中獲取鏈接中傳遞的參數(shù)。
那我們?nèi)绾潍@取呢?查看官方文檔:
onload事件的默認(rèn)形參option中會(huì)有一個(gè)q屬性,這個(gè)屬性需要用decodeURIComponent解碼一次,解碼后得到原二維碼的完整內(nèi)容,例如:“http://www.a.com?name=zs&age=18”。得到這個(gè)完整的鏈接后,我們?cè)偬崛?shù),主要過(guò)程就是字符串的處理。
import qs from "qs"onLoad (option) { console.log(option) if (option.q) { let url = decodeURIComponent(option.q) // url http://www.a.com?name=zs&age=18; let paramstr = url.split("/\?/")[1]; // name=zs&age=18; let params = qs.parser(paramstr); //最終結(jié)果為:params {name:'zs',age:18} }}
以上就是小程序中怎么通過(guò)掃描二維碼獲取參數(shù),小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。