使用Vue3生成二維碼和條形碼詳細(xì)圖文教程
前言
在我剛接觸CSDN時(shí),便寫(xiě)下了第一篇使用python庫(kù)生成二維碼的博文,但是隨著學(xué)習(xí)的知識(shí)越來(lái)越多,實(shí)現(xiàn)同一個(gè)功能,但可以通過(guò)不同的方式得以實(shí)現(xiàn),本篇是通過(guò)Vue3和Vue的一些組件庫(kù)從而實(shí)現(xiàn)的一個(gè)小demo
一、前期準(zhǔn)備
1.1. 使用Vite創(chuàng)建工程化項(xiàng)目
這里可以在vscode或是其他的IDE,或是直接找一個(gè)合適的目錄,然后在cmd中即可
npm create vite@latest
輸入要?jiǎng)?chuàng)建的vue項(xiàng)目名,然后回車,選擇Vue,然后回車,這里我的項(xiàng)目名是demo0-happy
選擇自己想用的,不知道直接選js
進(jìn)入文件所處的目錄
cd demo0-happy
1.2 安裝所需的依賴
首先輸入npm i 也就是(npm install的縮寫(xiě))
將使用qrcode庫(kù)來(lái)生成二維碼,使用bwip-js來(lái)生成條形碼。可以通過(guò)以下命令安裝它們:
npm install qrcode bwip-js
二、環(huán)境檢查
首先,請(qǐng)確保已經(jīng)安裝了Node.js和Vue CLI。如果還未安裝,可以通過(guò)以下命令進(jìn)行安裝:
npm install @vue/cli
三、生成二維碼
3.1 創(chuàng)建二維碼組件
在src/components目錄下創(chuàng)建QRCodeGenerator.vue文件,并添加以下代碼:
<script setup> import { ref } from 'vue'; import QRCode from 'qrcode'; const text = ref(''); const qrCodeUrl = ref(""); async function generateQRCode() { try { qrCodeUrl.value = await QRCode.toDataURL(text.value); } catch (err) { console.error(err); } } </script> <template> <div> <h2>二維碼生成器</h2> <input v-model="text" placeholder="輸入文本生成二維碼"> <button @click="generateQRCode">生成二維碼</button> <div v-if="qrCodeUrl"> <img :src="qrCodeUrl" alt="二維碼"/> </div> </div> </template> <style scoped> </style>
3.2 在App.vue中使用二維碼組件
打開(kāi)src/App.vue文件,導(dǎo)入并使用QRCodeGenerator組件:
<script setup> import QRCodeGenerator from './components/QRCodeGenerator.vue' </script> <template> <div> <QRCodeGenerator></QRCodeGenerator> <hr> </div> </template> <style scoped> </style>
四、生成條形碼
4.1 創(chuàng)建條形碼組件
在src/components目錄下創(chuàng)建BarcodeGenerator.vue文件,并添加以下代碼:
<script setup> import bwipjs from 'bwip-js' import { ref } from 'vue' const text = ref('') const barcodeCanvasRef = ref("") function generateBarcode() { bwipjs.toCanvas(barcodeCanvasRef.value, { bcid: 'code128', // 條形碼類型 text: text.value, scale: 3, // 縮放比例 height: 10, // 條形碼高度 includetext: true, // 是否包括文本 textxalign: 'center' // 文本對(duì)齊方式 }) } </script> <template> <div> <h2>條形碼生成器</h2> <input v-model="text" placeholder="輸入文本生成條形碼" aria-label="輸入文本" /> <button @click="generateBarcode" aria-label="生成條形碼">生成條形碼</button> <canvas ref="barcodeCanvasRef"></canvas> </div> </template> <style scoped> </style>
4.2.在App.vue中使用條形碼組件
同樣,在src/App.vue中導(dǎo)入并使用BarcodeGenerator組件,此時(shí)會(huì)將之前的二維碼的一并導(dǎo)入:
<script setup> import QRCodeGenerator from './components/QRCodeGenerator.vue' import BarcodeGenerator from './components/BarcodeGenerator.vue' </script> <template> <div> <QRCodeGenerator></QRCodeGenerator> <hr> <BarcodeGenerator></BarcodeGenerator> </div> </template> <style scoped> </style>
五、啟動(dòng)測(cè)試與效果演示
5.1 啟動(dòng)demo
切換到項(xiàng)目的目錄下,在項(xiàng)目的目錄下啟動(dòng)
npm run dev
將出現(xiàn)的url鏈接打開(kāi),便會(huì)出現(xiàn)下面的界面
5.2 二維碼演示
輸入想要生成二維碼的文字和信息,或是鏈接,然后點(diǎn)擊生成二維碼按鈕即可,這里使用了utools的二維碼識(shí)別截圖工具(QRscan)識(shí)別如下
5.3 條形碼演示
這里操作的方式和上面是一樣的
總結(jié)
到此這篇關(guān)于使用Vue3生成二維碼和條形碼的文章就介紹到這了,更多相關(guān)Vue3生成二維碼和條形碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue Computed中g(shù)et和set的用法及Computed與watch的區(qū)別
這篇文章主要介紹了Vue Computed中g(shù)et和set的用法及Computed與watch的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11vue-pdf打包后無(wú)法預(yù)覽問(wèn)題及修復(fù)方式
這篇文章主要介紹了vue-pdf打包后無(wú)法預(yù)覽問(wèn)題及修復(fù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03elementui的table列超出隱藏tooltip懸浮顯示問(wèn)題
這篇文章主要介紹了elementui的table列超出隱藏tooltip懸浮顯示問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11詳解Vue 多級(jí)組件透?jìng)餍路椒╬rovide/inject
這篇文章主要介紹了詳解Vue 多級(jí)組件透?jìng)餍路椒╬rovide/inject,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05Vue前端左側(cè)菜單右側(cè)內(nèi)容的網(wǎng)站界面制作過(guò)程
這篇文章主要介紹了使用Vue和ElementUI制作一個(gè)帶有左側(cè)菜單和右側(cè)內(nèi)容區(qū)的網(wǎng)站頁(yè)面的過(guò)程,文中通過(guò)CSS樣式和深度作用符,實(shí)現(xiàn)了頁(yè)面的美化和功能的完善,需要的朋友可以參考下2025-02-02功能強(qiáng)大的vue.js拖拽組件安裝應(yīng)用
這篇文章主要為大家介紹了功能強(qiáng)大的vue.js拖拽組件安裝應(yīng)用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06有關(guān)vue 組件切換,動(dòng)態(tài)組件,組件緩存
這篇文章主要介紹了有關(guān)vue 組件切換,動(dòng)態(tài)組件,組件緩存,在組件化開(kāi)發(fā)模式下,我們會(huì)把整個(gè)項(xiàng)目拆分成很多組件,然后按照合理的方式組織起來(lái),達(dá)到預(yù)期效果,下面來(lái)看看文章的詳細(xì)內(nèi)容2021-11-11