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>
相关推荐
滴水未满6 小时前
uniapp的调试和安装
uni-app
2501_915909068 小时前
设置了 SSL Pinning 与双向 TLS 验证要怎么抓包
网络·网络协议·ios·小程序·uni-app·iphone·ssl
壹号机长9 小时前
vue3+uniapp 今天及未来六天日期的时间段预约选择,时间段预约当前时间之前禁用选择
uni-app
滴水未满12 小时前
uniapp的页面
前端·uni-app
2501_9160074714 小时前
如何查看 iOS 设备系统与硬件信息,iOS系统信息显示工具
android·ios·小程序·https·uni-app·iphone·webview
2501_9160074716 小时前
iOS APP 开发,从项目创建、证书与描述文件配置、安装测试和IPA 上传
android·ios·小程序·https·uni-app·iphone·webview
滴水未满16 小时前
uniapp的工程
前端·uni-app
云上凯歌2 天前
01_AI工具平台项目概述.md
人工智能·python·uni-app
郑州光合科技余经理2 天前
O2O上门预约小程序:全栈解决方案
java·大数据·开发语言·人工智能·小程序·uni-app·php
2501_916008892 天前
在不越狱前提下导出 iOS 应用文件的过程,访问应用沙盒目录,获取真实数据
android·macos·ios·小程序·uni-app·cocoa·iphone