FNScanner 原生插件是一個(gè)二維碼/條形碼掃描器,是 scanner 原生插件的優(yōu)化升級(jí)版。在 iOS 平臺(tái)上插件底層集成了系統(tǒng)自帶掃碼功能。注意:使用此插件前需在云編譯頁(yè)面勾選添加訪問(wèn)攝像頭權(quán)限。
我們可以通過(guò)openScanner 接口或openView 接口進(jìn)行掃描,其中 openScanner 接口直接打開(kāi)自帶默認(rèn)效果的窗口,內(nèi)容不支持自定義;而openView 接口則是打開(kāi)一個(gè)自定義大小的掃描區(qū)域,用戶(hù)可自行設(shè)計(jì)頁(yè)面的樣式和功能。我們這里采用openView 接口打開(kāi)掃描器。
首先在apiready生命周期中通過(guò)api.require方法引入擴(kuò)展模塊。
然后便可直接使用openView接口打開(kāi)掃描區(qū)域。
更多參數(shù)的聲明可以去官網(wǎng)查看。
再進(jìn)行具體操作之前,我們需要先監(jiān)聽(tīng)此插件app在前臺(tái)和后臺(tái)之間的切換以便對(duì)資源進(jìn)行一些操作。這里提供了兩個(gè)方法:onResume()與onPause():其中onResume通知當(dāng)前本原生插件app進(jìn)入回到前臺(tái)。此時(shí)原生插件會(huì)進(jìn)行一些資源的恢復(fù)操作,防止照相機(jī)回來(lái)之后黑屏;onPause通知當(dāng)前本原生插件app進(jìn)入后臺(tái)。此時(shí)原生插件會(huì)進(jìn)行一些資源的暫停存儲(chǔ)操作,防止照相機(jī)回來(lái)之后黑屏。編譯如下:
注意這兩個(gè)方法需要在apiready中調(diào)用。
現(xiàn)在一個(gè)初步的掃描器頁(yè)面就已經(jīng)建好了,接下來(lái)需要實(shí)現(xiàn)掃描器的功能。詳情見(jiàn)下一章。