uniapp二维码生成

uniapp二维码生成

参考文档

【博主:ChoneyLove】uniapp中生成二维码及解决微信小程序端问题总结

依赖引入

shell 复制代码
npm i uqrcodejs

代码

html部分

html 复制代码
<canvas type="2d" id="qrCode" canvas-id="qrCode" style="width: 72rpx; height: 72rpx;"></canvas>

生成代码(vue3 hook)

javascript 复制代码
// 生成二维码
import UQRCode from 'uqrcodejs';
import { onShow } from "@dcloudio/uni-app"
import { nextTick } from 'vue';

export default function useCreateQRCode(type : number = 0, targetName : string = 'qrCode', size : number = 72) {
	// 生成二维码
	const createQRCode = async () => {
		let url = `...`;
		console.log(url);
		let qr = new UQRCode();
		qr.data = url
		qr.size = uni.upx2px(size); // 注意这里大小要跟画布大小一致,否则二维码可能超出画布
		qr.make();
		const canvasContext = uni.createCanvasContext(targetName);
		qr.canvasContext = canvasContext;
		qr.drawCanvas();
	}

	onShow(() => {
		nextTick(() => {
			createQRCode();
		})
	})
	return {}
}

使用

html 复制代码
<template>
	<view>
		<!-- ... -->
		<canvas type="2d" id="qrCode" canvas-id="qrCode" style="width: 72rpx; height: 72rpx;"></canvas>
	</view>
</template>

<script setup lang="ts">
	import useCreateQRCode from "@/hooks/createQRCode";
	useCreateQRCode();
</script>
相关推荐
DONSEE广东东信智能读卡器7 小时前
蓝牙身份证阅读器使用Uniapp调用二次开发demo
javascript·uni-app·蓝牙·身份证阅读器
fakaifa12 小时前
【开源版】likeshop上门家政系统PHP版全开源+uniapp前端
小程序·uni-app·php·家政小程序源码·家政服务小程序·源码下载·上门家政
阿諪諪13 小时前
uniapp小程序中实现无缝衔接滚动效果
小程序·uni-app
七七小报17 小时前
uniapp-商城-48-后台 分类数据添加修改弹窗bug
uni-app·bug
七七小报18 小时前
uniapp-商城-50-后台 商家信息
uni-app
七七小报19 小时前
uniapp-商城-51-后台 商家信息(logo处理)
java·服务器·windows·uni-app
七七小报1 天前
uniapp-商城-47-后台 分类数据的生成(通过数据)
uni-app
ᥬ 小月亮1 天前
Uniapp编写微信小程序,使用canvas进行绘图
微信小程序·uni-app·c#
向明天乄1 天前
uni-app,小程序自定义导航栏实现与最佳实践
小程序·uni-app