uni-app+优博讯DT50U进行二次开发

1.使用RFID功能:由于DT50U是串口通讯,所以需要使用串口插件,进行二次开发,获取到数据就行了,但是需要注意配置,还有就是使用串口如果没有扫描到芯片的话需要对数据进行过滤,判断串口的数据length即可。
2.一维码二维码功能:通过的广播方式进行传递

<template>
	<view class="content"></view>
</template>

<script>
	var main, receiver, filter;
	var _codeQueryTag = false;
	export default {
		data() {
			return {
				scanCode: ''
			}
		},
		created: function(option) {
			this.initScan()
			this.startScan();
		},
		onHide: function() {
			this.stopScan();
		},
		destroyed: function() {
			/*页面退出时一定要卸载监听,否则下次进来时会重复,造成扫一次出2个以上的结果*/
			this.stopScan();
		},
		methods: {
			initScan() {
				let _this = this;
				main = plus.android.runtimeMainActivity(); //获取activity  
				var IntentFilter = plus.android.importClass('android.content.IntentFilter');
				filter = new IntentFilter();
				// filter.addAction("nlscan.action.SCANNER_RESULT"); // 换你的广播动作  
				filter.addAction("nlscan.intent.action.uhf.ACTION_RESULT"); // 换你的广播动作
				receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', {
					onReceive: function(context, intent) {
						console.log(intent)
						plus.android.importClass(intent);
						var code1 = intent.getStringExtra("SCAN_BARCODE1"); // 换你的广播标签
						if(code1!=null){
							_this.queryCode(code1,2);
						}
					}
				});
			},
			startScan() {
				main.registerReceiver(receiver, filter);
			},
			stopScan() {
				main.unregisterReceiver(receiver);
			},
			queryCode: function(code,type) {
				//防重复  
				if (_codeQueryTag) return false;
				_codeQueryTag = true;
				setTimeout(function() {
					_codeQueryTag = false;
				}, 150);
				var id = code
				// console.log('id:', id)
				uni.$emit('scancode', {
					code: id,
					type:type
				})
				
			},

		}
	}
</script>

<style>
	page {
		background-color: #efeff4;
	}

	.content {
		text-align: center;
	}
</style>

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值