首页 > 其他分享 >uni_app中使用uQRcode生成二维码并保存到本地

uni_app中使用uQRcode生成二维码并保存到本地

时间:2024-08-20 13:27:47浏览次数:15  
标签:success uQRcode res app 二维码 保存 点击 uni

#效果#

1.首先在插件市场引入uQRcode二维码生成插件,下载并导入到项目uQRCode 全端二维码生成插件 支持nvue 支持nodejs服务端 - DCloud 插件市场icon-default.png?t=N7T8https://ext.dcloud.net.cn/plugin?id=1287

2.在项目中新建vue文件,代码如下

<template>
	<view class="code">
		<view class="uqrcode  flex flex-column justify-center  align-center">
			<uqrcode ref="uqrcode" canvas-id="qrcode" :value="businessData" :options="{ margin: 10}" :size="400"
				sizeUnit="rpx">
			</uqrcode>
			<button class="btn" @click="setAuth">保存图片</button>

		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				businessData: '',//二维码保存的数据
				
			}
		},
		onLoad: function(option) {
			this.businessData = option.item
		},
		methods: {
            //点击保存
			setAuth() {
				let that = this
                //获取用户设置
				uni.getSetting({
					success: res => {
                        //判断当前用户是否有相册权限
						if (res.authSetting['scope.writePhotosAlbum']) {
							console.log('有权限')
							that.save()
						} else {
                            //没有权限则向用户发起授权请求,
							uni.authorize({
								scope: 'scope.writePhotosAlbum',
								success() {
									that.save()
								},
                                //拒绝授权后弹框提示用户打开权限,点击确定进入微信设置
								fail() {
									setTimeout(() => {
										uni.showModal({
											title: '提示',
											content: '请打开保存相册权限后点击保存图片!',
											success: res => {
												if (res.confirm) {
													console.log('用户点击确定');
													uni.openSetting()
												} else if (res.cancel) {
													console.log('用户点击取消');
												}
											}
										})
									}, 1000)
								}
							})
						}
					}
				})
			},
			//调用保存
			save() {
				this.$refs.uqrcode.save({
					success: () => {
						uni.showToast({
							icon: 'success',
							title: '保存成功'
						});
					}
				});
			}
		}
	}
</script>

<style lang="scss" scoped>
	.code {
		width: 100vw;
		height: 100vh;

		.uqrcode {
			margin-top: 200rpx;

			.info {
				font-size: 40rpx;
				font-weight: bold;
				line-height: 100rpx;
			}
		}

		.btn {
			width: 400rpx;
			margin-top: 40rpx;
			background-color: #3c9cff;
			color: #fff;
		}
	}
</style>

***说明:

*不建议在二维码中存储太多数据,数据过多会造成二维码扫不出来

*根据微信开发者文档的要求,openSetting()无法在回调中执行,调整后“打开小程序设置页”只支持主动触发

方法一:

<button open-type="openSetting" bindopensetting="callback">打开设置页</button>

方法二:

通过点击行为触发opensertting(),我这里是通过uni.showModal()点击触发的打开设置页面

关于二维码的一些具体配置可以查看官方文档------------》 uQRCode 中文文档

标签:success,uQRcode,res,app,二维码,保存,点击,uni
From: https://blog.csdn.net/weixin_51575754/article/details/141352276

相关文章

  • Android 10.0 Launcher3从首页开始安装app功能实现
    1.前言 在10.0的系统rom定制化开发中,在进行Launcher3的某些功能开发实现过程中,在某些项目中,安装的app比较多,要求在launcher3的首页开始安装app应用,接下来就需要分析下app安装图标排序的流程,然后在实现相关的功能2.Launcher3从首页开始安装app功能实现的核心类packages/a......
  • 解锁黑科技!百度AppBuilder助你秒变开发者,轻松实现文心一言
    在数字化浪潮席卷全球的今天,人工智能(AI)和大模型技术正以前所未有的速度改变着我们的世界。从自然语言处理到图像识别,从智能推荐到自动化决策,大模型以其强大的数据处理能力和学习能力,正成为推动科技创新的核心动力。然而,对于许多开发者而言,如何高效、便捷地将大模型的能力集......
  • Java计算机毕业设计移动购物管家app(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着移动互联网技术的飞速发展,智能手机已成为人们日常生活中不可或缺的一部分,极大地改变了人们的消费习惯。传统购物模式逐渐向线上转移,移动购物以其......
  • k8s中apply资源文件和replace资源文件的区别
    v1.29.2版本的k8s中资源对象api-resource一共有75种,比如pod,serverice等等创建资源对象的时候,一般是写资源对象文件,里面主要字段是kind\apiVersion\metadata\spec\status在我们使用资源对象文件创建资源实例的时候经常用到kubectlapply-f resourcefilename.yamlkube......
  • 基于python小说APP的设计与实现-附源码
    摘 要大数据时代下,数据呈爆炸式地增长。为了迎合信息化时代的潮流和信息化安全的要求,利用互联网服务于其他行业,促进生产,已经是成为一种势不可挡的趋势。在小说在线阅读的需求下,开发一款小说APP,将复杂的系统进行拆分,能够实现对需求的变化快速响应、系统稳定性的保障,能保证平......
  • 24年首批!上海通管通报违规app涉及欧莱雅、玛莎拉蒂
    8月16日上海市通信管理局官方微信公众号“上海通信圈”发布《上海市通信管理局关于侵害用户权益行为app的通报(2024年第一批)》。本次app通报为2024年第一批。内容显示本次共通报26款移动互联网应用程序涉及app和小程序。应用来源:本次检测的应用来源均为主流分发平台如应用宝、百度......
  • 【unix高级编程系列】信号
    引言以前对信号的理解,仅仅停留在main函数入口注册几个异常信号(SIGPIPE、SIGSEGV、SIGFPE)处理函数。当捕获到异常时,将进程的堆栈进行打印,方便排查、定位问题。这一类问题我认为是利用linux系统的异常信号机制,提高开发效率;后续随着工作经验的增长,linux的信号,还可以有其它用......
  • APP安全检测报告内容详解
    一、APP安全检测的必要性APP安全检测是确保移动应用安全的重要一环。在开发过程中,由于技术、人员和管理等方面的原因,APP可能存在各种安全漏洞和风险。这些漏洞一旦被黑客利用,可能导致用户数据泄露、恶意代码注入、应用被篡改等严重后果。因此,对APP进行安全检测,及时发现并修复......
  • C# x Unity面向对象补全计划 设计模式 之 实现一个简单的有限状态机
    一个简单的有限状态机可以有如下内容1.状态基类(定义基本状态的方法,如进入(Enter)、执行(Execute)和退出(Exit),同时可以在此声明需要被管理的对象)2.具体状态类(定义具体状态,如:跳跃,行走,待机,每个具体状态类继承自状态基类)3.管理状态类(负责管理状态的切换逻辑,确保在不同状态之间进行......
  • 易优CMS内置 application/common.php 与 application/function.php 两文件的函数说明
    系统内置函数建议先熟悉系统内置application/common.php与application/function.php两文件的函数说明,如果有符合的函数,尽量在插件里调用;不符合的话就在插件的logic业务逻辑里实现。以当前开发的易优CMS版本为主,要查找函数是否存在,切记只可调用,不可更改全局函数,以免影响整个......