当前位置:   article > 正文

vue项目生成二维码_vue2 生成二维码

vue2 生成二维码

简易二维码(vue2/3)

1、安装依赖包

Vue 中使用 qrcode 库生成二维码,你首先需要安装该库。你可以使用 npm 或 yarn 安装:
npm install qrcode

或者
yarn add qrcode

2、简单示例

然后,你可以在你的 Vue 3组件中使用这个库。下面是一个简单的示例:

  1. <template>
  2. <div>
  3. <h1>示例</h1>
  4. <div style="display: flex;">
  5. <el-input v-model="text" placeholder="输入要生成二维码的文本" style="width: 200px;"/>
  6. <button @click="generateQRCode">生成二维码</button>
  7. </div>
  8. <div v-if="qrCodeDataUrl">
  9. <img :src="qrCodeDataUrl" alt="QR Code" />
  10. </div>
  11. </div>
  12. </template>
  13. <script setup>
  14. import QRCode from 'qrcode'
  15. import { ref } from 'vue'
  16. const text = ref('')
  17. const qrCodeDataUrl = ref(null)
  18. const generateQRCode = async () => {
  19. const dataUrl = await QRCode.toDataURL(text.value)
  20. qrCodeDataUrl.value = dataUrl
  21. }
  22. </script>

vue2:

  1. template>
  2. <div>
  3. <h1>示例</h1>
  4. <div style="display: flex;">
  5. <el-input v-model="text" placeholder="输入要生成二维码的文本" style="width: 200px;"/>
  6. <button @click="generateQRCode">生成二维码</button>
  7. </div>
  8. <div v-if="qrCodeDataUrl">
  9. <img :src="qrCodeDataUrl" alt="QR Code" />
  10. </div>
  11. </div>
  12. </template>
  13. <script setup>
  14. import QRCode from 'qrcode'
  15. export default {
  16. data() {
  17. return {
  18. text: "",
  19. qrCodeDataUrl: null,
  20. };
  21. },
  22. methods: {
  23. generateQRCode async () {
  24. try {
  25. const dataUrl = await QRCode.toDataURL(this.text);
  26. this.qrCodeDataUrl = dataUrl;
  27. } catch (error) {
  28. console.error("Error generating QR Code:", error);
  29. }
  30. },
  31. },
  32. };
  33. </script>

效果图:

在这个示例中,你可以在输入框中输入文本,然后点击按钮生成相应的二维码。qrcode 库的 toDataURL 方法用于将文本转换为数据 URL,然后通过 Vue 绑定将生成的数据 URL 显示为图片。

使用vueqr(功能更加全面)

官网地址:vue-qr - npmvue-qr - npmvue-qr - npm

1、安装

npm install vue-qr --save

2、示例

  1. <template>
  2. <div>
  3. <h1>示例</h1>
  4. <div style="display: flex">
  5. <el-input v-model="text" placeholder="输入要生成二维码的文本" style="width: 200px" />
  6. <el-color-picker v-model="color" show-alpha />
  7. </div>
  8. <div>
  9. <vue-qr
  10. :text="text"
  11. :callback="test"
  12. qid="testid"
  13. :logoSrc="logosrc"
  14. :bgSrc="BgSrc"
  15. margin="0"
  16. colorLight="transparent"
  17. backgroundDimming="rgba(999, 999, 999, 0.5)"
  18. colorDark="transparent"
  19. ></vue-qr>
  20. <br>
  21. <button @click="upDown">下载二维码</button>
  22. </div>
  23. </div>
  24. </template>
  25. <script setup>
  26. import { ref } from 'vue'
  27. import vueQr from 'vue-qr/src/packages/vue-qr.vue'
  28. import logosrc from '../assets/kun.png' //logo图片地址
  29. import BgSrc from '../assets/背景图.jpg' //二维码背景图片
  30. const text = ref('9527') //文本
  31. const code = ref(); //保存二维码图片链接
  32. const test = (dataUrl, id) => {
  33. console.log(dataUrl, id)
  34. code.value = dataUrl
  35. }
  36. // 下载二维码
  37. const upDown = () => {
  38. const link = document.createElement('a')
  39. link.download = 'qrcode.png'
  40. link.href = code.value;
  41. document.body.appendChild(link);
  42. link.click();
  43. document.body.removeChild(link);
  44. }
  45. </script>

3、效果

更多属性用法可以去官网查看试试

vue-qr属性:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/547499
推荐阅读
相关标签
  

闽ICP备14008679号