FNScanner模块是一个二维码/条形码扫描器,底层集成了ZXing,Zbar条形码/二维码分析库。调用 openScanner 接口打开默认UI的二维码/条形码扫描页面,可控制闪光灯开关、从相册读取图片;开发者亦可通过 openView 接口打开扫描区域,自定义其 UI;本模块还实现了图片解码、字符串编码功能;开发者可将扫描结果保存到系统相册或指定位置。FNScanner 模块是 scanner 模块的优化版。在 ios 平台上 autorotation 功能仅适用于 ios6 以上版本
打开二维码/条码扫描器
openScanner({params}, callback(ret))
sound:
autorotation:
saveToAlbum:
saveImg:
{ path: 'fs://a.jpg', //字符串类型;保存的文件路径;若路径不存在,则创建此路径,只支持fs://协议 w: 200, //(可选项)数字类型;生成图片的宽度,默认:200 h: 200 //(可选项)数字类型;生成图片的高度,默认:200 }
ret:
{ eventType: 'cancel', //字符串类型;扫码事件类型 //取值范围: //show(模块显示) //cancel(用户取消扫码) //selectImage(用户从系统相册选取二维码图片) //success(识别二维码/条码图片成功) //fail(扫码失败) imgPath: '', //字符串类型;需要保存的二维码图片绝对路径(自定义路径) albumPath: '', //字符串类型;需要保存的二维码图片绝对路径(相册路径) content: '' //扫描的二维码/条形码信息 }
var FNScanner = api.require('FNScanner'); FNScanner.openScanner({ autorotation: true, },function( ret, err ){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } });
iOS系统,Android系统
可提供的1.0.0及更高版本
打开可自定义的二维码/条形码扫描器
openView({params},callback(ret))
rect:
{ x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0 y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0 w: 320, //(可选项)数字类型;模块的宽度;默认:所属的 Window 或 Frame 的宽度 h: 480 //(可选项)数字类型;模块的高度;默认:所属的 Window 或 Frame 的高度 }
sound:
autorotation:
saveToAlbum:
saveImg:
{ path: 'fs://a.jpg', //字符串类型;保存的文件路径;若路径不存在,则创建此路径,只支持fs://协议 w: 200, //(可选项)数字类型;生成图片的宽度,默认:200 h: 200 //(可选项)数字类型;生成图片的高度,默认:200 }
fixedOn:
fixed:
ret:
{ eventType: 'success', //字符串类型;扫码事件类型 //取值范围: //show(模块显示) //success(扫码成功) //fail(扫码失败) imgPath: '', //字符串类型;需要保存的二维码图片绝对路径(自定义路径) albumPath: '', //字符串类型;需要保存的二维码图片绝对路径(相册路径) content: '' //扫描的二维码/条形码信息 }
var FNScanner = api.require('FNScanner'); FNScanner.openView({ autorotation: true },function( ret, err ){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } });
iOS系统,Android系统
可提供的1.0.0及更高版本
重设可自定义的二维码/条形码扫描器的大小和位置
setFrame({params})
x:
y:
w:
h:
var FNScanner = api.require('FNScanner'); FNScanner.setFrame({ x: 10, y: 64, w: 300, h: 300 });
iOS系统,Android系统
可提供的1.0.0及更高版本
关闭自定义大小的二维码/条码扫描器
closeView()
var FNScanner = api.require('FNScanner'); FNScanner.closeView();
iOS系统,Android系统
可提供的1.0.0及更高版本
二维码/条形码图片解码
decodeImg({params},callback(ret))
sound:
path:
ret:
{ status: true, //布尔型;是否解码成功 content: '' //扫描的二维码/条形码信息 }
var FNScanner = api.require('FNScanner'); FNScanner.decodeImg({ path: 'widget://res/img/apicloud.png' },function( ret, err ){ if( ret.status ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } });
iOS系统,Android系统
可提供的1.0.0及更高版本
将字符串生成二维码/条形码图片
encodeImg({params},callback(ret))
type:
content:
saveToAlbum:
saveImg:
{ path: 'fs://a.jpg', //字符串类型;保存的文件路径;若路径不存在,则创建此路径,只支持fs://协议 w: 200, //(可选项)数字类型;生成图片的宽度,默认:200 h: 200 //(可选项)数字类型;生成图片的高度,默认:200 }
ret:
{ status: true, //布尔型;是否生成成功 imgPath: '', //字符串类型;需要保存的二维码图片绝对路径(自定义路径) albumPath: '', //字符串类型;需要保存的二维码图片绝对路径(相册路径) }
var FNScanner = api.require('FNScanner'); FNScanner.encodeImg({ content: 'http://www.apicloud.com/', saveToAlbum: true, saveImg: { path: 'fs://album.png', w: 200, h: 200 } },function( ret, err ){ if( ret.status ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } });
iOS系统,Android系统
可提供的1.0.0及更高版本
打开/关闭闪光灯
switchLight({params})
status:
var FNScanner = api.require('FNScanner'); FNScanner.switchLight({ status: 'on' });
iOS系统,Android系统
可提供的1.0.0及更高版本