使用vue、jQuery生成帶有logo的二維碼


有三種插件可以生成帶有logo的二維碼

第一種:vue_qrcodes

先在命令行輸入下面代碼安裝插件

1 npm install vue_qrcodes

源碼如下:

 1  1 <template> 
 2  2     <div> 
 3  3      <qrcode :url="data.url" :iconurl="data.logo" :wid="300" :hei="300" :imgwid="54" :imghei="54"></qrcode>
 4  4     </div>
 5  5 </template> 
 6  6 <script>
 7  7 import qrcode from 'vue_qrcodes'
 8  8 export default {
 9  9   name: 'qrcode',
10 10   components:{
11 11       qrcode
12 12   },
13 13   data(){
14 14     return{
15 15        data:{
16 16           url:"https://www.cnblogs.com/bushan/",
17 17          logo:"http://www.sceneray.com/images/index/logo.png",
18 18        }
19 19     }
20 20   }
21 21 }
22 22 </script>

在qrcode標簽中還有兩個參數:colorDark(二維碼的顏色),colorLight(二維碼的背景色)。

這種方式生成的二維碼在下載二維碼時會丟失logo。

第二種:qrcode-vue

先安裝qrcode-vue

1 npm install qrcode-vue

代碼:

<template>
  <div>
    <qrcode-vue 
      :size="size" 
      :value="qrUrl" 
      :logo="logo" 
      :bgColor="bgColor" 
      :fgColor="fgColor"
    ></qrcode-vue>
  </div>
</template>
<script>
  import qrcodeVue from 'qrcode-vue'
  export default {
    data () {
      return {
        size: 300,
        bgColor: '#fff',
        fgColor: '#000',
        qrUrl: 'https://www.cnblogs.com/bushan/',
        logo: require('@/assets/logo.png')
      }
    },
    components: {
      qrcodeVue
    }
  }
</script>
logo的地址很容易出錯,像一些網頁圖片並不支持

第三種:基於jquery.qrcode.js插件
效果:

完整代碼:
 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6   <style>
 7     .qr-code {
 8       text-align: center;
 9       padding-top: 60px;
10     }
11   </style>
12 </head>
13 <body>
14     <div class="qr-code">
15       <div id="qrcode"></div>
16     </div>
17 
18 <script src="js/jquery.js"></script>
19 <script src="js/jquery.qrcode.js"></script>
20 <script src="js/utf.js"></script>
21 <script>
22   $(function () {
23     var qrUrl = "https://www.cnblogs.com/bushan/"
24     var logoUrl = 'https://pic.cnblogs.com/avatar/1387841/20190704162859.png';
25 
26     //生成二維碼
27     $('#qrcode').qrcode({
28       render: "canvas",
29       text: qrUrl,
30       width: "250",               //二維碼的寬度
31       height: "250",              //二維碼的高度
32       background: "#ffffff",       //二維碼的后景色
33       foreground: "#000000",        //二維碼的前景色
34       src: logoUrl           //二維碼中間的圖片
35     });
36 
37   })
38 </script>
39 </body>
40 </html>

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM