VUE将后端返回的二维码字符串生成二维码,并下载

第一个功能:当前页面中显示二维码

第一:安装

npm i qrcodejs2 --save

第二步:当前页面使用

<div id="qrcode" class="erweima" ref="qrcode"></div>

第三步:JS

<script type="text/javascript">
	//vue使用qrcode插件将后端返回的二维码字符串生成二维码
	import QRCode from 'qrcodejs2'
	export default {
		data() {
			return {
				qrcode : '',
				qr: '',
			}
		},
		mounted() {
			this.MyCode()
		},
		methods: {
			// 我的数据码
			MyCode() {
				this.$api.POSTTwo(this.$url.MyCode + localStorage.getItem('token'), '', (res) => {
					this.password = res.Data;
					// this.qrcode = res.Data;
					//具体代码
					this.qr = new QRCode('qrcode', {
						text: 'userCode=' + this.password,
						width: 160,
						height: 160,
						colorDark: "#000000",
						colorLight: "#ffffff",
						correctLevel : QRCode.CorrectLevel.H
					})
				})
			},
		}
	}
</script>

第二个功能:当前列表每条数据都包含各自的二维码,点击下载可以下载彼此的二维码 

第一步:安装

npm i qrcodejs2 --save

第二步:引入

//vue使用qrcode插件将后端返回的二维码字符串生成二维码
import QRCode from 'qrcodejs2'

第三步:页面中使用

<el-form-item label="二维码:" v-if="dialogStatus == 'seeDetail'">
	<div id="qrcode" class="qrcode" ref="qrCodeUrl"></div>
	<!--下载功能-->
	<el-button style="margin-top: 20px;" size="mini"
	    @click="downloadQRCode(temp.LabelName,temp.EndTime)">二维码下载</el-button>
	    
</el-form-item>

第四步:JS

// 点击用户详情时
seeDetail(row) {
	this.dialogStatus = 'seeDetail'
	console.log('打印row下的二维码字符串', row.LabelCode)

	//防止生成多个。(每次生成之前,把上一次的DOM节点的二维码删除掉,然后再添加新生成的二维码)
	this.$nextTick(function() {
		let dom = document.getElementById("qrcode");
		while (dom.firstChild) {
			dom.removeChild(dom.firstChild);
		}
		//调用字符串生成二维码的方法
		this.creatQrCode(row.LabelCode)
	});
},

//字符串生成二维码的方法
creatQrCode(LabelCode) {
	console.log('获取到的code', LabelCode)
	var qrcode = new QRCode(this.$refs.qrCodeUrl, {
		text: LabelCode, // 需要转换为二维码的内容
		width: 100,
		height: 100,
		colorDark: '#000000',
		colorLight: '#ffffff',
		correctLevel: QRCode.CorrectLevel.H
	})
},

//下载二维码图片
downloadQRCode(LabelName, EndTime) {
	let myCanvas = document.getElementById("qrcode").getElementsByTagName("canvas");
	let a = document.createElement("a");
	a.href = myCanvas[0].toDataURL("image/png");
	a.download = LabelName+'--'+EndTime; //图片名(自动匹配标签名称+标签截止时间)
	a.click();
	// console.log('打印下载', LabelName, EndTime)
},


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Vue生成字符串二维码,你可以使用vue-qr组件。在安装了vue-qr组件之后,你可以在Vue组件中使用它。你可以通过以下方式来实现: 1. 在你的项目中安装vue-qr组件,可以使用npm命令:npm install vue-qr --save。 2. 在需要生成二维码的Vue组件中,导入vue-qr组件:import VueQR from 'vue-qr'。 3. 在该组件的template中,添加VueQR组件并传递相应的参数。例如,你可以设置text参数为需要生成二维码的字符串,设置size参数为二维码的大小,设置margin参数为二维码图像的外边距等。 4. 使用生成的二维码组件,你可以将其放置在需要显示二维码的位置。 总结起来,使用vue-qr组件可以方便地在Vue项目中生成字符串二维码。你可以安装组件,导入组件并在需要生成二维码的地方使用该组件,同时可以根据需要传递相应的参数来自定义生成的二维码的样式。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue字符串生成二维码的相关组件](https://blog.csdn.net/qq_41231694/article/details/125314858)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值