更新记录

1.0.8(2025-12-18)

更新文档

1.0.7(2025-12-18)

增加示例项目运行的详细步骤

1.0.6(2025-09-26)

完善类型定义

查看更多

平台兼容性

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.移除监听;

注:运行示例项目的步骤如下

1、在插件市场下载示例项目
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. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率: