当前位置:首页 > VUE

vue实现生成二维码

2026-01-12 08:38:11VUE

使用 vue-qrcode 库生成二维码

安装 vue-qrcode 库

npm install @chenfengyuan/vue-qrcode

在 Vue 组件中引入并使用

<template>
  <div>
    <vue-qrcode :value="qrText" :size="200"></vue-qrcode>
  </div>
</template>

<script>
import VueQrcode from '@chenfengyuan/vue-qrcode';

export default {
  components: {
    VueQrcode
  },
  data() {
    return {
      qrText: 'https://example.com'
    }
  }
}
</script>

使用 qrcode.js 库生成二维码

安装 qrcode.js 库

npm install qrcode

在 Vue 组件中使用

<template>
  <div>
    <canvas ref="qrCanvas"></canvas>
  </div>
</template>

<script>
import QRCode from 'qrcode';

export default {
  mounted() {
    this.generateQR();
  },
  methods: {
    generateQR() {
      QRCode.toCanvas(this.$refs.qrCanvas, 'https://example.com', {
        width: 200
      }, (error) => {
        if (error) console.error(error);
      });
    }
  }
}
</script>

自定义二维码样式

通过 CSS 自定义二维码外观

<template>
  <div class="qr-container">
    <vue-qrcode :value="qrText" :size="200" class="qr-code"></vue-qrcode>
  </div>
</template>

<style>
.qr-container {
  padding: 20px;
  background: #f5f5f5;
  border-radius: 8px;
  display: inline-block;
}

.qr-code {
  border: 1px solid #ddd;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
</style>

动态生成二维码内容

实现输入内容实时生成二维码

<template>
  <div>
    <input v-model="qrText" placeholder="输入二维码内容">
    <vue-qrcode :value="qrText" :size="200"></vue-qrcode>
  </div>
</template>

<script>
import VueQrcode from '@chenfengyuan/vue-qrcode';

export default {
  components: {
    VueQrcode
  },
  data() {
    return {
      qrText: ''
    }
  }
}
</script>

下载生成的二维码

添加下载功能

<template>
  <div>
    <vue-qrcode :value="qrText" :size="200" ref="qrCode"></vue-qrcode>
    <button @click="downloadQR">下载二维码</button>
  </div>
</template>

<script>
import VueQrcode from '@chenfengyuan/vue-qrcode';

export default {
  components: {
    VueQrcode
  },
  methods: {
    downloadQR() {
      const link = document.createElement('a');
      link.href = this.$refs.qrCode.$el.toDataURL('image/png');
      link.download = 'qrcode.png';
      link.click();
    }
  },
  data() {
    return {
      qrText: 'https://example.com'
    }
  }
}
</script>

二维码容错级别设置

设置不同容错级别

vue实现生成二维码

<template>
  <div>
    <vue-qrcode 
      :value="qrText" 
      :size="200"
      :error-correction-level="errorLevel">
    </vue-qrcode>
    <select v-model="errorLevel">
      <option value="L">L (低)</option>
      <option value="M">M (中)</option>
      <option value="Q">Q (高)</option>
      <option value="H">H (最高)</option>
    </select>
  </div>
</template>

<script>
import VueQrcode from '@chenfengyuan/vue-qrcode';

export default {
  components: {
    VueQrcode
  },
  data() {
    return {
      qrText: 'https://example.com',
      errorLevel: 'M'
    }
  }
}
</script>

标签: 二维码vue
分享给朋友:

相关文章

vue如何实现到期提醒

vue如何实现到期提醒

实现 Vue 到期提醒功能 使用计算属性计算剩余时间 在 Vue 组件中定义一个计算属性,计算目标日期与当前日期的差值。通过 Date 对象获取时间戳并计算剩余天数或小时数。 computed: {…

vue实现双折线图

vue实现双折线图

实现双折线图的步骤 安装必要的依赖库(如 ECharts 或 Chart.js),这里以 ECharts 为例: npm install echarts --save 在 Vue 组件中引入 ECh…

vue实现截图

vue实现截图

Vue 实现截图的方法 使用 html2canvas 库 安装 html2canvas 库: npm install html2canvas 在 Vue 组件中使用: import html2ca…

vue 全景实现

vue 全景实现

Vue 全景实现方案 在Vue中实现全景效果,通常需要结合WebGL或第三方库来处理3D场景渲染。以下是几种常见方法: 使用Three.js库 Three.js是一个强大的WebGL库,适合创建3D…

vue 实现轮播

vue 实现轮播

Vue 实现轮播的方法 使用第三方库(如 Swiper) 安装 Swiper 库: npm install swiper 在 Vue 组件中引入 Swiper: <template&…

vue实现日历

vue实现日历

Vue 实现日历的基本方法 使用 Vue 实现日历可以通过自定义组件或借助第三方库完成。以下是两种常见实现方式: 自定义日历组件 创建基于 Vue 的日历组件需要处理日期计算和渲染逻辑。核心是生成当…