更新记录
1.0.1(2026-02-02)
一、完善demo调用示例
1.0.0(2026-02-02)
- 首发,仅支持 Android
- 内部默认兼容 Zebra DataWedge 广播
平台兼容性
uni-app(4.75)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | Android插件版本 | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | 4.4 | 1.0.0 | - | - |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | - | - | - | - |
hl-pdascan-uts
功能说明
- 基于 UTS 实现的 Android PDA 扫码广播监听插件
- 默认兼容原 Zebra PDA(DataWedge 广播)
当前版本仅实现 Android,iOS / Harmony 暂未实现。
广播兼容
- 广播 Action:
com.dwexample.ACTION - 扫码数据字段:
com.motorolasolutions.emdk.datawedge.data_string
如果你的 PDA 设备使用其他 Action 或字段名,可在后续版本中扩展为可配置。
API 说明(供直接调用时参考)
UTS 接口定义见 utssdk/interface.uts:
export type HlPdaScanResult = {
code : string
}
export type HlPdaScanCallback = (result : HlPdaScanResult) => void
export interface IHLPdaScanClient {
start() : void
stop() : void
onScan(callback : HlPdaScanCallback) : void
}
export declare function getHlPdaScanClient() : IHLPdaScanClient
使用示例(uvue / vue3 页面完整示例)
下面是一个在 uni-app Vue3 / <script setup> 页面中使用本插件的完整示例,包含:
- 页面 UI 展示最近一次扫码结果
- 进入页面自动初始化客户端
- 点击按钮开始监听 / 停止监听
- 仅在 App-Android 下真正工作,其他平台给出友好提示
<template>
<view class="content">
<view class="title">ZEBRA PDA 扫码 Demo</view>
<view class="row">
<text class="label">最近一次扫码结果:</text>
<text class="value">{{ scanCode || '(暂未扫码)' }}</text>
</view>
<view class="btn-row">
<button type="primary" @click="startListen">开始监听 PDA 扫码</button>
</view>
<view class="btn-row">
<button type="warn" @click="stopListen">停止监听</button>
</view>
</view>
</template>
<script setup lang="ts">
// #ifdef APP-PLUS
import * as HLPdaScan from '@/uni_modules/hl-pdascan-uts';
// #endif
import { ref } from 'vue';
import { onLoad, onUnload } from '@dcloudio/uni-app';
// 最近一次扫码结果
const scanCode = ref('');
// PDA 扫码客户端(保持单例)
let client: ReturnType<typeof HLPdaScan.getHlPdaScanClient> | null = null;
// 初始化客户端
function initClient() {
if (client) return;
// #ifdef APP-PLUS
client = HLPdaScan.getHlPdaScanClient();
client.onScan((res) => {
// res: { code: string }
scanCode.value = res.code;
console.log('ZEBRA PDA 扫码结果:', res.code);
});
// #endif
}
// 开始监听
function startListen() {
// #ifdef APP-PLUS
initClient();
if (client) {
client.start();
}
uni.showToast({
title: '已开始监听 PDA 扫码',
icon: 'none',
});
// #endif
// #ifndef APP-PLUS
uni.showToast({
title: '仅支持 App(Android) 运行',
icon: 'none',
});
// #endif
}
// 停止监听
function stopListen() {
// #ifdef APP-PLUS
if (client) {
client.stop();
}
// #endif
}
// 页面生命周期
onLoad(() => {
initClient();
});
onUnload(() => {
stopListen();
});
</script>
<style scoped>
.content {
flex: 1;
padding: 40rpx;
display: flex;
flex-direction: column;
}
.title {
font-size: 36rpx;
font-weight: bold;
margin-bottom: 40rpx;
}
.row {
flex-direction: row;
display: flex;
align-items: center;
margin-bottom: 30rpx;
}
.label {
font-size: 28rpx;
color: #666;
}
.value {
font-size: 30rpx;
color: #333;
margin-left: 10rpx;
}
.btn-row {
margin-top: 20rpx;
}
</style>
提示:如果你只想做简单测试,可以直接复制上面的页面代码,新建一个页面使用即可;
如果要集成到现有业务,只需要把scanCode和onScan回调里的逻辑,替换为你自己的业务处理即可。

收藏人数:
购买普通授权版(
试用
赞赏(0)
下载 273
赞赏 2
下载 11205283
赞赏 1856
赞赏
京公网安备:11010802035340号