【小(xiǎo)編推薦】app二維碼/條形↓γ§€碼掃描器(qì)(FNScanner)

2016-01-15   | &nb↔♠sp; 發布者:梁國(guó)芳 &n✔ α‍bsp; |  &nbs↔↓p;查看(kàn):3320次

app開(kāi)發
 

概述

FNScanner模塊是(shì)一(yī)個(gè)二維碼↔<σ/條形碼掃描器(qì),底層集成了(le)ZXin" σ✘g,Zbar條形碼/二維碼分(fēn)析庫。調用(‌λyòng) openScanner 接口打開(kāi)默認UI的(de)二↔↑維碼/條形碼掃描頁面,可(kě)控制(zhì)閃光(guāng"☆)燈開(kāi)關、從(cóng)相(xià‌↕ng)冊讀(dú)取圖片;開(kāi)發者亦可(kě)通(tōng)過 oα∞γpenView 接口打開(kāi)掃描區(qū)域,自(zì←δ♥)定義其 UI;本模塊還(hái)實現(xiàn)了(le)圖片解碼、字符串₹♦±編碼功能(néng);開(kāi)發者可(kě)将掃描結果保存‌×到(dào)系統相(xiàng)冊或指定位置≠π。FNScanner 模塊是(shì) scanner 模塊的(de)優化(≥¶÷huà)版。在 ios 平台上(shàng) autorotatiπ≥←on 功能(néng)僅适用(yòng)于≤​§ ios6 以上(shàng)版本

圖片說(shuō)明(míng)

 

openScanner

打開(kāi)二維碼/條碼掃描器(qì)​¶​∑

openScanner({params}, callback(r✔σεet))

params

sound:

autorotation:

saveToAlbum:

saveImg:

{     path: 'fs://a.jpg',  //字符串類型;保存的(de)文(wén)件(ji≠÷"≤àn)路(lù)徑;若路(lù)徑不(bù)存在,則創建此路(ε≤lù)徑,隻支持fs://協議(yì)     w: 200,              //(可(kě)選項)數(shù)字類型;生(shēng)成圖片的(d¶​∏×e)寬度,默認:200     h: 200               //(可(kě)選項)數(shù)字類型;生(shēng)成圖片的"∏α₩(de)高(gāo)度,默認:200 } 

callback(ret)

ret:

{    eventType: 'cancel',     //字符串類型;掃碼事(shì)件(jiàn)類型                             //取值範圍:                             //show(模塊顯示)                             //cancel(用(yòng)戶取消掃碼)                             //selectImage(用(yòng)∏↑'戶從(cóng)系統相(xiàng)冊選取二維碼圖片)                             //success(識别二維碼/條碼圖片λ≠←成功)                             //fail(掃碼失敗)    imgPath: '',             //字符串類型;需要(yào)保存的(de)二維碼圖片絕對(duì)♠✘♠♣路(lù)徑(自(zì)定義路(lù)徑)    albumPath: '',           //字符串類型;需要(yào)保存的(de)二維碼圖片‍✔‌絕對(duì)路(lù)徑(相(xiàng)♣£ε'冊路(lù)徑)    content: ''              //掃描的(de)二維碼/條形碼信息 } 

示例代碼

var FNScanner = api.require('FNScanner'); FNScanner.openScanner({     a♥↑∑utorotation: true, },function( ret, err ){             if( ret ){         alert( JSON.stringify( ret ) );     }else{         alert( JSON.stringify( err ) );    ±÷  } }); 

可(kě)用(yòng)性

iOS系統,Android系統

可(kě)提供的(de)1.0.0及更高(gāo)版本

 

openView

打開(kāi)可(kě)自(zì)定義的(∏≈±±de)二維碼/條形碼掃描器(qì)

openView({params},callback($‌∏ret))

params

rect:

{     x: 0,   //(可(kě)選項)數(shù)字類型;模塊左上(shàng)角的 ‌(de) x 坐(zuò)标(相(xiàng)對(duì↓$∑)于所屬的(de) Window 或 Frame);默認:0     y: 0,   //(可(kě)選項)數(shù)字類型;模塊左β×上(shàng)角的(de) y 坐(zuò)标(相♣ (xiàng)對(duì)于所屬的(de) Windo∞↕‌ w 或 Frame);默認:0     w: 320, //(可(kě)選項)數(shù)字類型;模塊的(¥×de)寬度;默認:所屬的(de) Wind♦σ¥←ow 或 Frame 的(de)寬度     h: 480  //(可(kě)選項)數(shù)字類型;模✔☆✔←塊的(de)高(gāo)度;默認:所屬的(de) Wind♥¥¥ow 或 Frame 的(de)高(gāo)度 } 

sound:

autorotation:

saveToAlbum:

saveImg:

{     path: 'fs://a.jpg',   //字符串類型;保存的(de)文(wén)件(jiàn'π↕↑)路(lù)徑;若路(lù)徑不(bù)存在,®✔則創建此路(lù)徑,隻支持fs://協議(yì)     w: 200,               //(可(kě)選項)數(shù)字類型;生(shēng)成圖片的(de)≥♦寬度,默認:200     h: 200                //(可(kě)選項)數(shù)字類型;生(shēng)成圖片的(∑♦♣αde)高(gāo)度,默認:200 } 

fixedOn:

fixed:

callback(ret)

ret:

{     eventType: 'success',    //字符串類型;掃碼事(shì)件(jiàn)類型                              //取值範圍:                              //show(模塊顯示)                              //success(掃碼成功)                              //fail(掃碼失敗)     imgPath: '',             //字符串類型;需要(yào)保存的(de)二維碼圖片絕對(duì)路(lù‍≈↑)徑(自(zì)定義路(lù)徑)     albumPath: '',           //字符串類型;需要(yào)保存的(de)二維 £∞碼圖片絕對(duì)路(lù)徑(相(xiàng)冊路(lù)徑Ω¥)     content: ''              //掃描的(de)二維碼/條形碼信息 } 

示例代碼

var FNScanner = api.require('FNScanner'); FNScanner.openView({    ε₽±≈ autorotation: true },function( ret, err ){             if( ret ){         alert( JSON.stringify( ret ) );  ★Ω♠    }else{         alert( JSON.stringify( err ) );   ↑™  } }); 

可(kě)用(yòng)性

iOS系統,Android系統

可(kě)提供的(de)1.0.0及更高(gāo)版本

 

setFrame

重設可(kě)自(zì)定義的(de)二維碼/條形碼掃描器(qì)的(deπ★α÷)大(dà)小(xiǎo)和(hé)位置

setFrame({params})

params

x:

y:

w:

h:

示例代碼

var FNScanner = api.require('FNScanner'); FNScanner.setFrame({    x: 10,    y: 64,    w: 300,    h: 300 }); 

可(kě)用(yòng)性

iOS系統,Android系統

可(kě)提供的(de)1.0.0及更高(gāo)版本

 

closeView

關閉自(zì)定義大(dà)小(xiǎo​>$∑)的(de)二維碼/條碼掃描器(qì)

closeView()

示例代碼

var FNScanner = api.require('FNScanner'); FNScanner.closeView()€★​; 

可(kě)用(yòng)性

iOS系統,Android系統

可(kě)提供的(de)1.0.0及更高(gāo ♠<♥)版本

 

decodeImg

二維碼/條形碼圖片解碼

decodeImg({params},callbac≤ ♦→k(ret))

params

sound:

path:

callback(ret)

ret:

{     status: true,        //布爾型;是(shì)否解碼成功     content: ''          //掃描的(de)二維碼/條形碼信息 } 

示例代碼

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 ) );     } });¶£↓ 

可(kě)用(yòng)性

iOS系統,Android系統

可(kě)提供的(de)1.0.0及更高(gāo)版本

 

encodeImg

将字符串生(shēng)成二維碼/條形碼圖片

encodeImg({params},ca₩∞§>llback(ret))

params

type:

content:

saveToAlbum:

saveImg:

{     path: 'fs://a.jpg',  //字符串類型;保存的(de)文(wén)件(jiàn‌₹£)路(lù)徑;若路(lù)徑不(bù)存在,則創建此路(lù)徑,隻支持f¶δs://協議(yì)     w: 200,              //(可(kě)選項)數(shù)字類型;生(shēng)成β  圖片的(de)寬度,默認:200     h: 200               //(可(kě)選項)數(shù)字類型;生(sh♠™₽ēng)成圖片的(de)高(gāo)度,默認:200 } 

callback(ret)

ret:

{     status: true,        //布爾型;是(shì)否生(shēng)成成功     imgPath: '',         //字符串類型;需要(yào)保存的(de)二™±≈維碼圖片絕對(duì)路(lù)徑(自(zì)定義路(lù↔≈₹)徑)     albumPath: '',       //字符串類型;需要(yào)保存的(de)二維碼圖片絕對(duì)路(© ¥lù)徑(相(xiàng)冊路(lù)徑) } 

示例代碼

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 ) );±×♠     } }); 

可(kě)用(yòng)性

iOS系統,Android系統

可(kě)提供的(de)1.0.0及更高(gāo)版本

 

switchLight

打開(kāi)/關閉閃光(guāng)燈

switchLight({params})

params

status:

示例代碼

var FNScanner = api.require('FNScanner'); FNScanner.switchL®←™↓ight({     status: 'on' }); 

可(kě)用(yòng)性

iOS系統,Android系統

可(kě)提供的(de)1.0.0及更高(gā ₽δ←o)版本