更新记录
1.0.1(2026-01-07)
下载此版本
完善md 文档
1.0.0(2025-08-01)
下载此版本
扫码枪扫码API
平台兼容性
uni-app(4.87)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-vue插件版本 |
app-nvue |
app-nvue插件版本 |
Android |
Android插件版本 |
iOS |
鸿蒙 |
| - |
- |
- |
- |
√ |
1.0.0 |
√ |
1.0.0 |
4.4 |
1.0.0 |
- |
- |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| - |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
uni-app x(4.87)
| Chrome |
Safari |
Android |
iOS |
鸿蒙 |
微信小程序 |
| - |
- |
- |
- |
- |
- |
其他
| 多语言 |
暗黑模式 |
宽屏模式 |
蒸汽模式 |
| × |
× |
× |
√ |
Shuai-BarcodeScanner
开发文档
UTS 语法
UTS API插件
UTS uni-app兼容模式组件
UTS 标准模式组件
Hello UTS
import {
keyboardSwitchover,
setReadMode,
continuousScan,
setOutputMode,
} from "@/uni_modules/Shuai-BarcodeScanner"
对IData 盈达 SDk的封装
// 设置识读模式
// setReadMode({mode:0})
// 0:手动(按下按键扫描,松开按键停止扫描)
// 1:单次(按下按键直到扫描成功停止扫描,或者扫描超时后停止扫描)
// 2:批量(长按识读,最多 20 个,松开按键停止扫描)
// 3:瞄准(长按瞄准,松开按键开始解码)
export enum READ_MODE_ENUM {
manual_operation = "0",
once = "1",
batch = "2",
collimation = "3"
};
// 配置连续扫描状态
// continuousScan({mode:0})
// 1:打开连扫模式(触发扫描按键开始连扫 / 停止连扫)
// 0:关闭连扫模式
export enum CONTINUOUS_SCAN_ENUM {
colse = "0",
open = "1"
};
// 键盘的启用禁用
// keyboardSwitchover({mode:0})
// 1:启用键盘
// 0:禁用键盘
export enum KEYBOARD_SWITCHOVER_ENUM {
disable = "0",
enable = "1"
};
// 配置扫描结果输出模式
// setOutputMode({mode:0})
// 0:焦点输出,若有编辑框焦点输出到编辑框,若无焦点会触发 UI界面控件;(默认)
// 1:广播模式发送,可以通过 Android 广播机制监听扫描结果
export enum OUTPUT_MODE_ENUM {
focus = "0",
broadcast = "1"
};
//监听扫描结果
var main, receiver, filter;
function initScan(){
let broadcastAction = "android.intent.action.SCANRESULT" //广播动作
let broadcastLabel = "value" //广播标签
// #ifdef APP
let that = this;
main = plus.android.runtimeMainActivity(); //获取activity
var IntentFilter = plus.android.importClass('android.content.IntentFilter');
filter = new IntentFilter();
filter.addAction(broadcastAction); // 你的广播动作 公共缓存
receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', {
onReceive: (context, intent) => {
plus.android.importClass(intent);
let code = intent.getStringExtra(broadcastLabel); // 换你的广播标签 公共缓存
console.log(code)
}
});
// #endif
}
// 停止监听
function startScan() {
// #ifdef APP
if (main) {
main.registerReceiver(receiver, filter);
}
// #endif
}
// 停止开始监听
function stopScan() {
// #ifdef APP
if (main) {
main.unregisterReceiver(receiver);
}
// #endif
}
initScan()
startScan();