UNPKG

@itsjining/svelte-scan-qrcode

Version:

Scan QR Code on browser by open camera or upload QR Code image. Support open cameras on Android and iOS browsers.

65 lines (56 loc) 2.1 kB
# svelte-scan-qrcode **Scan QR Code on browser by open camera or upload QR Code image. Support open cameras on Android and iOS browsers.** ## [Demo](https://svelte-scan-qrcode.vercel.app/) #### How to use - Install [@itsjining/svelte-scan-qrcode](https://www.npmjs.com/package/@itsjining/svelte-scan-qrcode) ```shell npm install --save @itsjining/svelte-scan-qrcode ``` ##### Simple with `bind:scanResult` to get scan result ```svelte <script lang="ts"> import { ScanQRCode } from "@itsjining/svelte-scan-qrcode"; let result = ""; </script> <ScanQRCode bind:scanResult={result} options={{}} /> ``` ##### Custom with `enableQRCodeReaderButton` and `options` ```svelte <script lang="ts"> import { goto } from "$app/navigation"; import { ScanQRCode } from "@itsjining/svelte-scan-qrcode"; let result = ""; function _onPermissionError() { alert("Permission rejected"); location.reload(); } function _onResulted() { if (result.includes("love")) { goto("/result"); // go to result page } } </script> <ScanQRCode bind:scanResult={result} enableQRCodeReaderButton={true} options={{ onPermissionError: () => _onPermissionError(), onResulted: () => _onResulted(), }} /> ``` --- - #### Props - **scanResult** - Type `string`. - Use `bind:scanResult` to get scan result. - **enableQRCodeReaderButton** - Type `boolean`. - Set to true for enable upload QR Code image button. After user uploaded image `@itsjining/svelte-scan-qrcode` package will read QR Code from image. - **options** - Types ``` { onPermissionError?: Function; onResulted?: Function; } ``` - onPermissionError function will call if `@itsjining/svelte-scan-qrcode` package request camera get rejected. - onResulted function will call if the `@itsjining/svelte-scan-qrcode` package gets the scan result from QR Code.