借助云開發(fā)10行代碼生成小程序碼,可以微信掃碼快速進(jìn)入指定小程序頁
最近老有同學(xué)問我,如何生成小程序二維碼,讓用戶掃碼后能快速進(jìn)入指定頁面。經(jīng)過一番研究,發(fā)現(xiàn)用云開發(fā)的云調(diào)用來實(shí)現(xiàn)特別方便,基本上10行代碼就可以快速的生成指定頁面的二維碼。這樣我們在做一些線下業(yè)務(wù)時就能讓用戶方便快速的進(jìn)入到指定頁面了,比如我們的點(diǎn)餐小程序,我們可以在二維碼里綁定桌號,這樣用戶用微信掃碼二維碼,就可以快速的進(jìn)入點(diǎn)餐頁面了,并且可以識別到用戶當(dāng)前所在的桌號。
注意事項
我們生成的小程序碼指定的頁面,必須是你小程序已經(jīng)發(fā)布,如果小程序還沒有發(fā)布,獲取小程序碼綁定的頁面不存在,掃碼后就會出現(xiàn)以下錯誤

所以要想使用這個功能,必須要先發(fā)布你的小程序。接下來我們就來講下具體的實(shí)現(xiàn)。
一,先看官方文檔
我其實(shí)說過很多遍的,官方文檔永遠(yuǎn)是最好的老師。因?yàn)楣俜轿臋n永遠(yuǎn)是最標(biāo)準(zhǔn)的。所以我們實(shí)現(xiàn)這個功能,同樣要先去看下官方文檔。小程序碼官方文旦

看上圖的官方文檔,我們可以看出,有三種方式可以生成小程序碼。
A,createQRCode:生成二維碼,可接受 path 參數(shù)較長,生成個數(shù)受限,數(shù)量限制
B,get:生成小程序碼,可接受 path 參數(shù)較長,生成個數(shù)受限,數(shù)量限制見
C,getUnlimited:生成小程序碼,可接受頁面參數(shù)較短,生成個數(shù)不受限
官方提示:
接口只能生成已發(fā)布的小程序的二維碼 接口 A 加上接口 C,總共生成的碼數(shù)量限制為 100,000,請謹(jǐn)慎調(diào)用。 接口 B 調(diào)用分鐘頻率受限(5000次/分鐘),如需大量小程序碼,建議預(yù)生成 所以我們一定要結(jié)合自己的業(yè)務(wù)場景來使用不同的方法來生成小程序碼或者二維碼。我們這里以點(diǎn)餐桌號為例。因?yàn)槲覀円粋€餐廳也沒有多少桌,所以我們就用接口B來實(shí)現(xiàn)頁面和桌號的綁定。

看官方文檔,我們可以看到,我們主要使用的還是path這個參數(shù),這個參數(shù)用來設(shè)置頁面和參數(shù)。具體代碼如下圖。

代碼很簡單,在第11行,我們給path參數(shù)設(shè)置了小程序頁面和參數(shù)name。這樣我們用微信掃碼后,就會打開對應(yīng)的頁面,并且可以拿到name參數(shù),

其實(shí)到這里我們就成功的生成小程序碼了,并且可以用微信直接掃碼進(jìn)入到指定頁面,并攜帶指定參數(shù)了。 接下來呢,我就把代碼改造成一個簡單的工具,這樣大家拿到源碼后就可以直接使用這個工具快速的生成小程序碼了。
創(chuàng)建云函數(shù)
關(guān)于云開發(fā),云函數(shù)的創(chuàng)建和使用,我講過很多遍了,還不知道的同學(xué),可以去翻看下我之前的文章,或者看下我錄的云開發(fā)視頻:5小時零基礎(chǔ)入門小程序云開發(fā)下面我們就創(chuàng)建一個云函數(shù),并編寫云函數(shù),如下圖

細(xì)心的同學(xué)應(yīng)該可以看到,我這里傳了兩個參數(shù)進(jìn)來。event.path就是用來指定我們二維碼綁定的頁面和攜帶的參數(shù),event.name就是用來給我們的二維碼圖片命名的。 原理:我們這里生成小程序碼的原理就是使用云開發(fā)的云調(diào)用,獲取二維碼,然后把二維碼存到云存儲,這樣我們就可以拿到我們需要的二維碼了
再來看下調(diào)用的方法。

再來看下我們生成的小程序碼

可以看到我們生成的1號桌對應(yīng)的二維碼,這樣顧客用微信掃描一號餐桌的二維碼時,就可以直接進(jìn)入對應(yīng)的頁面,并且把桌號帶進(jìn)去了。

這樣你只需要改造下我index.js里的path和name就可以生成你想要的小程序二維碼了。

然后再到云存儲里獲取對應(yīng)的二維碼,

下載后打印出來,貼到對應(yīng)的桌子上,就可以供用戶掃碼點(diǎn)餐了。還有一點(diǎn)要記住奧,一定是你小程序發(fā)布后,才可以使用這個功能奧。 今天就到這里把,祝大家元旦快樂,2020年學(xué)有所成,想獲取更多小程序相關(guān)的知識,請持續(xù)關(guān)注。