You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
	
	
		
			
				
					
						
							|  |  |  |  | <template> | 
					
						
							|  |  |  |  |     <view class="content">{{scanCode}}</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("android.intent.ACTION_DECODE_DATA"); // 换你的广播动作
 | 
					
						
							|  |  |  |  |             receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver',{ | 
					
						
							|  |  |  |  |             onReceive : function(context, intent) { | 
					
						
							|  |  |  |  |                 plus.android.importClass(intent); | 
					
						
							|  |  |  |  |                 let code = intent.getStringExtra("barcode_string");// 换你的广播标签
 | 
					
						
							|  |  |  |  |                 _this.queryCode(code); | 
					
						
							|  |  |  |  |             }}); | 
					
						
							|  |  |  |  |         }, | 
					
						
							|  |  |  |  |         startScan(){ | 
					
						
							|  |  |  |  |             main.registerReceiver(receiver,filter); | 
					
						
							|  |  |  |  |         }, | 
					
						
							|  |  |  |  |         stopScan(){ | 
					
						
							|  |  |  |  |             main.unregisterReceiver(receiver); | 
					
						
							|  |  |  |  |         }, | 
					
						
							|  |  |  |  |         queryCode: function(code){ | 
					
						
							|  |  |  |  |             //防重复
 | 
					
						
							|  |  |  |  |             if(_codeQueryTag)return false; | 
					
						
							|  |  |  |  |             _codeQueryTag = true; | 
					
						
							|  |  |  |  |             setTimeout(function(){ | 
					
						
							|  |  |  |  |                 _codeQueryTag = false; | 
					
						
							|  |  |  |  |             },150); | 
					
						
							|  |  |  |  |             var id = code | 
					
						
							|  |  |  |  |             console.log('id:', id) | 
					
						
							|  |  |  |  |             uni.$emit('scancodedate',{code:id}) | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | </script> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <style> | 
					
						
							|  |  |  |  |     page { | 
					
						
							|  |  |  |  |         background-color: #efeff4; | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |     .content { | 
					
						
							|  |  |  |  |         text-align: center; | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | </style> |