当前位置: 首页 > Web前端 > JavaScript

uniappPDA广播扫码

时间:2023-03-27 18:09:23 JavaScript

uniapp监控PDA扫码工具数据1、需求是:app监控东达PDA内置的扫码工具,通过扫码工具扫描条码,自动将数据赋值到input输入框,无需手动设置或调用uniuniapp的.scanCode({})去assignment2,这里声明在封装的JS中,你需要知道你的PDA的广播动作和键值名称。只有设置好后,相应的才会生效。我这边是东大的出厂设置3.要调用的代码已经打包成js了,直接复制调用即可。感觉可以解决问题。动动你的小拇指,给它点个赞吧~O(∩_∩)O自带扫描工具:A.页面调用如下:import{websocetObj}from'@/utils/websocet/websocet.js';methods:{getScancode(code){this.config=code}},onLoad(){//init传入一个回调函数作为参数,在扫描的时候有时候会将数据传入这个方法,然后你的业务逻辑broadcastScan.init(this.getScancode);},onUnload(){broadcastScan.stop();},onHide(){broadcastScan.stop();},onShow(){broadcastScan.start();}B。创建一个js文件并复制以下代码。letmain;letfilter;letreceiver;lettag=false;/***开始广播监听扫码*that:passthis;*/conststart=()=>{/*#ifdefAPP-PLUS*/main.registerReceiver(接收器,过滤器);/*#endif*/}/***停止广播监听扫描码*that:passthis;*/conststop=()=>{/*#ifdefAPP-PLUS*/main.取消注册接收者(接收r);/*#endif*/}/**剩余的next变量已成为全局变量**定义广播*that:passthis;*/constinit=(onReceive)=>{/*#ifdefAPP-PLUS*///获取活动main=plus.android.runtimeMainActivity();constIntentFilter=plus.android.importClass('android.content.IntentFilter');过滤器=新的IntentFilter();//扫描广播名称过滤器集。addAction("com.android.server.scannerservice.broadcast");receiver=plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver',{onReceive:function(context,intent){plus.android.importClass(intent);//扫描设置的开发者选项--keyvaluenamescannerdataconstcode=intent.getStringExtra("scannerdata");//业务//防复制if(tag)return;tag=true;setTimeout(function(){tag=false;},150);//这里扫描成功,可以调用自己的业务逻辑,代码是扫描的结果,返回代码进行业务处理onReceive&&am;onReceive(代码);}});/*#endif*/}exportconstbroadcastScan={init,start,stop,};