美文网首页
uni-app对接pad扫描功能

uni-app对接pad扫描功能

作者: 甘道夫老矣 | 来源:发表于2021-01-07 09:04 被阅读0次

哪里需要用到扫描功能,哪里就把这个放在页面上,里面有些参数是需要跟当前的pad工具里面的参数一致的
一般都会默认一样的

<script>
var main, receiver, filter;
var _codeQueryTag = false;
export default {
  data() {
    return {
        }
  }
  onShow() {
    //PDA扫描开始
    this.startScan();
  },
  onLoad(value) {
    //PDA扫描初始化实例
    this.initScan()
  },
  onHide() {
    //PDA扫描调用结束
    this.stopScan();
  },
  onUnload() {
    /*页面退出时一定要卸载监听,否则下次进来时会重复,造成扫一次出2个以上的结果*/
    this.stopScan();
  },
  methods: {
      // 扫描逻辑
            initScan() {
                let _this = this;
                /* #ifdef APP-PLUS */
                main = plus.android.runtimeMainActivity(); //获取activity  
                /* var context = plus.android.importClass('android.content.Context'); */
                var IntentFilter = plus.android.importClass('android.content.IntentFilter');
                /* var Intent = plus.android.importClass('android.content.Intent'); */
                filter = new IntentFilter();
                filter.addAction("com.android.server.scannerservice.broadcast");
                receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', {
                    onReceive: function(context, intent) {
                        plus.android.importClass(intent);
                        /*不同的手机或pda,这个值就不一样,要具体去查硬件api*/
                        let code = intent.getStringExtra("scannerdata");
                        /* rmker.showTip('条码:'+code); */
                        /*调用本页面某方法*/
                        _this.queryCode(code);
                    }
                });
                /* #endif */
            },
            startScan() {
                /* #ifdef APP-PLUS */
                main.registerReceiver(receiver, filter);
                /* #endif */
            },
            stopScan() {
                /* #ifdef APP-PLUS */
                main.unregisterReceiver(receiver);
                /* #endif */
            },
            queryCode: function(code) {
                //防重复  
                if (_codeQueryTag) return false;
                _codeQueryTag = true;
                setTimeout(function() {
                    _codeQueryTag = false;
                }, 150);
                //到这里扫描成功了,可以调用自己的业务逻辑,code就是扫描的结果  
                if (code) {
                    this.scanCode = code.replace(/\s/g, "");
                    console.log(code)
                    
                }
            },
    }
}

相关文章

  • uni-app对接pad扫描功能

    哪里需要用到扫描功能,哪里就把这个放在页面上,里面有些参数是需要跟当前的pad工具里面的参数一致的一般都会默认一样的

  • uni-app小程序开发踩坑记录

    最近要从零开发一个跟后台管理系统对接的小程序,因为功能比较复杂,时间短,选择了比较火的uni-app,因为小程序出...

  • Graph pad做图

    Graph pad是一款作图软件,功能十分强大,最新的graph pad已经有制作热图的功能。 我介绍的是Grap...

  • uni-app app跳转mini程序

    记录uni-app 开发的App如何跳转mini程序 1. uni-app打开分享功能 2. 获取mini程序原始...

  • iEnglish介绍:

    iEnglish介绍: 一、使用系统自带的pad,这个pad没有游戏功能,只能用来学英语,实现专机专用。 二、17...

  • ios-二维码扫描

    2.设置扫描控制器,实现扫描功能

  • ARFoundation 扫描局部图显示模型

    背景: AR项目开发时遇到的这个问题,即扫描的底图特别大,好几米×好几米的那种,只用一台手机或者Pad不可能扫描到...

  • iOS扫描功能

    扫描大概流程: 创建设备对象,输入输出对象(这个比较好理解,扫描毕竟需要手机设备,扫描肯定是有输入输出操作) 创建...

  • 系统的二维码扫描 - 基础实现

    基础功能,具体细节处理,需要再添加; 授权 二维码扫描需要拍照功能, 开启拍照扫描 扫描成果 iOS8 识别图中二...

  • iEnglish类母语英语训练系统的详细介绍

    一、iEnglish是一个大型在线智能分级听读系统,使用一个专门的PAD来阅读,这个pad没有游戏功能,只能用来学...

网友评论

      本文标题:uni-app对接pad扫描功能

      本文链接:https://www.haomeiwen.com/subject/fsvnoktx.html