1. 不是所有的PAD设备 都有设置-扫描设置-然后选择广播模式(查看广播动作-广播标签),可能也是在pad设备自带扫描工具(app)参数设置里面–然后选择广播模式(查看广播动作/名称-广播标签/键值/key)

2 . 组件设置

      <template><view><view class="content"></view></view></template><!-- 激光扫码,广播模式 --><script>var main, receiver, filter;var codeQueryTag = false;export default {data() {return {scanCode: ''}},created() {this.initScan()this.startScan();},onHide() {this.stopScan();},destroyed() {this.stopScan();},methods: {initScan() {//  #ifdef APPconsole.log('initScan:扫码初始化');let that = this;main = plus.android.runtimeMainActivity(); //获取activity//var context = plus.android.importClass('android.content.Context'); //上下文var IntentFilter = plus.android.importClass('android.content.IntentFilter');filter = new IntentFilter();//下面的addAction 改为自己 pad 设备的广播动作(在扫描设置或者厂商附带的app 里面设置为广播模式,然后查看相应参数)filter.addAction("com.scanner.broadcast");receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', {onReceive: (context, intent)=> {console.log('---onReceive:',context, intent);plus.android.importClass(intent);//下面的getStringExtra内改为自己的广播标签(键值/key): dataconsole.log('---***getStringExtra: ',intent.getStringExtra("data"));let code = intent.getStringExtra("data");console.log('---扫码data: ', code);that.queryCode(code);}});// #endif},startScan() {//  #ifdef APPconsole.log('startScan,开启广播接收');main.registerReceiver(receiver, filter);// #endif},stopScan() {//  #ifdef APPconsole.log('stopScan,结束');main.unregisterReceiver(receiver);// #endif},// 避免重复扫码queryCode: function(code) {//  #ifdef APPif (codeQueryTag) return false;codeQueryTag = true;setTimeout(function() {codeQueryTag = false;}, 150); console.log('-****--扫码code: ',code);let data = codeuni.$emit('xwscan', {code: data})// #endif}}}</script>

** 3.** 调用

<template><view class="content"><view class="uni-form-item uni-column"><view class="title">实时获取请扫描输入值:{{value}}</view><u--input class="input" v-model="value" placeholder="请扫描" :focus="focus" clearable @input="onInput"@confirm="confirm"  @blur="blur"/></view><xw-scan></xw-scan></view>
</template><script>// 广播模式激光扫码import xwScan from '@/components/padDevice/scan-code.vue'export default {components: {xwScan},data() {return {value: '',focus: false,scanTitle: "扫描结果",}},onLoad() {// plus.key.addEventListener('keydown', event => {//     console.log("按键:" + event);//     console.log("按键:" + event.keyCode);//     if (event.keyCode == '139') {//         uni.hideKeyboard();//   }// });},onUnload() {// 移除监听事件      uni.$off('xwscan')},onShow() {uni.$off('xwscan') // 每次进来先 移除全局自定义事件监听器uni.$on('xwscan', (res) => {console.log('扫码结果:', res.code);this.scanTitle = '激光扫码结果';this.value= res.code;})},methods: {focusHide(val) {let that = this// setTimeout(() => {that.focus = true;// }, 100)console.log('eeeee')// 这是隐藏自动弹出软键盘 (好像没有用)setTimeout(() => {uni.hideKeyboard();}, 100)},blur(){this.focus = false;},confirm(value) {// 自动多次扫码let that = this// that.value = ''setTimeout(() => {that.focus = false;that.$nextTick(() => {that.focus = true;});// that.value = ''}, 350)console.log('扫码结果:', value);},onInput(value) {this.value = value},}}
</script>

关于uinapp 调用PDA设备激光扫码 - 广播模式相关推荐

  1. vue3 + uniapp 实现PDA设备的扫码功能

    vue3 + uniapp 实现PDA设备的扫码功能 这里必须要用input 不然输入框不能再次聚焦!!!!!!!! 只有input 默认聚焦状态,扫码枪的数据才会默认填入input <inpu ...

  2. uniapp 实现PDA设备的扫码功能 超级详细篇

    1. 原理 说明:项目中使用的是标准的扫码枪,标准的意思就是它都不给开发文档.走的标准"输入事件",和外接键盘是一样的.扫码枪扫描到的条形码每一位会触发一次onkeydown事件. ...

  3. uniapp在PDA手持终端扫码

    PDA手持终端输出方式分为广播输出和键盘输出,针对广播输出和键盘输出获取到扫码或者输入的值 方式一.PDA手持终端激光扫码调用方式(广播输出) <template><view cla ...

  4. 2,uniapp功能之—扫码(条形码,二维码)点击扫码或者pda侧边按钮扫码

    最近在搞uniapp的项目,所以最近的文章基本上是关于uniapp的. 分享一个自动生成二维码的网址,点击前往 注意 如果扫码和上一个nfc功能在同一个页面里面,会发生冲突,只有一个有用,一个没有用, ...

  5. 【解决】uniapp,无法在onLoad及onUnload生命周期内触发激光扫码的监听事件,可在created及beforeDestroy生命周期内触发

    [问题] uniapp开发App,发现无法在onLoad及onUnload生命周期内触发及销毁子组件内的激光扫码的监听事件. 子组件内示例代码如下: <script> export def ...

  6. JAVA微信扫码支付模式二功能实现完整例子

    概述 本例子实现微信扫码支付模式二的支付功能,应用场景是,web网站微信扫码支付.实现从点击付费按钮.到弹出二维码.到用户用手机微信扫码支付.到手机上用户付费成功.web网页再自动调整到支付成功后的页 ...

  7. 微信支付开发(2) 扫码支付模式一

    关键字:微信支付 微信支付v3 native支付 扫码支付模式一 统一支付 Native支付 prepay_id  作者:方倍工作室 原文: http://www.cnblogs.com/txw195 ...

  8. Java之微信支付(扫码支付模式二)案例实战

    摘要:最近的一个项目中涉及到了支付业务,其中用到了微信支付和支付宝支付,在做的过程中也遇到些问题,所以现在总结梳理一下,分享给有需要的人,也为自己以后回顾留个思路. 一:微信支付接入准备工作: 首先, ...

  9. 随手记录JAVA微信扫码支付模式二功能

    概述 本例子实现微信扫码支付模式二的支付功能,应用场景是,web网站微信扫码支付.实现从点击付费按钮.到弹出二维码.到用户用手机微信扫码支付.到手机上用户付费成功.web网页再自动调整到支付成功后的页 ...

最新文章

  1. Java 锁机制 synchronized
  2. Django中手动创建虚拟环境
  3. Codeforces Round #631 (Div. 2) C. Dreamoon Likes Coloring 构造
  4. 引用:初探Sql Server 执行计划及Sql查询优化
  5. 神舟战神换cpu教程_神舟将十代i5称为“神U出世”?聊聊到底有哪些优势
  6. 高能!这些段子已刷爆大学老师朋友圈
  7. Mysql 使用正则表达式
  8. keras + tensorflow —— 文本处理
  9. 小学的题 大学的解法
  10. 关于Javascript, php的web公开课笔记
  11. 关于hibernate的mappedBy的使用:
  12. 【图像分类】ResNet网络结构
  13. Win10家庭中文版 如何启用组策略
  14. 最新最全论文合集——基于机器学习/深度学习的睡眠信号分类
  15. PageOffice 安装使用说明
  16. 新浪微博PC客户端(DotNet WinForm C# 版,C#调用新浪微博API代码,源码下载)—— 初探 (第二部分内置链接)
  17. jquery.uploadify php,jquery插件uploadify使用详解
  18. pytoch矩阵乘法torch.bmm
  19. Unix下 压缩和解压缩命令
  20. leetcode 题解 904.水果成篮(Typescript)

热门文章

  1. oracle查看分区表的数据,ORACLE数据库查看分区表相关信息的方法
  2. matlab function输入,怎样在matlab function模块中实现多输入
  3. Device eth0 has different MAC address than expected, ignoring.
  4. CC、Pix4D、PhotoScan生成正射影像并进行拼接修图(附航测练习数据下载)
  5. php如何适应360兼容模式,教你360浏览器开启兼容模式的图文教程
  6. 嵌入式Linux系统图形及图形用户界面综述
  7. 【办公】office无法正常使用中文输入法
  8. java的赋值运算符_Java赋值运算符
  9. ros update 失败解决方法
  10. Android之使用SmartImageView加载图片