更新记录

1.0.6(2025-09-26)

完善类型定义

1.0.5(2025-09-26)

新增 sendSetScanner 方法,支持通过广播方式控制PDA扫码参数,如打开/关闭扫码引擎、设置广播action等。
优化 defaultScanOption 配置项,区分int和string类型的valueTag。
更新readme文档,补充相关功能说明及优博讯PDA版本要求。
示例页面增加扫码参数控制按钮,便于调试和使用。

1.0.4(2025-09-25)

导出变量 isRegister 以查看扫码监听是否已注册

查看更多

平台兼容性

uni-app(4.81)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - × × - × 11.0 × ×
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
× × × × × × × × × × ×

uni-app x(4.81)

Chrome Safari Android iOS 鸿蒙 微信小程序
× × 11.0 × × ×

通用PDA扫码插件

开发文档

为了通用,本插件没有集成任何品牌pda的sdk,因此也无法做到精细化的操作,(例如无法设置扫码时是否震动,无法用代码控制扫描头扫码等),从1.0.5开始在支持广播设置扫描参数的PDA中可以通过sendSetScanner来控制扫码参数,如设置扫码时是否震动,设置扫码时是否震动等(示例项目中有 打开/关闭 扫码引擎的例子),支持扫码获取码值和获取扫码图片。

注:优博讯pda必须是android11及以上版本才支持广播设置扫码参数

注意:本插件默认的是优博讯pda的广播action和数据tag,如果你使用的是其它品牌的pda,请在初始化时传入相应pda的参数;如果对优博讯pda有更精细化操作的需求,请使用另一款集成了优博讯SDK的插件 优博讯PDA扫码插件https://ext.dcloud.net.cn/plugin?id=21607

具体使用可参考示例项目,大致分为几步,1.初始化pda(示例提供了三种初始化的方式);2.注册监听;3.扫码获取码值;4.移除监听;

import { initScanner, registerScanner, unregisterScanner, getCode, getImage, sendGetImage, ScanOptions, defaultScanOption } from "@/uni_modules/hh-pda";

const code = ref('');
const base64Image = ref("");

const init = () => {
    const { action, dataTag, sendImgAction, receiveImgAction, imageTag } = defaultScanOption;
    //1、解码且返回图片;此处要传入自己pda品牌的相关参数,此处传入的是默认的优博讯pda的参数,其实与initScanner()的效果相同,参数说明可以查看 ScanOptions
    initScanner({ action, dataTag, sendImgAction, receiveImgAction, imageTag } as ScanOptions);

    //2、单纯解码,不返回图片
    // initScanner({action, dataTag});

    //3、不设置参数,默认是优博讯pda的参数设置
    // initScanner();

    //注册扫码监听
    registerScanner();
    uni.showToast({
        title: "注册扫码监听!",
        icon: "none",
        mask: false
    })
}
onLoad(() => {
    init();
    //获取扫码值
    getCode(_code => {
        code.value = _code;
        //请求获取扫码图片
        sendGetImage()
    });
    //获取扫码图片,格式为base64
    getImage(_img => {
        base64Image.value = _img;
    });
});
onUnload(() => {
    //移除扫码监听
    unregisterScanner();
    uni.showToast({
        title: "移除扫码监听!",
        icon: "none",
        mask: false
    })
})

隐私、权限声明

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

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

插件不采集任何数据

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