更新记录

1.0.0(2025-03-28)

  1. 支持usb自感模式的设备,支持扫码枪、扫码盒子、收银台桌面扫描器等各种扫码设备
  2. 支持标点符号、英文大小、特殊字符等标准ASCII码数据识别,毫秒级响应
  3. 无需获取焦点事件,无需弹出键盘,无需绑定依赖任何输入框

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.95,Android:5.0,iOS:不确定,HarmonyNext:不确定 × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
× × × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

概述

基于Android设备扫码枪封装,支持usb自感模式的设备,支持扫码枪、扫码盒子、收银台桌面扫描器等各种扫码设备,支持标点符号、英文大小、特殊字符等标准ASCII码数据识别,毫秒级响应,无需获取焦点事件,无需弹出键盘,无需绑定依赖任何输入框。

目前插件市场上大多数扫码枪插件是模拟键盘进行输入,大多数时候需要使用带焦点的输入框接收其扫描的信息。设置一个带焦点的输入框进行接收,此方式容易漏读扩展的ASCII码数据,除非二维码是标准的ASCII码(1-128),此外使用输入框不方便且焦点控制不好导致扫码不到数据,非常难用且不好控制。

注意事项

(1).从应用市场下载插件导入自己项目后,要先制作自定义插件后,才可以运行使用

(2).插件需在 Android 5.0+ 以上版本可正常使用

(3).尽量使用 HBuilderX 4.0+ 以上的最新版本,以便更好在uni-app和uni-app x中使用uts插件

以下摘自官方:

HBuilderX 3.6+ 支持uni-app中使用uts插件 HBuilderX 3.9+ 支持uni-app x中使用uts插件

(4).官方已经全部更新到uts插件,对传统的App Native原生插件不在提供技术支持维护和上架的支持, 如果有需要使用App Native原生插件集成或者离线打包集成的,请私信联系作者提供支持。

以下摘自官方说明,uts插件比App原生插件有更多优势:

uts插件更小巧 插件作者更新uts插件免审核,无需等待DCloud管理员审核上架 uts插件天然支持多版本,插件作者更新后,使用者可以不更新,可以仍然使用之前下载到本地的老版插件 uts插件支持源码版计费,使用者可以审查源码,控制安全问题,也可以二开 插件市场支持uts的插件上传,禁止App原生插件的上架和维护

完整代码示例

<template>
    <view class="content">
        <image class="logo" src="/static/logo.png"></image>
        <view class="text-area">
            <text class="title">扫码结果:{{scannerResult}}</text>
        </view>

        <button type="default" @click="openUsbScannerGun()">打开扫码枪</button>
    </view>
</template>

<script>
    import { showScannerDialog,closeScannerDialog } from "@/uni_modules/shimiso-usbsacnner"
    const modal = uni.requireNativePlugin('modal');
    export default {
        data() {
            return {
                scannerResult: '',
            }
        },

        created() {
        },
        methods: {
            // usb码枪检测事件
            openUsbScannerGun() {
                let params = {
                    text:"请拿出扫码枪扫码",//提示文字
                    imagePath:"static/scanner.png",//提示图
                    widthRatio:0.25,//弹框宽度百分比
                    heightRatio:0.35,//弹框高度百分比
                    imageWidth:140,//图片宽度
                    imageHeight:140,//图片高度
                    isFinishClose:false,//扫码结束是否关闭弹框
                    closeable:true//右上角关闭按钮是否显示
                }
                let _this = this
                showScannerDialog(params,{
                    onScanSuccess(msg){//扫码成功回调
                        _this.scannerResult = msg
                        console.log('onScanSuccess--->',msg)
                        closeScannerDialog()
                    },
                    onScanCancel(){//扫码取消回调
                        console.log('onScanCancel--->')
                    },
                    onError(code,msg){//错误回调
                        console.log('onError--->',code,msg)
                    }
                })
            },
        }
    }
</script>

<style>
    .content {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .logo {
        height: 100rpx;
        width: 100rpx;
        margin-top: 50rpx;
        margin-bottom: 50rpx;
    }

    .text-area {
        margin-bottom: 50rpx;
    }

    .title {
        font-size: 36rpx;
        color: #8f8f94;
    }
</style>

长期维护,持续更新,提供终身免费技术支持

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问