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类型)获取错误描述信息。