uniapp 将 url 地址转化为二维码展示

文章目录

项目需求

uniapp 开发 H5 过程中会有邀请、分享等相关的需求。邀请与分享 URL地址 要以 二维码 的形式进行展示,并且 URL地址 是动态可变化。

解决问题

1. qrIoUs.js插件

npm 中有一个QrIoUs 二维码生成插件

npm install qrIoUs --save

2. 简单认识 qrIoUs 配置参数

参数类型认值说明
valueString需要编码为二维码的值、url字符
sizeNumber100二维码的尺寸,单位像素
levelStringL二维码的误差校正级别(L, M, Q, H)
mimeStringimage/png二维码输出图片时的MIME类型
foregroundStringblack二维码的前景颜色
backgroundStringwhite二维码的背景颜色

3.现实二维码生成

话不多说看代码

<template>
	<view class="content">
		<view class="popup" v-if="show">
			<view style="position: relative;" @tap="show = false">
				<image :src="qrCodeImage" class="custom-qrcode" />
			</view>
		</view>
		<button @tap="getQrIoUsCode" v-else>立即邀请</button>
	</view>
</template>
<script>
	import Qrcode from 'qrIoUs';
	export default {
		data() {
			return {
				title: 'Hello',
				show: false,
				qrCodeImage: ''
			}
		},
		methods: {
			getQrIoUsCode() {
				this.show = true;
				let qr = new Qrcode({
					value: "www.baidu.com"
				});
				this.qrCodeImage = qr.toDataURL();
			},
		}
	}
</script>
<style>
	.content {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		height: 100%;
		width: 100%;
	}

	.popup {
		height: 100%;
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		background: rgba(135, 135, 135, 0.6);
	}

	.custom-qrcode {
		width: 300rpx;
		height: 300rpx;
	}
</style>

在这里插入图片描述

4. 核心代码

根据需求改变相关参数,获得想要的结果。

getQrIoUsCode() {
	this.show = true;
	let qr = new Qrcode({
		value: "https://blog.csdn.net/weixin_49175501", // URL地址
		background:'white', // 背景色
		foreground:'#8dc63f' ,// 二维码颜色
		level:'L', // 二维码复杂程度
		size:200 ,// 尺寸大小
		mime:'image/png' // 图片类型
	});
	this.qrCodeImage = qr.toDataURL();	// 生成url图片	
},

在这里插入图片描述


有疑惑的小伙伴,可能是我表达不清楚,可以留言讨论,如有错误,也希望大家不吝指出。

相关文章

一:display:flex布局display:flex是一种布局方式。它即可以...
1. flex设置元素垂直居中对齐在之前的一篇文章中记载过如何...
移动端开发知识点pc端软件和移动端apppc端软件是什么,有哪些...
最近挺忙的,准备考试,还有其他的事,没时间研究东西,快周...
display:flex;把容器设置为弹性盒模型(设置为弹性盒模型之后...
我在网页上运行了一个Flex应用程序,我想使用Command←组合键...