uniapp 扫码原生插件 - 新(可任意自定义界面版本)
Posted 三杯五岳
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uniapp 扫码原生插件 - 新(可任意自定义界面版本)相关的知识,希望对你有一定的参考价值。
扫码原生插件(毫秒级、支持多码、支持自定义界面)
简介(下载地址)
Ba-Scanner 是一款毫秒级扫码插件,同时支持多码、相册、闪光灯、焦距缩放、提示音、震动等等。新增支持自定义任意界面、任意点击事件,可以让扫码界面和您的应用更加匹配、美观。
- 支持同时扫多个二维码和条形码
- 支持配置相册
- 支持闪光灯
- 相机可以调整焦距放大缩小
- 支持自定义扫描线颜色、提示文案等
- 支持扫描完成提示音、震动
- 支持任意自定义界面(支持自行定制,也可联系作者定制)
- 支持自定义点击事件
截图展示
使用方法(示例)
在 script
中引入组件
const scanner = uni.requireNativePlugin('Ba-Scanner')
在 script
中调用
methods:
onScan() //默认界面
scanner.onScan(
isShowVibrate: true,
isShowBeep: false,
hintText: '测试扫码',
,
(ret) =>
console.log(ret)
if (ret.result)
this.showToast(ret.result)
);
,
onScan2() //自定义界面
scanner.onScan(
isShowVibrate: true,
isShowBeep: false,
hintText: '测试扫码',
customResName: 'ba_scan_custom_view',
customConfig:
lightTvTextOn: '轻触关闭',
lightTvTextOff: '轻触照亮'
,
customEvents: [
resId: 'btn_my_card',
,
resId: 'btn_scan_record',
]
,
(ret) =>
console.log(ret)
if (ret.result)
this.showToast(ret.result)
if (ret.isCustomEvent)
this.showToast(ret.eventResId);
);
,
默认界面
Ba-Scanner 自定义配置参数
属性名 | 类型 | 默认值 | 说明 |
---|---|---|---|
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 | 扫描结果 |
自定义界面
示例
布局文件
自定义界面是编写 android 的xml布局界面,按文档配置即可,资源名称、控件id要和调用方法一致。可自行定制,也可联系作者定制。
- 编写好对应的布局文件,放在项目的 “nativeplugins\\Ba-Scanner\\android\\res\\layout” 目录下(没有就新建)。
- 所用到的图片资源,放在“nativeplugins\\Ba-Scanner\\android\\res\\drawable-xxhdpi” 目录下
注意:配置更改后,需要重新制作基座才生效,建议提前配置。
扫码调用参数
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
customResName | String | true | 自定义界面名称 | |
customConfig | Object | false | 自定义界面配置 | |
customEvents | Array | false | 自定义点击事件 |
customConfig
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
backResId | String | false | “iv_back” | 返回控件ID |
albumResId | String | false | “iv_photo” | 相册控件ID |
lightResId | String | false | “btn_scan_light” | 闪光灯控件ID |
lightIvResId | String | false | “iv_scan_light” | 闪光灯图标控件ID |
lightTVResId | String | false | “tv_scan_light” | 闪光灯文本控件ID |
lightTvTextOn | String | true | “关闭手电筒” | 闪光灯打开时显示文本 |
lightTvTextOff | String | true | “打开手电筒” | 闪光灯关闭时显示文本ID |
lightIvIconOn | String | true | “scan_custom_light_open” | 闪光灯打开时显示图标 |
lightIvIconOff | String | true | “scan_custom_light_close” | 闪光灯关闭时显示图标 |
customEvents
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
resId | String | true | 自定义点击事件ID | |
show | Boolean | false | true | 自定义点击事件ID |
回调参数
属性名 | 类型 | 说明 |
---|---|---|
code | String | 扫描结果判断,success为成功,其他失败 |
result | String | 扫描结果 |
以上是关于uniapp 扫码原生插件 - 新(可任意自定义界面版本)的主要内容,如果未能解决你的问题,请参考以下文章