当前位置:   article > 正文

vue 生成二维码的两种方式

vue 生成二维码

方式一:qrcode(无 icon 图标)

npm i qrcodejs2 --save

完整代码

  1. <template>
  2. <div class="flex-box">
  3. <div>qrcode(无 icon 图标)</div>
  4. <div class="qr-code" ref="qrCodeUrl"></div>
  5. </div>
  6. </template>
  7. <script>
  8. import QRCode from 'qrcodejs2';
  9. export default {
  10. data() {
  11. return {};
  12. },
  13. methods: {
  14. /* 创建二维码 */
  15. creatQrCode() {
  16. new QRCode(this.$refs.qrCodeUrl, {
  17. text: 'https://blog.csdn.net/AdminGuan', // 二维码的内容
  18. width: 150,
  19. height: 150,
  20. colorDark: '#000',
  21. colorLight: '#fff',
  22. correctLevel: QRCode.CorrectLevel.H
  23. });
  24. }
  25. },
  26. mounted() {
  27. this.creatQrCode(); // 创建二维码
  28. }
  29. };
  30. </script>
  31. <style scoped>
  32. .flex-box {
  33. display: flex;
  34. align-items: center;
  35. justify-content: center;
  36. flex-direction: column;
  37. }
  38. .qr-code {
  39. padding: 10px;
  40. margin-top: 20px;
  41. background-color: #fff;
  42. border: 1px solid red;
  43. }
  44. </style>

方式二:vue-qr(有 icon 图标)

官网地址:vue-qr - npm

npm install vue-qr --save

import 引入方式

import vueQr from 'vue-qr'; // vue2.0
import vueQr from 'vue-qr/src/packages/vue-qr.vue'; // vue3.0 (support vite)

完整代码

  1. <template>
  2. <div class="flex-box">
  3. <div>vue-qr(有 icon 图标)</div>
  4. <vue-qr class="qr-code" :logoSrc="imageUrl" :text="qrCodeUrl" :size="150" />
  5. </div>
  6. </template>
  7. <script>
  8. import vueQr from 'vue-qr'; // vue2.0
  9. // import vueQr from 'vue-qr/src/packages/vue-qr.vue'; // vue3.0 (support vite)
  10. export default {
  11. components: { vueQr },
  12. data() {
  13. return {
  14. qrCodeUrl: 'https://blog.csdn.net/AdminGuan', // 二维码的内容
  15. imageUrl: require('../assets/default.jpg') // icon路径
  16. };
  17. },
  18. methods: {}
  19. };
  20. </script>
  21. <style scoped>
  22. .flex-box {
  23. display: flex;
  24. align-items: center;
  25. justify-content: center;
  26. flex-direction: column;
  27. }
  28. .qr-code {
  29. margin-top: 20px;
  30. background-color: #fff;
  31. border: 1px solid red;
  32. }
  33. </style>

相关配置属性

属性名含义
text编码内容
correctLevel容错级别(0 - 3)
size尺寸,长宽一致, 包含外边距
margin二维码图像的外边距,默认 20px
colorDark实点的颜色
colorLight空白区的颜色
bgSrc欲嵌入的背景图地址
gifBgSrc欲嵌入的背景图 gif 地址,设置后普通的背景图将失效。设置此选项会影响性能
backgroundColor背景色
backgroundDimming叠加在背景图上的颜色,在解码有难度的时有一定帮助
logoSrc嵌入至二维码中心的 logo 地址
logoScale用于计算 logo 大小的值,过大将导致解码失败,logo 尺寸计算公式 logoScale * (size - 2 * margin),默认 0.2
logoMarginlogo 标识周围的空白边框,默认为 0
logoBackgroundColorlogo 背景色,需要设置 logo margin
logoCornerRadiuslogo 标识及其边框的圆角半径,默认为 0
whiteMargin若设为 true,背景图外将绘制白色边框
dotScale数据区域点缩小比例,默认为 0.35
autoColor若为 true,图像将被二值化处理,未指定阈值则使用默认值
binarizeThreshold(0 < threshold < 255) 二值化处理的阈值
callback生成的二维码 data url 可以在回调中取得,第一个参数为二维码 data url,第二个参数为 props 传过来的 qid(因为二维码生成是异步的,所以加个 id 用于排序)
bindElement指定是否需要自动将生成的二维码绑定到 HTML 上,默认是 true
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/547495
推荐阅读
相关标签
  

闽ICP备14008679号