看看怎麼使用nodejs產生二維碼

青灯夜游
發布: 2022-10-25 23:12:36
轉載
2389 人瀏覽過

看看怎麼使用nodejs產生二維碼

二維碼在生活中無所不在,之前我也使用過java的zxing函式庫產生過二維碼,功能很強大。

但其實nodejs上也有很多第三方函式庫能夠產生二維碼。今天我們就是使用qrcode這個函式庫來產生二維碼。 【相關教學推薦:nodejs影片教學

# 效果展示

# 線上範例:http://www.lolmbbs.com/tool/qr

看看怎麼使用nodejs產生二維碼

詳細程式碼

產生二維碼:

const qrCode = require('qrcode') class QrController { async create (ctx) { const { text = 'Luban', options } = ctx.request.body const qrOptions = { type: 'image/png', width: 180, margin: 0, scale: 1, color: { dark: '#000000', light: '#ffffff' }, errorCorrectionLevel: 'M', quality: 1 } Object.assign(qrOptions, options) const imgData = await qrCode.toDataURL(text, qrOptions) return ctx.success({ imgData }) } } module.exports = new QrController()
登入後複製

#下載二維碼:

const a = document.createElement('a') const event = new MouseEvent('click') a.download = '二维码' a.href = this.imgSrc a.dispatchEvent(event)
登入後複製

主要參數解釋

  • type: 產生圖片類型
    主要包含image/pngimage/jpegimage/web這三種類型.
    ps: 但我在程式碼中即使設定type為image/jpeg,發現生成的圖片還是png,後來仔細閱讀文件才知道toDataURL這個方法只支援產生png類型的圖片…
    看看怎麼使用nodejs產生二維碼

  • width: 二維碼的寬度
    發現沒有height欄位設置,可能是產生的二維碼都是正方形吧

  • margin: 內邊距
    內邊距設定為10
    看看怎麼使用nodejs產生二維碼
    內邊距設定為0
    看看怎麼使用nodejs產生二維碼

  • scale放縮的倍數
    如果設定了width,優先生效width,則此參數無用.
    縮放比例為5
    看看怎麼使用nodejs產生二維碼
    放縮比例為10
    看看怎麼使用nodejs產生二維碼

  • #color.light:前景色

  • color.night:背景色
    預設的前景色是黑色,背景色為白色。

  • errorCorrectionLevel糾錯等級
    看看怎麼使用nodejs產生二維碼
    二維碼即使有部分顯示不了,依然可以辨識出二維碼的內容,這就是二維碼的糾錯。
    L等級的糾錯代表只要殘缺度小於7%,就可以被辨識出,以此類推

更多node相關知識,請造訪:nodejs教程

以上是看看怎麼使用nodejs產生二維碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:csdn.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!