更新记录
1.0.3(2025-01-02)
使用回调函数替换uni.$emit(因为uniapp项目中uts插件没有uni.$emit方法,使用会报错)
1.0.2(2024-12-30)
添加方法类型提示
1.0.1(2024-12-27)
更新readme
查看更多平台兼容性
Vue2 | Vue3 |
---|---|
× | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 3.6.8,Android:5.0,iOS:不支持,HarmonyNext:不支持 | × | × | × | × | × | × |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 | 鸿蒙元服务 |
---|---|---|---|---|
× | × | × | × | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
× | × | × | × | × | × | × | × | × |
通用PDA扫码插件
开发文档
为了通用,本插件没有集成任何品牌pda的sdk,因此也无法做到精细化的操作(例如无法设置扫码时是否震动,无法用代码控制扫描头扫码等),但是基本的扫码获取码值和获取扫码图片是能做到的。
注意:本插件默认的是优博讯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
})
})