@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
Markdown
# 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.