Skip to content

QRCode 二维码

用于生成二维码。

基本用法

设置 text 属性为二维码内容。

html
<wd-qr-code text="wot-design-uni" />

自定义尺寸

设置 size 属性,单位 px,默认为 200。

html
<wd-qr-code text="wot-design-uni" :size="300" />

自定义颜色

设置 color-darkcolor-light 属性,分别对应实点颜色和空白颜色。

html
<wd-qr-code text="wot-design-uni" color-dark="#3c9cff" color-light="#fff" />

设置 logo 属性为 Logo 图片路径。 可以通过 logo-widthlogo-height 设置 Logo 大小。 通过 logo-radius 设置 Logo 圆角(包括边框和图片)。 通过 logo-border-colorlogo-border-width 设置边框样式。

html
<wd-qr-code
  text="wot-design-uni"
  logo="/static/logo.png"
  :logo-width="50"
  :logo-height="50"
  logo-background-color="#FFFFFF"
  :logo-radius="6"
  logo-border-color="#fff"
  :logo-border-width="4"
/>

码点样式

设置 dot-type 属性,支持 square (默认)、dots (圆点)、rounded (圆角)、liquid (液态)。 可以通过 dot-scale 调整码点大小缩放。

html
<!-- 圆点样式 -->
<wd-qr-code text="wot-design-uni" dot-type="dots" :dot-scale="0.9" />

<!-- 圆角样式 -->
<wd-qr-code text="wot-design-uni" dot-type="rounded" />

<!-- 液态样式 -->
<wd-qr-code text="wot-design-uni" dot-type="liquid" />

渐变颜色

开启 enable-gradient 属性。

  • gradient-color: 渐变结束色(默认从 color-dark 渐变到此颜色)。
  • gradient-direction: 渐变方向,支持 'diagonal' (对角)、'horizontal' (水平)、'vertical' (垂直),也支持传入数字表示角度(如 45)。
  • gradient-colors: 多色渐变数组,优先级高于 color-darkgradient-color
html
<!-- 基础渐变 -->
<wd-qr-code text="wot-design-uni" enable-gradient gradient-color="#00FF00" />

<!-- 自定义角度和多色渐变 -->
<wd-qr-code 
  text="wot-design-uni" 
  enable-gradient 
  :gradient-direction="45" 
  :gradient-colors="['#FF0000', '#00FF00', '#0000FF']" 
/>

背景图片

设置 background-image 属性。

html
<wd-qr-code text="wot-design-uni" background-image="/static/bg.png" />

导出图片

通过 ref 调用 exportImage 方法,返回临时文件路径。

html
<wd-qr-code ref="qrCode" text="wot-design-uni" />
<wd-button @click="exportImage">导出图片</wd-button>

<script lang="ts" setup>
import { ref } from 'vue'

const qrCode = ref()

function exportImage() {
  qrCode.value
    .exportImage()
    .then((res) => {
      console.log('图片路径:', res)
    })
    .catch((err) => {
      console.error('导出失败:', err)
    })
}
</script>

Attributes

参数说明类型默认值
text二维码内容string-
size二维码大小,单位 pxnumber200
correct-level纠错级别,可选值为 L M Q Hstring'H'
color-dark实点颜色string'#000000'
color-light空白颜色string'#FFFFFF'
margin外边距,单位 pxnumber0
logoLogo 图片路径string-
logo-widthLogo 宽度,单位 pxnumber70
logo-heightLogo 高度,单位 pxnumber70
logo-background-colorLogo 背景色string'#FFFFFF'
logo-radiusLogo 圆角,单位 pxnumber0
logo-border-colorLogo 边框颜色string-
logo-border-widthLogo 边框宽度,单位 pxnumber0
dot-type码点类型,可选值为 square dots rounded liquidstring'square'
dot-scale码点缩放比例number1
enable-gradient是否启用渐变booleanfalse
gradient-color渐变结束色string'#000000'
gradient-colors多色渐变颜色数组string[][]
gradient-direction渐变方向,可选值为 diagonal horizontal vertical 或 角度数值string | number'diagonal'
background-image背景图片路径string-
canvas-idCanvas ID,不传自动生成string-

Events

事件名称说明回调参数
click点击组件时触发event: Event
error发生错误时触发error: Error

Methods

方法名称说明参数返回值
exportImage导出二维码图片-Promise<string>

源代码

文档
组件

Released under the MIT License.

Released under the MIT License.