mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2025-01-20 01:22:52 +08:00
feat(zBar): add zBar barcode scanner plugin (#634)
This commit is contained in:
parent
0bc73e525d
commit
bbbbb3e8d0
@ -107,6 +107,7 @@ import { VideoEditor } from './plugins/video-editor';
|
||||
import { VideoPlayer } from './plugins/video-player';
|
||||
import { WebIntent } from './plugins/webintent';
|
||||
import { YoutubeVideoPlayer } from './plugins/youtube-video-player';
|
||||
import { ZBar } from './plugins/z-bar';
|
||||
import { Zip } from './plugins/zip';
|
||||
export * from './plugins/3dtouch';
|
||||
export * from './plugins/background-geolocation';
|
||||
@ -217,6 +218,7 @@ Vibration,
|
||||
VideoPlayer,
|
||||
WebIntent,
|
||||
YoutubeVideoPlayer,
|
||||
ZBar,
|
||||
Zip
|
||||
}
|
||||
|
||||
@ -326,6 +328,7 @@ window['IonicNative'] = {
|
||||
Vibration,
|
||||
WebIntent,
|
||||
YoutubeVideoPlayer,
|
||||
ZBar,
|
||||
Zip
|
||||
};
|
||||
|
||||
|
91
src/plugins/z-bar.ts
Normal file
91
src/plugins/z-bar.ts
Normal file
@ -0,0 +1,91 @@
|
||||
import { Plugin, Cordova } from './plugin';
|
||||
|
||||
/**
|
||||
* @name ZBar
|
||||
* @description
|
||||
* The ZBar Scanner Plugin allows you to scan 2d barcodes.
|
||||
*
|
||||
* Requires Cordova plugin: `cordova-plugin-cszbar`. For more info, please see the [zBar plugin docs](https://github.com/tjwoon/csZBar).
|
||||
*
|
||||
* @usage
|
||||
* ```
|
||||
* import { ZBar } from 'ionic-native';
|
||||
*
|
||||
* let zBarOptions = {
|
||||
* flash: "off",
|
||||
* drawSight: false
|
||||
* };
|
||||
*
|
||||
* ZBar.scan(zBarOptions)
|
||||
* .then(result => {
|
||||
* console.log(result); // Scanned code
|
||||
* })
|
||||
* .catch(error => {
|
||||
* console.log(error); // Error message
|
||||
* });
|
||||
*
|
||||
* ```
|
||||
*
|
||||
* @advanced
|
||||
* zBar options
|
||||
*
|
||||
* | Option | Type | Values | Defaults |
|
||||
* |--------------------|-----------|-----------------------------------------------------------------------------------------|
|
||||
* | text_title |`string?` | | `"Scan QR Code"` (Android only) |
|
||||
* | text_instructions |`string?` | | `"Please point your camera at the QR code."` (Android only) |
|
||||
* | camera |`string?` | `"front"`, `"back"`, | `"back"` |
|
||||
* | flash |`string?` | `"on"`, `"off"`, `"auto"` | `"auto"` |
|
||||
* | drawSight |`boolean?` | `true`, `false` | `true` (Draws red line in center of scanner) |
|
||||
*
|
||||
*/
|
||||
@Plugin({
|
||||
plugin: 'cordova-plugin-cszbar',
|
||||
pluginRef: 'cloudSky.zBar',
|
||||
repo: 'https://github.com/tjwoon/csZBar',
|
||||
platforms: ['Android', 'iOS']
|
||||
})
|
||||
export class ZBar {
|
||||
|
||||
/**
|
||||
* Open the scanner
|
||||
* @param options { ZBarOptions } Scan options
|
||||
* @return Returns a Promise that resolves with the scanned string, or rejects with an error.
|
||||
*/
|
||||
@Cordova()
|
||||
static scan(options: ZBarOptions): Promise<any> { return; }
|
||||
|
||||
}
|
||||
|
||||
export interface ZBarOptions {
|
||||
/**
|
||||
* A string representing the title text (Android only).
|
||||
* Default: "Scan QR Code"
|
||||
*/
|
||||
text_title?: string;
|
||||
|
||||
/**
|
||||
* A string representing the instruction text (Android only).
|
||||
* Default: "Please point your camera at the QR code."
|
||||
*/
|
||||
text_instructions?: string;
|
||||
|
||||
/**
|
||||
* A string defining the active camera when opening the scanner.
|
||||
* Possible values: "front", "back"
|
||||
* Default: "back"
|
||||
*/
|
||||
camera?: string;
|
||||
|
||||
/**
|
||||
* A string defining the state of the flash.
|
||||
* Possible values: "on", "off", "auto"
|
||||
* Default: "auto"
|
||||
*/
|
||||
flash?: string;
|
||||
|
||||
/**
|
||||
* A boolean to show or hide a line in the center of the scanner.
|
||||
* Default: true
|
||||
*/
|
||||
drawSight?: boolean;
|
||||
}
|
Loading…
Reference in New Issue
Block a user