barcode
Barcode模块管理条码(一维码和二维码)扫描识别,支持常见的一维码(如EAN13码)及二维码(如QR码)。通过调用设备的摄像头对条码进行扫描识别,扫描到条码后进行解码并返回码数据内容及码类型。
常量:
- QR: QR二维码,数值为0
- EAN13: EAN条形码标准版,数值为1
- EAN8: ENA条形码简版,数值为2
- AZTEC: Aztec二维码,数值为3
- DATAMATRIX: Data Matrix二维码,数值为4
- UPCA: UPC条形码标准版,数值为5
- UPCE: UPC条形码缩短版,数值为6
- CODABAR: Codabar条形码,数值为7
- CODE39: Code39条形码,数值为8
- CODE93: Code93条形码,数值为9
- CODE128: Code128条形码,数值为10
- ITF: ITF条形码,数值为11
- MAXICODE: MaxiCode二维码,数值为12
- PDF417: PDF 417二维条码,数值为13
- RSS14: RSS 14条形组合码,数值为14
- RSSEXPANDED: 扩展式RSS条形组合码,数值为15
方法:
- scan: 扫码识别图片中的条码
- create: 创建扫码识别控件对象
- getBarcodeById: 查找扫码识别控件对象
对象:
- Barcode: 扫码识别控件对象
- BarcodeStyles: Barcode扫码控件样式
- BarcodeOptions: 条码识别控件扫描参数
回调方法:
- BarcodeSuccessCallback: 扫码识别成功回调函数
- BarcodeErrorCallback: 扫码识别错误回调函数
权限:
permissions
{
// ...
"permissions":{
	// ...
	"Barcode": {
		"description": "二维码"
	}
}
}
			
Barcode
扫码识别控件对象
interface plus.barcode.Barcode {
	// Methods
	function void cancel();
	function void close();
	function void setFlash(open);
	function void setStyle(styles);
	function void start(options);
	// Events
	function void onerror();
	function void onmarked();
}
				
说明:
可通过plus.barcode.create创建,也可通过new plus.barcode.Barcode构造(仅在5+APP中使用)创建。 扫码识别控件将使用设备的摄像头预览扫描内容,在控件中显示扫描基准框等用户交互元素。
构造:
方法:
事件:
BarcodeStyles
Barcode扫码控件样式
interface plus.barcode.BarcodeStyles {
	attribute String background;
	attribute String frameColor;
	attribute String scanbarColor;
	
	attribute String top;
	attribute String left;
	attribute String width;
	attribute String height;
	attribute String position;
}
				
说明:
设置Barcode扫码控件的样式,如扫码框、扫码条的颜色等。
属性:
- background: (String
	类型
)条码识别控件背景颜色颜色值支持(参考CSS颜色规范):颜色名称(参考CSS Color Names)/十六进制值/rgb值,默认值为红色。 
- frameColor: (String
	类型
)扫码框颜色颜色值支持(参考CSS颜色规范):颜色名称(参考CSS Color Names)/十六进制值/rgb值/rgba值,默认值为红色。 
- scanbarColor: (String
	类型
)扫码条颜色颜色值支持(参考CSS颜色规范):颜色名称(参考CSS Color Names)/十六进制值/rgb值/rgba值,默认值为红色。 
- top: (String
	类型
)Barcode扫码控件左上角的垂直偏移量可取值: 像素值,如"100px"; 百分比,如"10%",相对于父Webview窗口的高度; 自动计算,如"auto",根据height值自动计算,相对于父Webview窗口垂直居中。 
- left: (String
	类型
)Barcode扫码控件左上角的水平偏移量可取值: 像素值,如"100px"; 百分比,如"10%",相对于父Webview窗口的宽度; 自动计算,如"auto",根据width值自动计算,相对于父Webview窗口水平居中。 默认值为"0px"。 
- width: (String
	类型
)Barcode扫码控件的宽度可取值: 像素值,如"100px"; 百分比,如"10%",相对于父Webview窗口的宽度。 默认值为"100%"。 
- height: (String
	类型
)Barcode扫码控件的高度可取值: 像素值,如"100px"; 百分比,如"10%",相对于父Webview窗口的高度。 默认值为"100%"。 
- position: (String
	类型
)Barcode扫码控件在Webview窗口的布局模式可取值: "static" - 静态布局模式,如果页面存在滚动条则随窗口内容滚动; "absolute" - 绝对布局模式,如果页面存在滚动条不随窗口内容滚动; 默认值为"static"。 
BarcodeOptions
条码识别控件扫描参数
interface plus.barcode.BarcodeOptions {
	attribute Boolean conserve;
	attribute String filename;
	attribute Boolean vibrate;
	attribute String sound;
}
				
说明:
设置Barcode扫码控件的扫码识别参数,如是否保存扫码功时的截图等。
属性:
- conserve: (Boolean
	类型
)是否保存扫码成功时的截图如果设置为true则在扫码成功时将图片保存,并通过onmarked回调函数的file参数返回保存文件的路径。 默认值为false,不保存截图。 
- filename: (String
	类型
)保存扫码成功时图片保存路径可通过此参数设置保存截图的路径和名称,如果设置图片文件名称则必须指定文件的后缀名(必须是.png),否则认为是指定目录,文件名称则自动生成。 
- vibrate: (Boolean
	类型
)扫码成功时是否需要震动提醒如果设置为true则在扫码成功时震动设备,false则不震动。 默认值为true。 
- sound: (String
	类型
)扫码成功时播放的提示音可取值: "none" - 不播放提示音; "default" - 播放默认提示音(5+引擎内置)。 默认值为"default"。 
BarcodeSuccessCallback
扫码识别成功回调函数
void BarcodeSuccessCallback(type, code, file){
	// Barcode success code
}
				
说明:
当Barcode控件扫码成功时的回调函数,返回识别成功的扫码数据。
参数:
- type: 
		(
			Number
			)
			必选 识别到的条码类型
 Number类型的值,与Barcode对象定义的条码类型常量一致。
- code: 
		(
			String
			)
			必选 识别到的条码数据
 扫码识别出的数据内容,字符串类型,采用UTF8编码格式。
- file: 
		(
			String
			)
			可选 扫码成功的截图文件路径
 扫码识别到的截图,png格式文件,如果设置为不保存截图,则返回undefined。
返回值:
void : 无BarcodeErrorCallback
扫码识别错误回调函数
void BarcodeErrorCallback(error){
	// Error 
	var code = error.code; 			// 错误编码
	var message = error.message;	// 错误描述信息
}
				
参数:
- error: 
		(
			DOMException
			)
			必选 扫码识别的错误信息
 可通过error.code(Number类型)获取错误编码; 可通过error.message(String类型)获取错误描述信息。