基於 koa 和 node-qrcode 實現一個二維碼生成工具

魚子醬?發表於2019-03-30

網站中使用的 Google chart qr 生成二維碼的服務即將在 3 月 14 日關閉,所以在關閉之前需要尋找一個可代替方案

方案一

使用 JS 庫,在頁面中引入 qrcodejs 庫,依據文件內容生成,使用起來還算蠻簡單,但對比 Google 提供的二維碼生成方案,使用還是較複雜的,梳理一下優缺點

  • 優點:
    • 在瀏覽器端生成,減少了網站伺服器資源佔用
    • 生成時無需網路
  • 缺點:
    • 需要在頁面引入依賴庫,增加頁面載入體積
    • 使用不是非常方面,和 google 通過一個連結和引數即可生成和控制二維碼的方式對比,體驗上差了蠻多

綜合以上,此方案不通過

方案二

開源庫 quickchart,基於 express 服務,可以通過 URL 生成圖表內容的方案

生成二維碼也比較簡單,一個連線即可搞定

此方案和 google 生成二維碼的方式相同,只是引數稍稍更改一下即可,非常適合網站二維碼服務的更替。

檢視了二維碼生成邏輯,主要使用 node-qrcode 庫生成二維碼,quickchart 使用 express 框架的路由,獲取連結引數和返回二維碼,提供了錯誤處理方式,和 base64 資料轉換的操作,實現起來邏輯也不是很複雜。

最後

參考了 quickchart ,使用 koa 庫完成了二維碼生成邏輯,執行和使用方法,可以查閱 koa-qrcode 專案地址

較少釋出文章,內容有錯誤或者不合理之處,請友好指出,如有影響心情,請輕噴

相關文章