使用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)目名,然后回車(chē),選擇Vue,然后回車(chē),這里我的項(xiàng)目名是demo0-happy

選擇自己想用的,不知道直接選js

進(jìn)入文件所處的目錄
cd demo0-happy
1.2 安裝所需的依賴(lài)
首先輸入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', // 條形碼類(lèi)型
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 style屬性設(shè)置背景圖片的相對(duì)路徑無(wú)效的解決
這篇文章主要介紹了vue style屬性設(shè)置背景圖片的相對(duì)路徑無(wú)效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10
vue 中常用操作數(shù)組的方法(forEach()和reduce())
文章介紹了JavaScript中常用的操作數(shù)組方法,包括forEach()和reduce(),forEach()用于遍歷數(shù)組并對(duì)每個(gè)元素執(zhí)行操作,而reduce()則用于遍歷數(shù)組并進(jìn)行累加等迭代操作,感興趣的朋友一起看看吧2025-03-03
基于elementUI實(shí)現(xiàn)圖片預(yù)覽組件的示例代碼
這篇文章主要介紹了基于elementUI實(shí)現(xiàn)圖片預(yù)覽組件的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
vue+animation動(dòng)畫(huà)實(shí)現(xiàn)跑馬燈效果
這篇文章主要為大家詳細(xì)介紹了vue+animation動(dòng)畫(huà)實(shí)現(xiàn)跑馬燈效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
基于Vue3實(shí)現(xiàn)動(dòng)態(tài)表格的完整指南
動(dòng)態(tài)表格是一種在運(yùn)行時(shí)可生成或修改的表格,持排序、篩選、分頁(yè)和編輯等復(fù)雜交互,下面我們就來(lái)看看如何在Vue3中具體實(shí)現(xiàn)動(dòng)態(tài)表格的完整步驟吧2026-05-05

