看似簡單的動作,其實包含著識別、解析和轉換的過程。每次掃描一個 QR 碼,都像是在尋找隱藏的資訊,解讀那些肉眼無法直接看到的內容。
useQRCode
是 VueUse 中用於生成 QR Code 的工具,能夠根據輸入文字生成對應的QR Code。本文將詳細介紹其功能、參數和使用範例,並給出應用場景的建議。
useQRCode
APIuseQRCode
可以將文字內容轉換為 QR Code 圖片,並以 Data URL 的形式返回,方便直接展示在頁面中。有豐富的設定參數來控制生成的 QR Code 外觀,比如尺寸、顏色、容錯率等,滿足不同的業務需求。
名稱 | 類型 | 說明 |
---|---|---|
text |
MaybeRefOrGetter<string> |
要轉換為 QR Code 的文字。可以是響應式引用或 Getter 函數。 |
options |
QRCode.QRCodeToDataURLOptions |
可選參數,用於設定 QR Code 的外觀和行為。 |
useQRCode
的 options
是基於 qrcode
庫的配置,用於自定義 QR Code 的外觀和行為,以下列出常用的選項:
名稱 | 類型 | 默認值 | 說明 |
---|---|---|---|
width |
number |
200 |
QR Code 圖片的寬度。 |
margin |
number |
4 |
QR Code 圖片的外邊距。 |
color.dark |
string |
#000000 |
QR Code 繪製部分的顏色。 |
color.light |
string |
#FFFFFF |
QR Code 空白部分的顏色。 |
errorCorrectionLevel |
'L' | 'M' | 'Q' | 'H' |
'M' |
QR Code 的容錯級別,分別表示容錯率(L 表示最低,H 表示最高)。 |
useQRCode
返回一個包含以下屬性的對象:
名稱 | 類型 | 說明 |
---|---|---|
qrCodeUrl |
Ref<string> |
QR Code 的 Data URL,可以直接用於 <img> 標籤顯示。 |
以下是一個基本用法的範例,展示如何使用 useQRCode
生成 QR Code 並顯示在頁面中。
<template>
<div>
<input v-model="text" placeholder="輸入要生成的文字"/>
<div v-if="qrCodeUrl">
<img :src="qrCodeUrl" alt="QR Code" />
</div>
</div>
</template>
<script setup>
import { ref } from 'vue'
import { useQRCode } from '@vueuse/core'
const text = ref('<https://vueuse.org>')
const { qrCodeUrl } = useQRCode(text)
</script>
以下範例展示如何自定義 QR Code 的外觀,例如改變顏色和尺寸。
<template>
<div>
<input v-model="text" placeholder="輸入要生成的文字"/>
<div v-if="qrCodeUrl">
<img :src="qrCodeUrl" alt="QR Code" />
</div>
</div>
</template>
<script setup>
import { ref } from 'vue'
import { useQRCode } from '@vueuse/core'
const text = ref('Hello World!')
const { qrCodeUrl } = useQRCode(text, {
width: 300,
color: {
dark: '#1a73e8', // 深藍色
light: '#ffffff' // 白色
},
errorCorrectionLevel: 'H' // 高容錯率
})
</script>
useQRCode
的使用場景useQRCode
useQRCode
封裝了複雜的 QR Code 生成邏輯,開發者可以輕鬆生成 QR Code,無需手動處理圖片轉換和格式。useQRCode
支持豐富的自定義選項,例如尺寸、顏色、容錯級別等,滿足不同應用場景的需求。useQRCode
可以根據輸入文字的變化自動重新生成 QR Code,增強用戶體驗。useQRCode
能夠提升應用的互動性和便利性。useQRCode
是一個蠻方便的工具,它提供了簡潔的 API 和豐富的設定選項,讓開發者能輕鬆生成 QR Code 並客製化其外觀,無需編寫繁瑣的額外程式碼。善用useQRCode
,不僅能提升應用的易用性,更能大幅改善用戶體驗。
如果對 useQRCode
有任何問題或需要補充的部分,請隨時告訴我!