最近老有同窗問我,如何生成小程序二維碼,讓用戶掃碼後能快速進入指定頁面。通過一番研究,發現用雲開發的雲調用來實現特別方便,基本上10行代碼就能夠快速的生成指定頁面的二維碼。這樣咱們在作一些線下業務時就能讓用戶方便快速的進入到指定頁面了,好比咱們的點餐小程序,咱們能夠在二維碼裏綁定桌號,這樣用戶用微信掃碼二維碼,就能夠快速的進入點餐頁面了,而且能夠識別到用戶當前所在的桌號。html
咱們生成的小程序碼指定的頁面,必須是你小程序已經發布,若是小程序尚未發佈,獲取小程序碼綁定的頁面不存在,掃碼後就會出現如下錯誤
因此要想使用這個功能,必需要先發布你的小程序。接下來咱們就來說下具體的實現。小程序
我其實說過不少遍的,官方文檔永遠是最好的老師。由於官方文檔永遠是最標準的。因此咱們實現這個功能,一樣要先去看下官方文檔。小程序碼官方文旦
看上圖的官方文檔,咱們能夠看出,有三種方式能夠生成小程序碼。api
接口只能生成已發佈的小程序的二維碼
接口 A 加上接口 C,總共生成的碼數量限制爲 100,000,請謹慎調用。
接口 B 調用分鐘頻率受限(5000次/分鐘),如需大量小程序碼,建議預生成
因此咱們必定要結合本身的業務場景來使用不一樣的方法來生成小程序碼或者二維碼。咱們這裏以點餐桌號爲例。由於咱們一個餐廳也沒有多少桌,因此咱們就用接口B來實現頁面和桌號的綁定。
看官方文檔,咱們能夠看到,咱們主要使用的仍是path這個參數,這個參數用來設置頁面和參數。具體代碼以下圖。
代碼很簡單,在第11行,咱們給path參數設置了小程序頁面和參數name。這樣咱們用微信掃碼後,就會打開對應的頁面,而且能夠拿到name參數,
其實到這裏咱們就成功的生成小程序碼了,而且能夠用微信直接掃碼進入到指定頁面,並攜帶指定參數了。
接下來呢,我就把代碼改形成一個簡單的工具,這樣你們拿到源碼後就能夠直接使用這個工具快速的生成小程序碼了。微信
關於雲開發,雲函數的建立和使用,我講過不少遍了,還不知道的同窗,能夠去翻看下我以前的文章,或者看下我錄的雲開發視頻:5小時零基礎入門小程序雲開發
下面咱們就建立一個雲函數,並編寫雲函數,以下圖
細心的同窗應該能夠看到,我這裏傳了兩個參數進來。event.path就是用來指定咱們二維碼綁定的頁面和攜帶的參數,event.name就是用來給咱們的二維碼圖片命名的。
原理:咱們這裏生成小程序碼的原理就是使用雲開發的雲調用,獲取二維碼,而後把二維碼存到雲存儲,這樣咱們就能夠拿到咱們須要的二維碼了ide