【前端】Vue项目和微信小程序生成二维码和条形码

前言:哈喽,大家好,我是前端菜鸟的自我修养!今天给大家分享Vue项目和微信小程序如何生成二维码和条形码,介绍了JsBarcode、wxbarcode等插件,并提供具体代码帮助大家深入理解,彻底掌握!原创不易,如果能帮助到带大家,欢迎 收藏+关注 哦 💕

🌈🌈文章目录

一、简介

1. 二维码

2. 条形码

二、微信小程序 - 生成二维码(qrcode)和条形码(barcode)

1.安装

2. 使用方法

3. 条形码

4. 二维码

5. 具体实例

三、VUE 生成二维码(qrcodejs)和条形码(barcode)

1. VUE 生成二维码(qrcodejs)

1.1 安装依赖 

1.2 组件内使用

1.3 完整实例

2. VUE 条形码(barcode)

2.1 安装依赖

2.2 main.js中全局引入

2.3 定义组件

2.4 使用组件

2.5 结果展示

参考文档:

一、简介

1. 二维码

二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一种编码方式。它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型

2. 条形码

条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称空)排成的平行线图案。条形码可以标出物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等许多信息,因而在商品流通、图书管理、邮政管理、银行系统等许多领域都得到广泛的应用 。

二、微信小程序 - 生成二维码(qrcode)和条形码(barcode)

采用wxbarcode--微信小程序生成条码和二维码模块。

1.安装

$ npm install wxbarcode

2. 使用方法

import wxbarcode from 'wxbarcode'

wxbarcode.barcode('barcode', '1234567890123456789', 680, 200);
wxbarcode.qrcode('qrcode', '1234567890123456789', 420, 420);

3. 条形码

函数名:barcode

函数原型:barcode(id, code, width, height)

参数:

  • id: wxml文件中的 Canvas ID
  • code: 用于生成条形码的字符串
  • width: 生成的条形码宽度,单位 rpx
  • height: 生成的条形码高度,单位 rpx

4. 二维码

函数名:qrcode

函数原型:qrcode(id, code, width, height)

参数:

  • id: wxml文件中的 Canvas ID
  • code: 用于生成二维码的字符串
  • width: 生成的二维码宽度,单位 rpx
  • height: 生成的二维码高度,单位 rpx

5. 具体实例

utils文件下载地址,此步骤是必须的

pages/index/index.js

//index.js
var wxbarcode = require("../../utils/index.js");

Page({
  data: {
    code: "1234567890123456789",
  },

  onLoad: function () {
    wxbarcode.barcode("barcode", "1234567890123456789", 680, 200);
    wxbarcode.qrcode("qrcode", "1234567890123456789", {
      codeSize: 420,
      color: "#ff0000",
      bgcolor: "#ffffff",
    });
  },
});

pages/index/index.wxml

<!--index.wxml-->
<view class="container page">
  <view class="panel">
    <view class="header">
    </view>
    <view class="barcode">
      <view class="barnum">{{code}}</view>
      <canvas canvas-id="barcode" />
    </view>
    <view class="qrcode">
      <canvas canvas-id="qrcode" />
    </view>
  </view>
</view>

三、VUE 生成二维码(qrcodejs)和条形码(barcode)

1. VUE 生成二维码(qrcodejs)

QRCode.js 是用于制作 QRCode 的 javascript 库。 QRCode.js 支持跨浏览器与 HTML5 Canvas 和 DOM 中的表格标签。 QRCode.js 没有依赖项。

1.1 安装依赖 

npm i qrcodejs2 --save

1.2 组件内使用

import QRCode from 'qrcodejs2'

// 1、简单使用:
const qrcode = new QRCode(qrcodeDiv, 'this is qrcode')

// 2、复杂使用
const qrcode = new QRCode(qrcodeDiv, {
    text: 'this is qrcode', // 用于生成二维码的文本
    width: 200, // 高度
    height: 200, // 宽度
    colorDark: '#000000', //前景色
    colorLight: '#ffffff', //后景色
    correctLevel: QRCode.CorrectLevel.H, //容错级别 QRCode.CorrectLevel.L QRCode.CorrectLevel.M QRCode.CorrectLevel.Q QRCode.CorrectLevel.H
}) 

1.3 完整实例

<template>
  <div>
      <div id="qrCode" ref="qrCodeDiv"></div> 
  </div>
</template>

<script> 

import QRCode from 'qrcodejs2';  // 引入 QRCode

export default {
  name: "CdsQRCode2", 
  data() {
    return { 
    };
  },
  mounted() {
    this.getCode();
  }, 
  methods: {
      getCode() { 
          new QRCode(this.$refs.qrCodeDiv, {
            text: 'this is qrcode', // 用于生成二维码的文本
            width: 200,
            height: 200,
            colorDark: '#333', //二维码颜色
            colorLight: '#fff', //二维码背景色
            correctLevel: QRCode.CorrectLevel.L//容错率,L/M/H
          })  
    },

  }
};
</script>  

2. VUE 条形码(barcode)

JsBarcode 是一个用 JavaScript 编写的条形码生成器。它支持多种条形码格式,可在浏览器和 Node.js 中使用。当它用于 web 时它没有依赖性,但如果你喜欢它,它可以与 jQuery 一起使用。

2.1 安装依赖

npm install jsbarcode --save

2.2 main.js中全局引入

import JsBarcode from 'jsbarcode'
Vue.prototype.jsbarcode = JsBarcode

2.3 定义组件

'@/components/Barcode'

<template>
    <div class="barcode-wrapper">
        <img :style="widthStyleObj" class="barcode" />
    </div>
</template>
  
<script>
import JsBarcode from 'jsbarcode'
export default {
    props: {
        JsBarcodeData: {
            type: Object,
        },
    }, 
    mounted() {
        this.$nextTick(() => {
            JsBarcode('.barcode', String(this.JsBarcodeData.text), {     
                 // format: "CODE39",//选择要使用的条形码类型 --  default: "auto" (CODE128)
                  width:1,//设置条之间的宽度
                  height:40,//高度
                  displayValue:false ,//是否在条形码下方显示文字
            //   text:"456",//覆盖显示的文本
            //   fontOptions:"bold italic",//使文字加粗体或变斜体
            //   font:"fantasy",//设置文本的字体
            //   textAlign:"left",//设置文本的水平对齐方式
            //   textPosition:"top",//设置文本的垂直位置
            //   textMargin:5,//设置条形码和文本之间的间距
                 fontSize:15,//设置文本的大小
                 background: this.JsBarcodeData.background,,//设置条形码的背景
                 lineColor: this.JsBarcodeData.lineColor,//设置条和文本的颜色。
                 margin:0//设置条形码周围的空白边距
            });
        })
    },
}
</script>
<style scoped>
.barcode-wrapper {
    display: flex;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.barcode {
    max-width: 375px !important
}
</style>

2.4 使用组件

<template>
  <div>
    <barcode :JsBarcodeData="JsBarcodeConfigData"/>
  </div>
</template>

<script>
import Barcode from '@/components/Barcode'
export default {
  name: "barcode",
  components: {
    Barcode
  },
  data() {
    return {
      JsBarcodeConfigData : {
            text: '12345678909876543210', // 条形码必须是字符串类型,否则会出现后面几位为数字的情况。
            lineColor: "#333", //条形码颜色
            background: "#fff", //条形码背景色
            width: this.widthStyleObj, 
          }
    }
  },
}
</script>

2.5 结果展示

参考文档:

  • https://github.com/alsey/wxbarcode
  • https://www.npmjs.com/package/wxbarcode/v/1.0.2
  • https://github.com/lindell/JsBarcode

 好了,本文就到这里吧,点个关注再走嘛~ 

🚀 个人简介:7年开发经验,现任职某国企前端负责人,分享前端相关技术与工作常见问题~
💟 作    者:前端菜鸟的自我修养❣️
📝 专    栏:前端常见问题汇总,避坑大全
🌈 若有帮助,还请 关注➕点赞➕收藏  ,不行的话我再努努力💪💪💪  

 更多专栏订阅推荐:

👍 前端工程搭建
💕 vue从基础到起飞

📝 javascript深入研究

✍️ GIS地图与大数据可视化

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/747055.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

sys.stdin对象——实现标准输入

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 sys.stdin是一个标准化输入对象&#xff0c;可以连续输入或读入文件所有内容&#xff0c;不结束&#xff0c;不能直接使用。输入完成后&am…

数据结构——

1. 什么是并查集&#xff1f; 在计算机科学中&#xff0c;并查集&#xff08;英文&#xff1a;Disjoint-set data structure&#xff0c;直译为不数据结构交集&#xff09;是一种数据结构&#xff0c;用于处理一些不交集&#xff08;Disjoint sets&#xff0c;一系列没有重复元…

C#基于SkiaSharp实现印章管理(2)

上一篇文章最后提到基于System.Text.Json能够序列化SKColor对象&#xff0c;但是反序列化时却无法解析本地json数据。换成Newtonsoft.Json进行序列化和反序列化也是类似的问题。   通过百度及查看微软的帮助文档&#xff0c;上述情况下需自定义转换类以处理SKColor类型数据的…

AI自动生成角色和情节连续的漫画,中山大学联想提出AutoStudio,可以多轮交互式连续生成并保持主题一致性。

中山大学和联想研究院提出AutoStudio: 是一种无需训练的多代理框架&#xff0c;用于多轮交互式图像生成&#xff0c;能够在生成多样化图像的同时保持主体一致性。 AutoStudio 采用三个基于 LLM 的智能体来解释人类意图并为 SD 模型生成适当的布局指导。此外&#xff0c;还引入…

go中的方法 func-----数据类型

本文是java学习者学go种产生的容易记混点的笔记,所以有其他编译语言的基础更好 go的方法有点像js 基础 func main() {fmt.Println("Starting")var p *string new(string)*p "hello world"demo : "demo"fmt.Println(*&demo) //这样既然也…

山水风景视频素材去哪里下?去哪里找?山水风景下载网站分享

在这个数字时代&#xff0c;视频已经成为最直观、有效的传达情感和分享故事的工具。对于那些渴望通过视频传递视觉美感和情感共鸣的创作者来说&#xff0c;拥有高质量的山水风景视频素材是关键。互联网虽然是一个信息量庞大的平台&#xff0c;但找到令人赞叹的山水风景视频素材…

SOA和ESB介绍

SOA&#xff08;面向服务的架构&#xff09; 面向服务的架构&#xff08;Service-Oriented Architecture&#xff0c;SOA&#xff09;是一种设计理念&#xff0c;用于构建松耦合的、可互操作的、模块化的服务。在SOA架构中&#xff0c;应用程序被划分为一系列的服务&#xff0c…

让AI保持怪异

让AI保持怪异 Anthropic的创意技术专家和员工设计师凯尔图尔曼(Kyle Turman)分享了一种深深引起共鸣的观点。他说(转述原话):“人工智能实际上真的很奇怪&#xff0c;我认为人们对这一点的认识还不够。”这引发了我向小组提出的问题:我们是否有消毒人工智能固有的陌生感的风险?…

基于百度地图实现矩形绘制/电子围栏/自定义覆盖物选择、点击、区域选中、轨迹绘制

目录 开发前的准备账号注册页面创建地图初始化矩形绘制开启绘制模式监听绘制完成事件矩形取消事件自定义覆盖物渲染数据准备覆盖物渲染自定义点击事件优化用户刷新提供的覆盖物添加右键菜单轨迹绘制开发前的准备 账号注册 百度地图开发者平台点此访问 登录注册后点击右上角的控…

VS 在多线程中仅调试某个线程

调试多线程程序时&#xff0c;只想观察某个线程的运行情况&#xff1b; 但是&#xff0c;由于线程切换执行&#xff0c;会导致调试时焦点在几个代码块之间跳来跳去&#xff0c;故需要解决这个问题。 参考文章&#xff1a; C#使用线程窗口调试多线程程序。 1 打开线程窗口&…

Marin说PCB之total etch length规则知多少?

魔都上海最近迎来了一轮梅雨季节了&#xff0c;小编我上周就已经提前把被子衣服袜子都晒了一遍&#xff0c;省的后面一段时间下雨就不能晒了。这种阴雨绵绵的天气当然在家里睡觉最舒服了&#xff0c;上周留正当我在家里夏眠的时候&#xff0c;突然被一阵手机铃声吵醒了&#xf…

已解决:SQL Server 2012评估期已过

解决方案如下&#xff1a; 第一步&#xff0c;打开2012版的安装中心&#xff0c;选择版本升级 参考路径&#xff1a; C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft SQL Server 2012\配置工具 第二步&#xff0c; 输入产品序列号&#xff08;其他版本的请自…

springboot vue 开源 会员收银系统 (8) 收银台、开卡结算及订单的优化升级

前言 完整版演示 开发版演示 在之前的开发进程中&#xff0c;我们基本搭建了收银台的基础。这次着重梳理一下收银台相关功能的开发及优化情况。 1.会员查询与开卡 收银台新增加了会员筛选功能 并且会员和会员卡是一对多的关系 理论可以开无数张卡 默认选择一张卡 会员卡选择…

vue3 层级选择器 el-cascader展示 更多的信息

cascader 正常情况下可以满足我们所需&#xff0c;一般展示的就是 {label:‘’ &#xff1b;value:‘’} 但有时候需要展示更多的信息工用户查看&#xff0c;如下图。此时就需要我们进行一定的改造。 代码如下&#xff1a; <el-form-item label"相关人员"><…

一控十!轻松远程控制你的安卓大军:Windows/macOS/Linux全平台攻略

只要是安卓7.0及以上版本的手机&#xff0c;都可以使用AirDroid的远程控制功能。 如果你的电脑是Windows&#xff0c;macOS系统&#xff0c;可以安装客户端或使用网页版。 如果你的电脑是Linux系统&#xff0c;也可以通过AirDroid网页版远程控制安卓手机。 下载AirDroid个人版…

平凉小果子,平凡中的惊艳味道

平凉美食小果子&#xff0c;这看似平凡的名字背后&#xff0c;藏着无数平凉人的美好回忆。它不仅仅是一种食物&#xff0c;更是一种情感的寄托&#xff0c;一种文化的传承。小果子的制作过程看似简单&#xff0c;实则蕴含着深厚的功夫。选用优质的面粉作为主要原料&#xff0c;…

ACL 2023事件相关(事件抽取、事件关系抽取、事件预测等)论文汇总

ACL 2023事件抽取相关(事件抽取、事件关系抽取、事件预测等)论文汇总&#xff0c;后续会更新全部的论文讲解。 Event Extraction Code4Struct: Code Generation for Few-Shot Event Structure Prediction 数据集&#xff1a;ACE 2005 动机&#xff1a;与自然语言相比&#xf…

对抗生成网络GANP52-

1.对抗生成网络的重点&#xff1a;有原始的输入&#xff0c;按照需求&#xff0c;生成新的数据。 eg1:超分辨率重构(首先先告诉神经网络什么是低分辨率&#xff0c;什么是高分辨率&#xff0c;让计算机学习两者的联系。 eg2:警察抓小偷的时候&#xff0c;由于录像太过模糊&…

最新解决docker镜像无法下载问题

1.增加或修改daemon.json文件 ​ cd /etc/dockervi daemon.json{ "registry-mirrors": [ "https://docker.m.daocloud.io" ] }2.重启docker服务 sudo systemctl daemon-reload sudo systemctl restart docker 3.验证 下载https://txodoo.cn/blog/11/d…

观星观景大屏呈现 实时拍摄长焦定格 当当狸智能天文望远镜TW2来啦

《宇宙的奇迹》中有这样一句话&#xff1a;“我们与那些遥远星系息息相关&#xff0c;无论它们是如何与我们天各一方&#xff0c;那些经过数十亿年旅行到达地球的光线&#xff0c;终究会把我们联系在一起”。 想象一下—— 等到繁星低垂&#xff0c;月光皎洁之时&#xff0c;…