uni-app-H5页面调用设备摄像头扫描二维码

应用场景:APK里面webView,访问用uniapp写的H5页面,需要调用设备摄像头扫描二维码

首先下载导入扫描插件:H5调用摄像头识别二维码(原生H5调用,不需要任何sdk,本地扫描识别,不需要后端) - DCloud 插件市场

插入好之后,新建页面用于展示扫描界面

<template>
	<view>
		<mumu-get-qrcode @success="qrcodeSucess" @error="qrcodeError" :continue="false">
			<template v-slot:error>
				<view>摄像头启动失败</view>
			</template>
		</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 {}
	},
	methods: {
		qrcodeSucess(data) {
			uni.showModal({
				title: '成功',
				content: data,
				success: () => {
					uni.$emit('refreshPreviousPage', data);
					uni.navigateBack({
						delta: 1
					});
				}
			})
		},
		qrcodeError(err) {
			console.log(err)
			uni.showModal({
				title: '摄像头授权失败',
				content: '摄像头授权失败,请检测当前浏览器是否有摄像头权限。',
				success: () => {
					uni.navigateBack({})
				}
			})
		}
	}
}
</script>

<style></style>

点击扫描按钮

//扫描二维码
		saomiao() {
			uni.navigateTo({
				url: `/pages/saomiao/saomiao`
			})
		},

这样就可以打开扫描界面,返回你扫描得到的信息。

切记!!!H5页面的环境必须是HTTPS!!!

切记!!!H5页面的环境必须是HTTPS!!!

切记!!!H5页面的环境必须是HTTPS!!!

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
H5调用摄像头,可以使用HTML5的WebRTC技术,通过getUserMedia API来获取用户媒体设备,包括摄像头、麦克风等。 在uni-app中,你可以使用uni-app提供的uni-app-plus插件来实现在H5调用摄像头的功能。 首先,在uni-app项目中,需要安装uni-app-plus插件。可以在项目根目录下执行以下命令进行安装: ``` npm install @dcloudio/uni-app-plus --save ``` 安装完成后,在需要使用摄像头页面中,引入plus对象,并调用plus.camera.getCamera()方法来获取摄像头的实例: ```javascript import uni from 'uni-app-plus'; const plus = uni.requireNativePlugin('plus'); const camera = plus.camera.getCamera(); ``` 获取到摄像头实例后,可以使用startPreview()方法来启动摄像头预览: ```javascript camera.startPreview({ index: 0, // 指定摄像头的索引,0为后置摄像头,1为前置摄像头 resolution: 'high', // 指定摄像头分辨率 format: 'jpg', // 指定预览图片的格式 success: function() { console.log('启动摄像头成功'); }, fail: function(err) { console.error('启动摄像头失败:' + err.message); } }); ``` 启动摄像头预览后,可以使用takePicture()方法来拍照: ```javascript camera.takePicture({ quality: 80, // 拍照图片质量 success: function(image) { console.log('拍照成功,图片地址为:' + image); }, fail: function(err) { console.error('拍照失败:' + err.message); } }); ``` 拍照成功后,可以通过返回的image参数获取到拍摄的照片地址。 需要注意的是,使用WebRTC技术获取用户媒体设备需要用户授权,因此在调用摄像头前,需要先请求用户授权。可以使用uni-app提供的uni.authorize()方法来请求用户授权: ```javascript uni.authorize({ scope: 'scope.camera', success: function() { console.log('用户授权成功'); // 调用摄像头相关方法 }, fail: function(err) { console.error('用户授权失败:' + err.message); } }); ``` 以上就是在uni-app中在H5调用摄像头的基本流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值