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 自定义配置参数

属性名类型默认值说明
isShowVibrateBooleantrue扫描完成震动
isShowBeepBooleanfalse扫描完成声音
isShowPhotoAlbumBooleantrue是否显示相册
isShowLightControllerBooleantrue是否显示闪光灯开关
zoomBooleanfalse是否支持手势缩放
scanColorString#FF0000扫描线的颜色
hintTextString扫二维码/条形码提示文案
hintTextColorString#FF0000提示文案颜色
hintTextSizeNumber14提示文案字体大小
scanGridBooleanfalse扫描线样式是否为网格
gridScanLineColumnNumber30网格扫描线的列数
gridScanLineHeightNumber300网格高度

回调参数

属性名类型说明
codeString扫描结果判断,success为成功,其他失败
resultString扫描结果

自定义界面

示例

布局文件

自定义界面是编写 android 的xml布局界面,按文档配置即可,资源名称、控件id要和调用方法一致。可自行定制,也可联系作者定制。

  • 编写好对应的布局文件,放在项目的 “nativeplugins\\Ba-Scanner\\android\\res\\layout” 目录下(没有就新建)。
  • 所用到的图片资源,放在“nativeplugins\\Ba-Scanner\\android\\res\\drawable-xxhdpi” 目录下

注意:配置更改后,需要重新制作基座才生效,建议提前配置。

扫码调用参数

属性名类型必填默认值说明
customResNameStringtrue自定义界面名称
customConfigObjectfalse自定义界面配置
customEventsArrayfalse自定义点击事件

customConfig

属性名类型必填默认值说明
backResIdStringfalse“iv_back”返回控件ID
albumResIdStringfalse“iv_photo”相册控件ID
lightResIdStringfalse“btn_scan_light”闪光灯控件ID
lightIvResIdStringfalse“iv_scan_light”闪光灯图标控件ID
lightTVResIdStringfalse“tv_scan_light”闪光灯文本控件ID
lightTvTextOnStringtrue“关闭手电筒”闪光灯打开时显示文本
lightTvTextOffStringtrue“打开手电筒”闪光灯关闭时显示文本ID
lightIvIconOnStringtrue“scan_custom_light_open”闪光灯打开时显示图标
lightIvIconOffStringtrue“scan_custom_light_close”闪光灯关闭时显示图标

customEvents

属性名类型必填默认值说明
resIdStringtrue自定义点击事件ID
showBooleanfalsetrue自定义点击事件ID

回调参数

属性名类型说明
codeString扫描结果判断,success为成功,其他失败
resultString扫描结果

以上是关于uniapp 扫码原生插件 - 新(可任意自定义界面版本)的主要内容,如果未能解决你的问题,请参考以下文章

uniapp 常用原生插件大全

uniapp 常用原生插件大全

uniapp扫码原生插件(Google MLKitzxing;支持同时扫多个码)

七、uni-app 原生插件开发03 - 制作自定义基座

uniApp tabbar 可自定义,也可原生

uniapp 原生Toast弹窗提示(可穿透所有界面) Ba-Toast