【小编推荐】app二维码/条形码扫描器(FNScanner)

2016-01-15   |   发布者:梁国芳   |   查看:3320次

app开发
 

概述

FNScanner模块是一个二维码/条形码扫描器,底层集成了ZXing,Zbar条形码/二维码分析库。调用 openScanner 接口打开默认UI的二维码/条形码扫描页面,可控制闪光灯开关、从相册读取图片;开发者亦可通过 openView 接口打开扫描区域,自定义其 UI;本模块还实现了图片解码、字符串编码功能;开发者可将扫描结果保存到系统相册或指定位置。FNScanner 模块是 scanner 模块的优化版。在 ios 平台上 autorotation 功能仅适用于 ios6 以上版本

图片说明

 

openScanner

打开二维码/条码扫描器

openScanner({params}, callback(ret))

params

sound:

autorotation:

saveToAlbum:

saveImg:

{     path: 'fs://a.jpg',  //字符串类型;保存的文件路径;若路径不存在,则创建此路径,只支持fs://协议     w: 200,              //(可选项)数字类型;生成图片的宽度,默认:200     h: 200               //(可选项)数字类型;生成图片的高度,默认:200 } 

callback(ret)

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

打开可自定义的二维码/条形码扫描器

openView({params},callback(ret))

params

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:

callback(ret)

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

重设可自定义的二维码/条形码扫描器的大小和位置

setFrame({params})

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

关闭自定义大小的二维码/条码扫描器

closeView()

示例代码

var FNScanner = api.require('FNScanner'); FNScanner.closeView(); 

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

 

decodeImg

二维码/条形码图片解码

decodeImg({params},callback(ret))

params

sound:

path:

callback(ret)

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

将字符串生成二维码/条形码图片

encodeImg({params},callback(ret))

params

type:

content:

saveToAlbum:

saveImg:

{     path: 'fs://a.jpg',  //字符串类型;保存的文件路径;若路径不存在,则创建此路径,只支持fs://协议     w: 200,              //(可选项)数字类型;生成图片的宽度,默认:200     h: 200               //(可选项)数字类型;生成图片的高度,默认:200 } 

callback(ret)

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

打开/关闭闪光灯

switchLight({params})

params

status:

示例代码

var FNScanner = api.require('FNScanner'); FNScanner.switchLight({     status: 'on' }); 

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本