简介(下载地址)
总有一款适合你,本文介绍两个扫码插件,可根据特色选择使用
- 最新、最快、支持多码,基于Google MLKit的插件Ba-Scanner-G和 Ba-Scanner
- 最经典,基于zxing的插件 Ba-Scanner-Zxing
注意: 新增支持自定义任意界面、任意点击事件的版本,可以让扫码界面和您的应用更加匹配、美观。新增支持连续扫码模式,亲测持续万次不卡顿。
扫码原生插件 - 新版(支持连续扫码模式;支持设置格式;可任意自定义界面)Ba-Scanner
扫码原生插件 - 基础版(毫秒级、支持多码)Ba-Scanner-G
扫码原生插件 - (最经典zxing版本)Ba-Scanner-Zxing
其中,Ba-Scanner-G和 Ba-Scanner 基于Google MLKit 快速集成二维码扫描,速度比zxing快
- 支持同时扫多个二维码和条形码
- 支持配置相册
- 支持闪光灯
- 相机可以调整焦距放大缩小
- 支持自定义扫描线颜色、提示文案等
- 支持扫描完成提示音、震动
截图展示
原生插件通用使用流程:
- 在市场上安装插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
开发完毕后正式云打包
插件使用方法
在 script
中引入组件
const scanner = uni.requireNativePlugin('Ba-Scanner-Zxing')
const scannerG = uni.requireNativePlugin('Ba-Scanner-G')
在 script
中调用
methods: {
// Ba-Scanner-G
onScanG() {
scannerG.onScan({
'isShowVibrate': true,
'isShowBeep': true,
'isShowPhotoAlbum': true,
'isShowLightController': true,
'zoom': true,
'scanColor': '#ff0000',
'hintText': '扫二维码/条形码',
'hintTextColor': '#ffffff',
'hintTextSize': '14'
},
(res) => {
if (res.code == "success")
...
//扫码结果 res.result
});
},
//Ba-Scanner-Zxing
onScanZ() {
scanner.onScan({},
(res) => {
if (res.code == "success")
...
//扫码结果 res.result
});
}
}
Ba-Scanner-G 自定义配置参数
属性名 | 类型 | 默认值 | 说明 |
isShowVibrate | Boolean | true | 扫描完成震动 |
isShowBeep | Boolean | false | 扫描完成声音 |
isShowPhotoAlbum | Boolean | true | 是否显示相册 |
isShowLightController | Boolean | true | 是否显示闪光灯开关 |
zoom | Boolean | false | 是否支持手势缩放 |
scanColor | String | #FF0000 | 扫描线的颜色 |
hintText | String | 扫二维码/条形码 | 提示文案 |
hintTextColor | String | #FF0000 | 提示文案颜色 |
hintTextSize | Number | 14 | 提示文案字体大小 |
scanGrid | Boolean | false | 扫描线样式是否为网格 |
gridScanLineColumn | Number | 30 | 网格扫描线的列数 |
gridScanLineHeight | Number | 300 | 网格高度 |
统一回调参数
属性名 | 类型 | 说明 |
code | String | 扫描结果判断,success为成功,其他失败 |
result | String | 扫描结果 |