当前位置:   article > 正文

Vue实现生成二维码_vue生成二维码

vue生成二维码

目  录

①首先创建一个vue项目

②引入qrcodejs2

③封装组件

1. 创建Vue文件

2. 定义template模板

3. 引入QRCode包

4. 进行封装

5. less控制样式

④启动项目

1. 在终端输入启动项目命令

2. 在浏览器中输入访问地址

3. 访问生成的二维码

4. 扫码进行解析


与后端用Java实现生成二维码相比,在前端用Vue生成二维码更加简单、灵活。

①首先创建一个vue项目

可以用vue-cli脚手架去生成。

②引入qrcodejs2

在终端输入以下命令:

npm install  qrcodejs2 --save

封装组件

1. 创建Vue文件

在src/views路径下创建111.vue文件

2. 定义template模板

  1. <template>
  2. <body>
  3. <div id="qqq" >
  4. <div id="qrCode" ref="qrCodeDiv"></div>
  5. </div>
  6. </body>
  7. </template>

3. 引入QRCode包

import QRCode from 'qrcodejs2';

4. 进行封装

  1. <script>
  2. export default {
  3. name: "qrCode",
  4. data() {
  5. return {}
  6. },
  7. mounted: function () {
  8. this.$nextTick(function () {
  9. this.bindQRCode();
  10. })
  11. },
  12. methods: {
  13. bindQRCode: function () {
  14. new QRCode(this.$refs.qrCodeDiv, {
  15. text: 'Vue实现生成二维码!',
  16. width: 200,
  17. height: 200,
  18. colorDark: "#333333", //二维码颜色
  19. colorLight: "#ffffff", //二维码背景色
  20. correctLevel: QRCode.CorrectLevel.L//容错率,L/M/H
  21. })
  22. }
  23. }
  24. }
  25. </script>

5. less控制样式

布局样式大家可以根据自己的喜好去定义,也可以用css控制样式,这里用less控制样式简单举个例子:

  1. <style lang='less'>
  2. #qqq {
  3. background-color: #111;
  4. width:300px;
  5. height:300px;
  6. margin: 0 auto; /*水平居中*/
  7. position: relative;
  8. }
  9. #qrCode {
  10. display: inline-block;
  11. margin: 0 auto; /*水平居中*/
  12. position: relative;
  13. top: 15%;
  14. img {
  15. width: 200px;
  16. height: 200px;
  17. background-color: #fff; //设置白色背景色
  18. padding: 6px; // 利用padding的特性,挤出白边
  19. }
  20. }
  21. </style>

本人是把样式也写在111.vue文件里面,也可以分开去写!

④启动项目

1. 在终端输入启动项目命令

npm run serve

成功启动项目:

2. 在浏览器中输入访问地址

http://localhost:8080/111

这里我们设计了路由,所以输入/111相当于输入/111.vue

可以在src/router/index.ts中添加一下代码:

  1. const routes: Array<RouteRecordRaw> = [
  2. {
  3. path: '/111',
  4. name: '生成二维码',
  5. component: () => import('../views/111.vue')
  6. }
  7. ]

3. 访问生成的二维码

4. 扫码进行解析

识别图中的二维码后,可以看到显示我们自己设置的文本内容“Vue实现生成二维码!” 

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

闽ICP备14008679号