推广

uniapp监听PDA激光扫描

iseeyu2年前 (2024-02-21)推广127

image.png

在你的uni-app项目里 新建一个公共组件 就叫 scan-code 吧,放到公共组件components中,目录:components/scan-code/scan-code.vue这里就用到了广播动作和广播数据标签

filter.addAction(“android.intent.ACTION_DECODE_DATA”)

intent.getStringExtra(“barcode_string”)

代码里的filter.addAction里换成你的广播动作,intent.getStringExtra(里换成你的广播标签

代码如下:

<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("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>

页面引用,只引用一次就好,我是index.vue 引用的,我的app的其他功能都是在这个页面链接走的

直接上代码:

切记:首页往各个子页面跳转的时候 移除监听事件uni.$off(‘scancodedate’),要不首页的监听会一直存在,就会出现首页这个扫码

uni.navigateTo({ 之前、之前、之前 uni.$off(‘scancodedate’)

<template>  
    <view>  
        <view>你的页面内容</view>  
        <scan-code></scan-code>  
    </view>  
</template>  

<script>  
import scanCode from "@/components/scan-code/scan-code.vue";  
export default {  
    components: { scanCode },  
    data() {  
        return {}  
    }  
    onShow: function() {  
        var _this = this  
        uni.$off('scancodedate') // 每次进来先 移除全局自定义事件监听器  
        uni.$on('scancodedate',function(data){  
            console.log('你想要的code:', data.code)  
        })  
    }  
} 

其他的页面引用方法:不需要再次引入scanCode因为其他的页面都是从首页跳转过来的,所以其他的页面需要

onUnload() {
// 移除监听事件
uni.$off(‘scancodedate’)
}

onLoad() {  
   var _this = this  
   uni.$on('scancodedate',function(data){  
        // _this 这里面的方法用这个 _this.code(data.code)  
    console.log('你想要的code:', data.code)  
   })  
},  
onUnload() {  
   // 移除监听事件      
   uni.$off('scancodedate')  
}  

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

版权声明:本文由西安泽虎代运营发布,如需转载请注明出处。

转载请注明出处https://www.0291.com.cn/post/57296.html

相关文章

浙江发布首个博物馆领域地方标准

浙江发布首个博物馆领域地方标准

央广网北京1月6日消息 近日,浙江省第一部博物馆领域地方标准《博物馆教育服务规范》正式发布。浙江省博物馆资源丰富,博物馆总量位居全国前列。近年来,通过推动博物馆资源与中小学课堂教学、综合实践活动有机结合,建立了中小学生利用博物馆学习的长效机制。全省各级博物馆因地制宜、立足特...

我来教你你不知道的全网推广策略。

我来教你你不知道的全网推广策略。

网络营销和传统营销比起来,具有投资小,见效快,回报大的特点,企业在发展的过程中,可以利用互联网进行一种全新的网络营销模式,叫全网营销,也叫全网推广,利用推广自己企业的产品和服务。下面云裂变介绍一些其他常见的企业进行全网营销(全网推广)的方法。 全网推广有哪些战略可以用到? 1、全网推广—...

SEO服务都有什么类型。

SEO服务都有什么类型。

SEO服务都有什么类型?现在市面上的SEO服务有很多,企业却不知道该选择哪一种。seo精灵小编今天就来跟大家介绍一下SEO服务的类型,希望对大家的工作有帮助。企业选择适合自己的SEO服务能够更好地进行SEO优化,达到目的。首先就要了解全部的SEO服务类型,在有针对性地进行分析解读。...

教你百度整改竞价排名模式的影响将十分深远。

教你百度整改竞价排名模式的影响将十分深远。

其实,很多中国的互联网公司都有各自的“风险点”。如假货之于电商,盗版之于视频网站的原罪,预装捆绑之于手机厂商,那么的商业模式就是搜索引擎的风险点了。如今,在内外多重因素的影响之下,百度决定亲自对曾依赖多年的竞价排名模式动刀子。下面, 云裂变,网站托管行业唯一上市公司的小编将为大家揭晓百度要如何对自...

天猫保价险在哪里查找(天猫保价服务在哪)

天猫保价险在哪里查找(天猫保价服务在哪)

在天猫上的价保服务对于普通的买家来说是非常好的,因为不用担心自己购买的商品价格下降,其实这个保价服务就是天猫保价险了,很多买家不知道自己的商品是否有保价险,下面说说在哪里查看。...

网站优化不平稳的要素有哪些。

网站优化不平稳的要素有哪些。

在做网站优化时,有很多的不平稳的因素,这些因素对优化是很不好的。小编给大家介绍一下网站优化不平稳的要素。 网站空间的稳定 经过操作了很多不同类型的网站,统计分析后发现,网站空间的性能稳定对于网站的百度收录影响是越来越重要,作为一个打算长期运行的网站,保证网站配置一个价格合适性能优越的网站空间,是...

现在,非常期待与您的又一次邂逅

我们努力让每一部企业宣传片和抖音短视频成为商业大片