uni-app实现PDA采集器扫码

2023-11-17

uni-app实现PDA采集器扫码

一、开发建议

1、建议使用nvue开发,体检会非常好,使用uni.preloadPage({url: “/pages/index”})预加载页面,页面的流畅程度会提高非常多,单独vue的写法,打包成安卓体验很不好,模块加载很慢,页面加载的时候明显h5的感觉。
2、nvue的样式很不好写,建议使用真机实时观看样式处理。

二、实现pad扫码采集

1、在components里创建nvue文件,具体代码如下

<template>  
    <div class="content"></div>  
</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.xxxxxxxxxxxx"); // 换你的广播动作  
            receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver',{  
            onReceive : function(context, intent) {
				uni.showLoading({
						title: '正在查询'
					})
                plus.android.importClass(intent);     
                let code = intent.getStringExtra("xxxxx");// 换你的广播标签  
                _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>

2、找到采集器里的广播,查看广播名称和键值名称,在上面新建的vue文件中更换以下信息。不同采集器品牌适配,直接在采集器里面更改为统一的信息。

 filter.addAction("android.xxxxxxxxxxxx"); // 换你的广播动作  
  let code = intent.getStringExtra("xxxxx");// 换你的广播标签  

3、新建nvue页面,引用上述文件即可调用采集器的扫码功能。

<template>
	<div class="content">
		<ScanCode></ScanCode>
	</div>
</template>

<script>
	import ScanCode from '@/components/code/ScanCode.nvue';
	export default {
		components: {
			ScanCode
		},
		data() {
			return {
			}
		},
		onShow: function() {
			var _this = this
			uni.$off('scancodedate') // 每次进来先 移除全局自定义事件监听器  
			uni.$on('scancodedate', function(data) {
			console.log(data.code,'data.code为扫码内容')
			uni.hideLoading();
			})
		},
	}
</script>

欢迎留言讨论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

uni-app实现PDA采集器扫码 的相关文章

随机推荐

  • autojs人像变换

    牙叔教程 简单易懂 产品简介 腾讯云神图 人像变换 Face Transformation 基于腾讯优图领先的人脸识别算法 提供人脸年龄变化 人脸性别转换等能力 用户上传照片即可得到实现男女性别切换 人脸变老 变年轻等效果 适用于社交娱乐
  • 1.3 【Mask-RCNN训练自己的数据集】---- Part Three: 用自己训练的模型进行测试(全部流程总结+部分释义)

    三 模型测试 import os import sys sys path remove opt ros kinetic lib python2 7 dist packages import random import math import
  • Linux文件权限一共10位长度,分成四段,每段表示

    1 文件类型 2 文件所有者的权限 3 文件所有者所在组的权限 4 其他用户的权限句号
  • 求两个有序数组的中位数

    leetcode 4 Median of Two Sorted Arrays 题目 给两个有序数组 长度为n和m 在 O log m n 时间内找出两个数组中所有数字的中位数 题解 参考讨论区大佬解法 递归分治方法 先上代码 include
  • c#读取csv到数组_使用C#将CSV文件读入数组 - c#

    我正在尝试创建一个将拉入 读取和分隔csv文件的代码 它有四列 没有标题 我一直在网上找几个小时 似乎没有人真正找到答案 所以我希望这里有人可以 读入后 由于它是设计的一部分 因此我需要能够将其拉得很特别 提前谢谢 参考方案 您的问题有点含
  • How to detect the encoding of a text file with Deno?

    How to detect the encoding of a text file with Python Python 中有一个有用的包 chardet 它有助于检测文件中使用的编码 实际上 没有程序可以 100 确信使用了哪种编码 这就
  • pgsql有dual表?

    在 PostgreSQL 中 没有类似于 Oracle 中的 DUAL 表的概念 然而 您可以使用匿名块 Anonymous Block 来创建一个临时的查询结果集 并在其中进行测试或操作 以下是一个使用匿名块创建临时表的示例 DO DEC
  • 利用SAM实现自动标注

    利用SAM实现自动标注 目录 利用SAM实现自动标注 一 下载安装 1 1 下载SAM Tool和SAM 1 2 下载SAM模型文件 1 3 安装SAM 二 配置项目 三 提取信息 四 获得SAM onnx文件 五 标注 六 格式转换 6
  • 提示 使用驱动器D:中的光盘之前需要将其格式化

    千万不要格式化 直接格式化是最low的做法 方法如下 方法一 chkdsk G f 其中G是你U盘的盘符 f是fix修复的意思 之后电脑就会自动开始修复 修复的时候会告诉你修复了多少多少 最后修复完了 如果硬盘较大就多等会 注意 在此期间不
  • 静息态fMRI状态依赖的有效连接

    文章来源于微信公众号 茗创科技 欢迎有兴趣的朋友搜索关注 导读 大脑在静息状态下存在着不同脑区间的功能连接 并且在多重稳态之间具有内在动态平衡过程 因此 探索特定状态下的功能连接 有利于以加深对精神疾病的理解 然而 与功能连接相比 有效连接
  • 【深入理解C++】运算符重载、插入和提取运算符、拷贝赋值运算符

    文章目录 1 运算符重载 2 重载为友元函数 3 重载为成员函数 4 插入和提取运算符 5 拷贝赋值运算符 5 1 深拷贝 1 运算符重载 运算符重载可以为运算符增加一些新的功能 C 中绝大部分的运算符允许重载 不能重载的运算符有以下几个
  • excel柱状图堆叠图显示总和_如何在Excel堆积柱形图中显示合计值

    在Excel中 用堆积柱形图可以比较相交于类别轴上的每一数值占总数值的大小 对于普通的簇状柱形图 我们可以在每个柱形系列的顶端放置一个数据标志 如数值 来反映各系列数据的大小 对于堆积柱形图 Excel没有提供直接的方法将数据标志显示在柱形
  • mysql - windows下my.ini和linux下my.cnf简单配置

    mysql 设置mysql客户端默认字符集 default character set utf8 mysqld 设置3307端口 port 3307 设置mysql的安装目录 basedir G a workIndex mysql mysq
  • MFC创建窗口流程

    一个MFC程序框架 1 应用程序类 CWinApp 2 框架类 CFrameWnd 流程 1 有且仅有一个全局的应用程序类对象 MyApp myApp 2 在程序入口函数实现 InitInstance 1 给框架类对象动态分配空间 自动调用
  • mysql 大数据量如何导入

    MySQL 有多种方法可以用来导入大数据量 这里列举几种常见的方法 导入数据库备份文件 如果你已经有了数据库的备份文件 可以使用 MySQL 的 mysql 命令行工具来导入 例如 mysql u username p db name lt
  • 【微信小程序】运行机制和更新机制

    观众老爷们好呀 牛牛又更文了 上文我们对部分比较常用的组件进行了讲解 作为开发者 我们还需要对小程序的运行机制和更新机制做一定的了解 那问题来了 你对它们了解多少呢 今天牛牛就带大家测一测 不了解的还不笔记做起来 文章目录 一 运行机制 1
  • 图像相似度计算之直方图方法OpenCV实现

    操作步骤 1 载入图像 灰度图或者彩色图 并使其大小一致 2 若为彩色图 增进行颜色空间变换 从RGB转换到HSV 若为灰度图则无需变换 3 若为灰度图 直接计算其直方图 并进行直方图归一化 4 若为彩色图 则计算其彩色直方图 并进行彩色直
  • HTTP首部(下)

    开始头大 哈哈 这个东西真的很无聊且枯燥 奈何最近的学习中经常用到这些知识 还是过一遍比较放心 上一篇博客中我们讨论了http报文首部 其划分为请求头和响应头 请求头主要由请求行 请求字段 通用字段 实体字段组成 那么响应头也由响应行 响应
  • go hash中的读写操作

    在 Go 语言中 我们可以使用 for 循环来遍历哈希表 hash 中的键值对 针对不同的操作进行读写操作 示例代码如下 创建一个映射类型的哈希表 hash map string int apple 2 banana 3 orange 4
  • uni-app实现PDA采集器扫码

    uni app实现PDA采集器扫码 一 开发建议 1 建议使用nvue开发 体检会非常好 使用uni preloadPage url pages index 预加载页面 页面的流畅程度会提高非常多 单独vue的写法 打包成安卓体验很不好 模