Skip to content

Latest commit

History

History
101 lines (77 loc) 路 3.86 KB

File metadata and controls

101 lines (77 loc) 路 3.86 KB

react-usb-barcode-scanner

袝褋谢懈 褍 胁邪褋 械褋褌褜 褋泻邪薪械褉 斜邪褉泻芯写邪 懈 胁邪屑 薪邪写芯 械谐芯 懈薪褌械谐褉懈褉芯胁邪褌褜 胁 react 锌褉懈谢芯卸械薪懈械.

袛械屑芯

袛械屑芯 锌芯 锌褉懈屑械薪械薪懈褞 https://sinyawskiy.github.io/react-usb-barcode-scanner/ 袙 泻芯薪褋芯谢懈 屑芯卸薪芯 褍胁懈写械褌褜 泻邪褋褌芯屑薪褍褞 芯斜褉邪斜芯褌泻褍 斜邪褉泻芯写邪 胁 middleware.

袩褉懈薪褑懈锌 褉邪斜芯褌褘

袧邪 褋芯斜褘褌懈械 document keyup 胁械褕邪械褌褋褟 芯斜褉邪斜芯褌褔懈泻. 袨薪 褋屑芯褌褉懈褌 械褋谢懈 褋懈屑胁芯谢褘 写芯褋褌邪褌芯褔薪芯 斜褘褋褌褉芯 薪邪斜懈褉邪褞褌褋褟, 褋芯褏褉邪薪褟械褌 懈褏 胁 锌邪屑褟褌懈, 锌芯褋谢械 芯泻芯薪褔邪薪懈褟 斜褘褋褌褉芯谐芯 薪邪斜芯褉邪 写懈褋锌邪褌褔懈褌 褋芯斜褘褌懈械 褋 褌械泻褋褌芯屑.

袩芯 褍屑芯谢褔邪薪懈褞 褝泻褋锌芯褉褌 懈蟹 屑芯写褍谢褟

export {
    barcodeScannerMiddleware,
    barcodeScannerReducer,
    BARCODE_SCANNED,
    BARCODE_SCANNING,
    BarcodeScanner,
    enableBarcodeScanner,
    disableBarcodeScanner,
    setHistoryInfo,
}

袛谢褟 懈褋锌芯谢褜蟹芯胁邪薪懈褟 薪械芯斜褏芯写懈屑芯

袩褉芯锌懈褋邪褌褜 胁 reducers.js

import { barcodeScannerReducer } from 'react-usb-barcode-scanner';

export default {
    ...,
    barcodeScanner: barcodeScannerReducer,
}

袩褉芯锌懈褋邪褌褜 胁 middleware.js

import { applyMiddleware } from 'redux';
import { barcodeScannerMiddleware } from 'BarcodeScanner';

applyMiddleware([..., barcodeScannerMiddleware])

袛芯斜邪胁懈褌褜 胁 App.js

<Root>
    ...
    <BarcodeScanner config={{
        intervalBetweenKeyPress: 100,
        scanningEndTimeout: 200,
        debug: true,
        ignoreOnInput: false,
        historyLength: 0,
    }}/>
    ...
</Root>

袙褋褟 芯斜褉邪斜芯褌泻邪 锌褉芯懈褋褏芯写懈褌 胁 屑懈写写谢械胁邪褉械, 褌邪屑 写懈褋锌邪褌褔邪褌褋褟 薪械芯斜褏芯写懈屑褘械 褋芯斜褘褌懈褟 懈 芯斜褉邪斜邪褌褘胁邪褞褌褋褟 斜邪褉泻芯写褘.

袩褉懈屑械褉

袩褉懈屑械褉 褋屑芯褌褉懈褌械 胁 锌邪锌泻械 example :)

TODO: 袧邪 hook 锌芯泻邪 薪械 锌芯谢褍褔懈谢芯褋褜 褉械邪谢懈蟹芯胁邪褌褜 褏褉邪薪械薪懈械 芯斜褗械泻褌邪 褌懈锌邪 timeout. 袧械褌 芯斜薪褍谢械薪懈褟 懈薪褎芯褉屑邪褑懈懈 锌褉懈 薪邪褔邪谢械 褋泻邪薪懈褉芯胁邪薪懈褟.

袩褉懈屑械褉 泻芯薪褎懈谐褍褉邪褑懈懈

袣芯薪褎懈谐褍褉邪褑懈褟 config.js

export default {
  intervalBetweenKeyPress: 100, // 械褋谢懈 屑械卸写褍 薪邪卸邪褌懈褟屑懈 屑械薪褜褕械 100 屑褋 (褍 褋泻邪薪械褉邪 锌褉懈屑械褉薪芯 25 屑褋),
  scanningEndTimeout: 200,  // 薪邪卸邪褌懈褟 锌褉械泻褉邪褌懈谢懈褋褜 卸写械屑 200 屑褋, 褌芯 胁胁芯写 锌褉械泻褉邪褌懈谢褋褟
  debug: true,
  historyLength: 5,
}

袧械芯斜褟蟹邪褌械谢褜薪褘泄 邪褌褌褉懈斜褍褌 config 锌械褉械写邪褢褌褋褟 胁 泻芯屑锌芯薪械薪褌:

import config from './config'; 

<BarcodeScanner config={config} />

袠褋锌芯谢褜蟹芯胁邪薪懈械 history

袧械芯斜褏芯写懈屑芯 胁 泻芯薪褎懈谐 褎邪泄谢械 褍褋褌邪薪芯胁懈褌褜 锌邪褉邪屑械褌褉 historyLength: 5, 泻芯谢懈褔械褋褌胁芯 蟹邪锌懈褋械泄 胁 懈褋褌芯褉懈懈, 褋邪屑邪褟 锌芯褋谢械写薪褟褟 褋邪屑邪褟 薪芯胁邪褟.

袙褋褟 懈褋褌芯褉懈褟 谢械卸懈褌 胁 褋褌芯褉械 斜邪褉泻芯写 褋泻邪薪械褉邪 胁 屑邪褋褋懈胁械 history. 袙 胁懈写械 芯斜褗械泻褌邪, 写邪褌褘 date 胁 褎芯褉屑邪褌械 ISO 8601, 懈 褋褌褉芯泻懈 data 泻芯褌芯褉邪褟 斜褘谢邪 芯褌褋泻邪薪懈褉芯胁邪薪邪.

效褌芯斜褘 写芯斜邪胁懈褌褜 胁 懈褋褌芯褉懈褞, 薪邪锌褉懈屑械褉 懈屑褟 锌芯谢褜蟹芯胁邪褌械谢褟 懈谢懈 懈写械褌懈褎懈泻邪褌芯褉, 懈褋锌芯谢褜蟹褍械褌褋褟 action setHistoryDict, 泻芯褌芯褉褘泄 胁 payload 锌褉懈薪懈屑邪械褌 dict 泻芯褌芯褉褘泄 锌芯褌芯屑 褉邪褋写懈褋褌褉邪泻褔懈胁邪械褌褋褟 胁 history 锌褉懈 褋泻邪薪懈褉芯胁邪薪懈懈.

小褌褉邪薪懈褑褘 锌褉芯械泻褌邪

https://www.npmjs.com/package/react-usb-barcode-scanner https://github.com/sinyawskiy/react-usb-barcode-scanner