更新记录
1.0.1(2025-11-01) 下载此版本
修复了自动扫码没反应,挂载失败的问题
1.0.0(2025-11-01) 下载此版本
初次发布
平台兼容性
uni-app(4.0)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 | 
|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | - | 
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 | 
|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | - | - | - | 
其他
| 多语言 | 暗黑模式 | 宽屏模式 | 
|---|---|---|
| √ | √ | √ | 
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)
                                    
                                            
                                            
 下载 5
                
 赞赏 0
                
            
                    下载 10691517 
                
                        赞赏 1797 
                    
            
            
            
            
            
            
            
            
            
            
            
            
            
            
                        
                                赞赏
                            
            
京公网安备:11010802035340号