更新记录
1.0.1(2025-11-01) 下载此版本
修复了自动扫码没反应,挂载失败的问题
1.0.0(2025-11-01) 下载此版本
初次发布
平台兼容性
其他
| 多语言 | 暗黑模式 | 宽屏模式 |
|---|---|---|
| √ | √ | √ |
xc-pdaScanner
UniApp PDA设备广播扫码插件,无需手动配置广播参数,自动适配主流PDA品牌,开箱即用。
一、插件介绍
核心特性
- 自动适配:支持斑马(Zebra)、霍尼韦尔(Honeywell)、优博讯(Urovo)、新大陆(Newland)等10+主流PDA品牌,同时支持自行添加PDA配置。
- 无配置化:无需手动设置广播Action和ExtraKey,插件自动匹配预设配置。
- 轻量独立:不依赖App全局数据,组件化封装,引入即可使用。
- 状态反馈:提供扫码结果和监听状态回调,方便业务处理。
支持平台
仅支持 Android App端(PDA设备主流系统),不支持H5、小程序、iOS。
二、安装方法
方法1:插件市场安装(推荐)
- 打开HBuilderX,进入项目 → 右键“插件市场” → “安装插件”。
- 搜索“xc-pdaScanner”,点击安装并导入项目。
方法2:手动安装
- 下载插件压缩包,解压后将
components/xc-pdaScanner和utils/pdaScanner.js复制到项目对应目录。 - 确保文件路径:
- 组件:
/components/xc-pdaScanner/xc-pdaScanner.vue - 工具类:
/utils/pdaScanner.js
- 组件:
三、使用示例
1. 基础使用(自动启动监听)
<template>
<view>
<text>扫码结果:{{ scanResult }}</text>
<!-- 引入组件 -->
<xc-pdaScanner
@scan-success="onScanSuccess"
@status-change="onStatusChange"
></xc-pdaScanner>
</view>
</template>
<script>
export default {
data() {
return {
scanResult: ''
};
},
methods: {
// 扫码成功回调
onScanSuccess(scanData) {
this.scanResult = scanData;
console.log('扫码结果:', scanData);
},
// 状态变化回调(如“开启监听”“关闭监听”)
onStatusChange(status) {
console.log('监听状态:', status);
// 可选:显示用户提示
// uni.showToast({ title: status, icon: 'none' });
}
}
};
</script>
2. 手动控制监听(关闭自动启动)
<template>
<view>
<button @click="startListen" :disabled="isListening">启动监听</button>
<button @click="stopListen" :disabled="!isListening">停止监听</button>
<view>
扫码结果:{{this.scanData}}
</view>
<xc-pdaScanner :autoStart="false" @scan-success="onScanSuccess" @status-change="onStatusChange"
ref="scanComponent"></xc-pdaScanner>
</view>
</template>
<script>
export default {
data() {
return {
isListening: false,
scanData: ''
};
},
methods: {
async startListen() {
const component = this.$refs.scanComponent;
await component.startListen();
},
stopListen() {
const component = this.$refs.scanComponent;
component.stopListen();
this.scanData='';
},
onScanSuccess(scanData) {
console.log('扫码结果:', scanData);
this.scanData = scanData;
},
onStatusChange(status) {
this.isListening = status.includes('已开启');
}
}
};
</script>
四、API 说明
1. 组件 Props
参数名 类型 默认值 说明
autoStart Boolean true 页面显示时是否自动启动监听
2. 组件事件
事件名 说明 回调参数
scan-success 扫码成功时触发 scanData: 扫码结果字符串
status-change 监听状态变化时触发(如启停) status: 状态描述文本
3. 组件方法(需通过ref调用)
方法名 说明 返回值
startListen 手动启动监听 Promise<boolean>:true = 启动成功
stopListen 手动停止监听 无
五、注意事项
权限要求:
无需额外权限(插件内部已处理 PDA 广播监听所需权限)。
若部分设备提示 “无权限”,需在manifest.json中添加:
xml
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
设备兼容性:
仅支持 Android PDA 设备(不支持ios PDA设备),普通手机(如小米、华为)会提示 “普通设备,不开启广播扫码”。
若未知品牌 PDA 无法使用,可联系作者补充预设配置。
缓存重置:
若动态切换设备(如 USB 连接不同 PDA),可调用工具类的resetPdaDetectCache()重置检测缓存:
javascript
运行
import { resetPdaDetectCache } from '@/utils/pdaScanner.js';
resetPdaDetectCache(); // 重置后需重新调用isPDA()检测
六、版本更新日志
版本:1.0.1
日期:2025-11-01
更新内容:初始版本,支持 10 + 主流 PDA 品牌,符合uni_modules规范
七、插件目录结构说明
```
xc-pdaScanner/ # 插件根目录
├─ components/ # 核心组件
│ └─ xc-pdaScanner/
│ └─ xc-pdaScanner.vue
├─ utils/ # 工具类
│ └─ xc-pdaScanner.js
├─ package.json # 插件配置
└─ README.md # 使用文档
```

收藏人数:
下载插件并导入HBuilderX
下载示例项目ZIP
赞赏(0)
下载 83
赞赏 0
下载 12360873
赞赏 1828
赞赏
京公网安备:11010802035340号