最近老有同學(xué)問(wèn)我,如何生成小程序二維碼,讓用戶掃碼后能快速進(jìn)入指定頁(yè)面。經(jīng)過(guò)一番研究,發(fā)現(xiàn)用云開(kāi)發(fā)的云調(diào)用來(lái)實(shí)現(xiàn)特別方便,基本上10行代碼就可以快速的生成指定頁(yè)面的二維碼。這樣我們?cè)谧鲆恍┚€下業(yè)務(wù)時(shí)就能讓用戶方便快速的進(jìn)入到指定頁(yè)面了,比如我們的點(diǎn)餐小程序,我們可以在二維碼里綁定桌號(hào),這樣用戶用微信掃碼二維碼,就可以快速的進(jìn)入點(diǎn)餐頁(yè)面了,并且可以識(shí)別到用戶當(dāng)前所在的桌號(hào)。
創(chuàng)新互聯(lián)企業(yè)建站,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),專注于網(wǎng)站建設(shè)技術(shù),精于網(wǎng)頁(yè)設(shè)計(jì),有多年建站和網(wǎng)站代運(yùn)營(yíng)經(jīng)驗(yàn),設(shè)計(jì)師為客戶打造網(wǎng)絡(luò)企業(yè)風(fēng)格,提供周到的建站售前咨詢和貼心的售后服務(wù)。對(duì)于網(wǎng)站設(shè)計(jì)、做網(wǎng)站中不同領(lǐng)域進(jìn)行深入了解和探索,創(chuàng)新互聯(lián)在網(wǎng)站建設(shè)中充分了解客戶行業(yè)的需求,以靈動(dòng)的思維在網(wǎng)頁(yè)中充分展現(xiàn),通過(guò)對(duì)客戶行業(yè)精準(zhǔn)市場(chǎng)調(diào)研,為客戶提供的解決方案。
我們生成的小程序碼指定的頁(yè)面,必須是你小程序已經(jīng)發(fā)布,如果小程序還沒(méi)有發(fā)布,獲取小程序碼綁定的頁(yè)面不存在,掃碼后就會(huì)出現(xiàn)以下錯(cuò)誤
所以要想使用這個(gè)功能,必須要先發(fā)布你的小程序。接下來(lái)我們就來(lái)講下具體的實(shí)現(xiàn)。
我其實(shí)說(shuō)過(guò)很多遍的,官方文檔永遠(yuǎn)是最好的老師。因?yàn)楣俜轿臋n永遠(yuǎn)是最標(biāo)準(zhǔn)的。所以我們實(shí)現(xiàn)這個(gè)功能,同樣要先去看下官方文檔。小程序碼官方文旦
看上圖的官方文檔,我們可以看出,有三種方式可以生成小程序碼。
接口只能生成已發(fā)布的小程序的二維碼
接口 A 加上接口 C,總共生成的碼數(shù)量限制為 100,000,請(qǐng)謹(jǐn)慎調(diào)用。
接口 B 調(diào)用分鐘頻率受限(5000次/分鐘),如需大量小程序碼,建議預(yù)生成
所以我們一定要結(jié)合自己的業(yè)務(wù)場(chǎng)景來(lái)使用不同的方法來(lái)生成小程序碼或者二維碼。我們這里以點(diǎn)餐桌號(hào)為例。因?yàn)槲覀円粋€(gè)餐廳也沒(méi)有多少桌,所以我們就用接口B來(lái)實(shí)現(xiàn)頁(yè)面和桌號(hào)的綁定。
看官方文檔,我們可以看到,我們主要使用的還是path這個(gè)參數(shù),這個(gè)參數(shù)用來(lái)設(shè)置頁(yè)面和參數(shù)。具體代碼如下圖。
代碼很簡(jiǎn)單,在第11行,我們給path參數(shù)設(shè)置了小程序頁(yè)面和參數(shù)name。這樣我們用微信掃碼后,就會(huì)打開(kāi)對(duì)應(yīng)的頁(yè)面,并且可以拿到name參數(shù),
其實(shí)到這里我們就成功的生成小程序碼了,并且可以用微信直接掃碼進(jìn)入到指定頁(yè)面,并攜帶指定參數(shù)了。
接下來(lái)呢,我就把代碼改造成一個(gè)簡(jiǎn)單的工具,這樣大家拿到源碼后就可以直接使用這個(gè)工具快速的生成小程序碼了。
關(guān)于云開(kāi)發(fā),云函數(shù)的創(chuàng)建和使用,我講過(guò)很多遍了,還不知道的同學(xué),可以去翻看下我之前的文章,或者看下我錄的云開(kāi)發(fā)視頻:5小時(shí)零基礎(chǔ)入門(mén)小程序云開(kāi)發(fā)
下面我們就創(chuàng)建一個(gè)云函數(shù),并編寫(xiě)云函數(shù),如下圖
細(xì)心的同學(xué)應(yīng)該可以看到,我這里傳了兩個(gè)參數(shù)進(jìn)來(lái)。event.path就是用來(lái)指定我們二維碼綁定的頁(yè)面和攜帶的參數(shù),event.name就是用來(lái)給我們的二維碼圖片命名的。
原理:我們這里生成小程序碼的原理就是使用云開(kāi)發(fā)的云調(diào)用,獲取二維碼,然后把二維碼存到云存儲(chǔ),這樣我們就可以拿到我們需要的二維碼了