APP端----扫码uni.scanCode()不灵敏的问题

直接用uni.scanCode()做扫码功能碰到了扫描不识别的问题,而且是经常出现识别不到,所以就用nvue的barcode组件写了扫码试试,用着比 scanCode()方法强多了。

App-nvue,支持barcode组件,建议使用nvue方式

应用流程

1.点击扫码图标---跳转路由到nvue的扫码组件页面

2.获取二维码内的参数,携带参数返回上一页

3.获取返回的参数进行逻辑交互

4.交互完成,扫码结束。

下面代码是我此次项目用的代码:

<template>
	  <view class="saom" :style="{ width: windowWidth, height: windowHeight }">
	        <barcode id='1' class="barcode" :style="{ width: windowWidth, height: windowHeight }" :autostart="true" ref="barcode"  frameColor="#1C86EE" scanbarColor="#1C86EE" :filters="fil" @marked="success1" @error="fail1"></barcode>
	    </view>
</template>

<script>
	export default { 
	        data() {
	            return {
	                fil: [0,3,12],
					windowWidth: '', //屏幕可用宽度
					windowHeight: '', //屏幕可用高度
	            }
	        },
			onLoad() {
				this.saomhig();
			},
	        methods: {
	            success1(res) {
					let datasp =JSON.parse(res.detail.message)
	                console.log("success1:" +datasp);
					this.scaoyes(datasp)
					
	            },
	            fail1(e) {
	                console.log("fail1:" + JSON.stringify(e));
					uni.navigateBack();
	            },
	            toStart() {
					console.log("开始扫码")
	                this.$refs.barcode.start({
	                    vibrate:false,
						sound:'default'
	                });
	            },
	//设置
	scaoyes(data) {
		let pages = getCurrentPages();
		let prevPage = pages[pages.length - 2]; //上一个页面
		//直接调用上一个页面的setImage()方法,把数据存到上一个页面中去
		prevPage.$vm.saosuccess(data);
		uni.navigateBack();
	},
	// 初始化高度
	saomhig(){
		let _this = this;
		uni.getSystemInfo({
			success: function(res) {
				_this.windowWidth = res.windowWidth;
				_this.windowHeight = res.windowHeight;
				
			}
		});
	}
	           
	        }
	    }
</script>

<style scoped>

</style>

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值