当前位置:首页 > 移动端开发 > 正文内容

[uniapp] 扫码功用

邻居的猫1个月前 (12-09)移动端开发250

APP、微信小程序 (原生扫码功用)

<!-- 在 'manifest.json' 中答应翻开摄像头权限 -->

<template>
	<button @click="scanQRcodes">扫码</button>
</template>

<script setup>
// 扫码
const scanQRcodes = () => {
	uni.scanCode({
		success: (res) => {
			if (res.result) {
				console.log('扫描成果:', res.result);
			} else {
				uni.showToast({
					title: '扫描失利',
					icon: 'none'
				});
			}
		},
		fail: (err) => {
			if (err.errMsg.includes('cancel')) {
				uni.showToast({
					title: '扫描已撤销',
					icon: 'none'
				});
			} else {
				uni.showToast({
					title: '调用相机失利',
					icon: 'none'
				});
			}
		}
	});
};
</script>

h5(扫码功用插件)

  1. 导入插件(两种方法,选其一)

    (1)HBuilder 创立的项目:从运用商场导入 mumu-getQrcode 到uniapp项目中

    (2)脚手架创立的 uni 项目:需求自行装置 jsQR 依靠,并且修正组件中源码中的引进。

    # 装置 jsQR
    npm install jsqr --save
    
    # 修正组件源码对 jsQR 依靠
    import jsQR from "jsqr"
    
  2. 新建页面 scan-qrcode,作为扫码页面。

    <template>
    	<view class="container">
    		<mumu-get-qrcode @success='qrcodeSucess' @error="qrcodeError"></mumu-get-qrcode>
    	</view>
    </template>
     
    <script>
    	import mumuGetQrcode from '@/uni_modules/mumu-getQrcode/components/mumu-getQrcode/mumu-getQrcode.vue'
        
    	export default {
    		components: {
    			mumuGetQrcode  //注册
    		},
    		data() {
    			return {
    			}
    		},
    		name: 'Qrcode',
    		methods: {
    			qrcodeSucess(data) { //扫码成功
    				 console.log(data)
                  // 承认弹窗(若不需求能够去除)
    				 uni.showModal({
    				 	title: '成功',
    				 	content: data,
    				 	success: () => { // 承认弹窗后的操作 }
    				 })
    			},
    			qrcodeError(err) {  //扫码失利
    				uni.showModal({
    					title: '摄像头授权失利',
    					content: '摄像头授权失利,请检测当时浏览器是否有摄像头权限。',
    					success: () => {
    						uni.navigateBack({})  //回来到上一页
    					}
    				})
    			}
    		}
    	};
    </script>
    
  3. 在需求调用扫码功用的页面进行 页面跳转

    uni.navigateTo({
        url: '/pages/scan-qrcode/scan-qrcode'
    });
    
  4. 相关API

    可传特点(Props)
    参数 阐明 类型 默认值
    continue 是否接连获取。false 监听一次 true 继续监听 Boolean false
    exact 选调用摄像头。environment 后摄像头 user 前摄像头 String environment
    size 扫码屏幕巨细。whole 全屏 balf 半屏 String whole
    definition 调用摄像头清晰度。fasle 正常 true 高清 Boolean false
    事情(Events)
    事情名 阐明 回调参数
    success 检测到图中有二维码并读取到数据是回调 二维码数据
    error 组件内部发送过错,通常是摄像头没有调用成功 过错信息,概况见下

    常见的过错信息:

    • AbortError[间断过错]

      虽然用户和操作系统都颁发了拜访设备硬件的权力,并且未呈现或许抛出NotReadableError反常的硬件问题,但仍然有一些问题的呈现导致了设备无法被运用。

    • NotAllowedError[回绝过错]

      用户回绝了当时的浏览器实例的拜访恳求;或许用户回绝了当时会话的拜访;或许用户在大局范围内回绝了一切媒体拜访恳求。

    • NotFoundError[找不到过错]

      找不到满意恳求参数的媒体类型。

    • NotReadableError[无法读取过错]

      虽然用户现已授权运用相应的设备,操作系统上某个硬件、浏览器或许网页层面产生的过错导致设备无法被拜访。

    • OverconstrainedError[无法满意要求过错]

      指定的要求无法被设备满意,此反常是一个类型为OverconstrainedError的目标,具有一个constraint特点,这个特点包括了当时无法被满意的constraint目标,还具有一个message特点,包括了阅览友爱的字符串用来阐明状况。

    • SecurityError[安全过错]

      getUserMedia() 被调用的 Document 上面,运用设备媒体被制止。这个机制是否敞开或许封闭取决于单个用户的偏好设置。

    • TypeError[类型过错]

      constraints 目标未设置[空],或许都被设置为false

    插槽 (slot)
    插槽称号 阐明 默认值
    error 当发送过错时,在页面上显现的内容 相机权限被回绝提示

扫描二维码推送至手机访问。

版权声明:本文由51Blog发布,如需转载请注明出处。

本文链接:https://www.51blog.vip/?id=502

分享给朋友:

“[uniapp] 扫码功用” 的相关文章

iOS开发- RunLoop

iOS开发- RunLoop

RunLoop用于办理事情的循环处理机制。运转循环在应用程序的主线程中主动发动,担任监听和分发各种事情,包含用户交互(如接触事情)、守时器事情、选择器调用和其他异步回调。 运转循环的效果 运转循环的首要效果包含: 处理输入事情:运转循环监听用户的输入,如接触、点击和滑动事情,并将它们分发到恰当的处理...

鸿蒙初辟本无性,鸿蒙初辟本无性——探寻宇宙与人生的起源

“鸿蒙初辟本无性”出自道教典籍《太上老君说常清静经》,意思是“混沌初开时,本无男女之分”。鸿蒙,指宇宙形成之前的混沌状态,也指元气,元气无形无质,混沌不分,故称鸿蒙。道教认为,道是宇宙万物的本源,鸿蒙未判之前,道在天地之外,混沌之中,故说鸿蒙初辟本无性。鸿蒙初辟本无性——探寻宇宙与人生的起源在古老的...

天地鸿蒙 谁为情种,天地鸿蒙的奥秘

天地鸿蒙 谁为情种,天地鸿蒙的奥秘

“天地鸿蒙,谁为情种”出自曹雪芹的名著《红楼梦》。这句话出现在《红楼梦》第五回的《红楼梦曲·引子》中,是贾宝玉梦游太虚幻境时,十二仙子演奏的警幻仙子新制的《红楼梦》十二支仙曲的引子。具体解释如下: 开辟鸿蒙:指的是天地开辟以来的意思。鸿蒙是古人设想的大自然原始混沌的状态。 谁为情种:指的是谁是最痴情...

手机麻将app制作开发,手机麻将APP制作开发全攻略

手机麻将app制作开发,手机麻将APP制作开发全攻略

制作开发手机麻将APP是一个复杂的过程,涉及多个方面,包括游戏设计、开发、测试、发布和维护。下面是制作开发手机麻将APP的一些基本步骤:1. 需求分析: 确定目标用户群体。 确定游戏类型(如四川麻将、广东麻将等)和规则。 确定游戏模式(如单机、联机、在线对战等)。 确定盈利模...

红米手机开发者选项在哪里打开,红米手机开发者选项在哪里打开?详细步骤解析

红米手机开发者选项在哪里打开,红米手机开发者选项在哪里打开?详细步骤解析

红米手机(Redmi)的开发者选项通常默认是隐藏的,需要手动开启。以下是开启红米手机开发者选项的步骤:1. 打开“设置”应用。2. 滑动到“关于手机”或“我的设备”选项。3. 在“关于手机”或“我的设备”页面,找到“MIUI版本”或“版本号”。4. 连续点击“MIUI版本”或“版本号”七次。此时,您...

android开发app,android下载安装官方

Android 开发 APP 指南1. 准备开发环境: 安装 JDK : Android 开发主要使用 Java 语言,因此需要安装 JDK。 安装 Android Studio: Android Studio 是官方提供的集成开发环境 ,提供代码编辑、调试、模拟器等功能。 配置模拟器或设备: 您...