PDA 红外扫码 uniapp

1、在utils文件夹下新建scan.js文件


/**
 * pda红外线扫码
 */
var main = ''
var filter = ''
var receiver = ''
var codeQueryTag = false
let scanSuccess = function(){} // 成功后的操作函数
//开启服务监听
export function initScan(successFun) {
  scanSuccess = successFun
  console.log('开启了监听');
  main = plus.android.runtimeMainActivity();//获取activity  
  var IntentFilter = plus.android.importClass('android.content.IntentFilter');
  filter = new IntentFilter();
  filter.addAction("android.intent.ACTION_DECODE_DATA"); // 换你的广播动作  (设置-扫描设置-输出方式-输出方式改为Intent输出) 
  receiver = plus.android.implements('io.dcloud.android.content.BroadcastReceiver', {
    onReceive: function (context, intent) {
      plus.android.importClass(intent);
      let code = intent.getStringExtra("barcode_string");// 换你的广播标签  
      queryCurrenCode(code);
    }
  });
  console.log('开启监听完成');
}
//这个得有,开启监听用
export function startScan() {
  main.registerReceiver(receiver, filter);
}
//这个也得有,关闭监听用
export function stopScan() {
  main.unregisterReceiver(receiver);
}
//这个是防止重复用的
async function queryCurrenCode(code) {
  //防重复  
  if (codeQueryTag) return false;
  codeQueryTag = true;
  setTimeout(() => {
    codeQueryTag = false;
  }, 150);
  console.log('调用接口啦------', code);
  scanSuccess(code)
}

2、使用页面:

<script>
import { initScan, startScan, stopScan } from "@/utils/scan";

export default {
  onShow() {
    initScan(this.scanSuccess);
    startScan();
  },
  onHide() {
    stopScan();
  },
  methods: {
    // 红外线扫码成功后
    async scanSuccess(code) {
      console.log('红外线扫码的结果', code);
      // 下面就是写取到结果后的事情
    }
  },
}
</script>

附:红外线扫描配置(以优博讯的一款PDA为例)

1、点击【设置】;找到【扫描设置】

2、打开【输出方式】页面,再次点击【输出方式】

 

3、设置【输出方式】为【Intent输出】,此时下方【广播动作】、【广播字符串数据标签】、【广播字节数据标签】为可点击编辑状态;

与代码里的对应上即可,我这里是

【广播动作】:android.intent.ACTION_DECODE_DATA

【广播字符串数据标签】:barcode_string

   

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: UniApp是一个跨平台开发框架,允许使用HTML5+CSS+JavaScript语言开发多种操作系统的应用程序。而PDA则是一种便携式数据终端设备,主要用于生产、仓储、物流等行业。为了提高操作效率,PDA设备一般会配备码枪。 UniApp可以通过插件使用PDA设备上的码功能,实现描条形码、二维码、货架码等多种码制。开发者可以使用uni-plugin-barcode插件方便地在UniApp应用中实现PDA码功能。 此外,开发者还应注意PDA设备与普通设备存在一些差异,例如PDA设备可能无法直接调用系统相机,需要通过API调用厂商提供的相机服务。同时,为了适应PDA设备的操作习惯,应当根据需要调整应用程序的布局、按钮大小等方面。 总之,通过UniAppPDA设备的有机结合,我们可以方便地编写高效的生产、仓储、物流等行业应用程序,提高工作效率和数据处理能力。 ### 回答2: Uniapp是一个开发跨平台应用程序的框架,支持多种移动端系统,如iOS、Android以及Web等。而PDA码指的是使用手持式数据采集设备(Portable Data Assistant)进行码,这种设备通常使用二维码描技术,可以实现快速便捷的数据采集、处理与传输。 在Uniapp中,可以利用插件机制进行PDA码功能实现。Uniapp提供了多个码插件供开发者选择使用,其中比较常用的是uni.scanCode()接口和mipha对PDA硬件的支持。 利用uni.scanCode()接口可以实现对二维码的快速描,同时还支持条形码的识别。其使用方法如下: ``` uni.scanCode({ success: function (res) { console.log(res); } }); ``` 在PDA设备上使用码功能,需要使用mipha插件提供的API。这个API支持PDA设备手持枪和平板设备,不亚于市场上一些专门的PDA描应用。mipha中PDA设备码的代码如下: ``` mipha.scanbarcode.open(function(res){ if (res.result == 'success') { console.log(res); } }); ``` 使用mipha插件进行PDA码需要注意以下事项: 1. 首先需要安装mipha插件,并在manifest.json文件中进行配置。具体方式可以参考官方文档。 2. 在使用PDA设备描功能时,需要保证设备连接正常并具备描功能。 3. 由于不同的PDA设备厂商提供的API可能不同,因此需要根据实际情况进行适配。 总之,在Uniapp中,利用插件进行PDA码功能的实现可以大大提高开发效率和应用的用户体验,是一个值得推荐的方法。 ### 回答3: UniApp是一种基于Vue.js框架的跨平台开发框架,支持一次开发,多端发布。而PDA则是一种便携式数字化设备,常用于仓库、物流等场景的库存管理、码入库出库等操作。在这样的场景下,很多人会有一个疑问:如何实现UniAppPDA码功能呢? 首先,需要确定PDA上的码方式。通常PDA具有集成描头或通过连接描枪进行码。如果PDA已经具备码功能,则需要在UniApp中调用相关的码API来获取设备的描结果。常用的码API支持包括H5+中的plus.barcode、uni.scanCode等。其中,plus.barcode是H5+原生API,也是PDA端的标准描头枚举值;而uni.scanCode则是UniApp封装的码API,可以在H5、App、小程序等多个平台使用。 其次,开发者需要在UniApp中定义码相关的操作、事件,并编写相应的处理代码。在PDA平台上,通过plus.barcode进行码也需要定义相关的事件监听,获取到码结果后,再进行相应的处理。例如,可以根据码结果呈现相应的信息,或将描结果上传到后台服务器以供库存管理等操作。 最后,需要注意的是,在使用UniApp进行PDA码功能开发时,不同平台之间可能存在一些API差异,需要进行适配才能兼容多个平台。此外,由于PDA通常运行的是基于Windows CE等操作系统的应用程序,因此需要对应的开发环境和调试工具,以便更快地开发和测试PDA应用程序。 总之,UniAppPDA码功能的开发中,需要我们注意多方面的问题,包括PDA码方式、API的兼容性和平台适配等。只有理解了这些内容,才能在PDA领域进行UniApp应用的开发,实现高效、稳定的PDA码功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值