From 7034aef571b003e8676b1b14faef79a1bf6ef9a4 Mon Sep 17 00:00:00 2001 From: "mohamed.mekawy" Date: Sun, 15 Sep 2019 14:30:33 +0300 Subject: [PATCH] add barcode scanner --- Mohem/config.xml | 4 +- Mohem/package-lock.json | 99 ++++++++++++++----------------- Mohem/package.json | 10 ++-- Mohem/src/app/home/home.module.ts | 4 ++ Mohem/src/app/home/home.page.ts | 47 +++++++++------ 5 files changed, 89 insertions(+), 75 deletions(-) diff --git a/Mohem/config.xml b/Mohem/config.xml index 63fc4516..c1ebbfcb 100644 --- a/Mohem/config.xml +++ b/Mohem/config.xml @@ -102,8 +102,10 @@ - + + + diff --git a/Mohem/package-lock.json b/Mohem/package-lock.json index a3c25224..abf0bf40 100644 --- a/Mohem/package-lock.json +++ b/Mohem/package-lock.json @@ -790,11 +790,18 @@ } }, "@ionic-native/barcode-scanner": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ionic-native/barcode-scanner/-/barcode-scanner-5.8.0.tgz", - "integrity": "sha512-fypCb/8MikdTPaUl+oAtK+abrdgWnsYk3FtN3HPcNU4VB53QtBrx4LFC0l9xXD9rW8S7S0Xr2uHogtzhbh1bdg==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@ionic-native/barcode-scanner/-/barcode-scanner-5.14.0.tgz", + "integrity": "sha512-FwTHQD5TUaR441V76IoXQmrSdz7AZ/qBfrfh/rDaXWgYHg7iJA3prOlBPCW+YGfLV3qvlRJeq/ASub/JkTBDrg==", "requires": { "@types/cordova": "^0.0.34" + }, + "dependencies": { + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" + } } }, "@ionic-native/ble": { @@ -1454,9 +1461,7 @@ "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true, - "optional": true + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "accepts": { "version": "1.3.7", @@ -4359,11 +4364,6 @@ "resolved": "https://registry.npmjs.org/cordova-plugin-badge/-/cordova-plugin-badge-0.8.8.tgz", "integrity": "sha512-RhIBtd5xhD/iLnxjt35jvOae28oNW/wtMZBOmQR3Rf0y4wirvA1bpAZEhBoFqL+rZGhsd6ddOdQXdex1T0DRyQ==" }, - "cordova-plugin-cszbar": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/cordova-plugin-cszbar/-/cordova-plugin-cszbar-1.3.4.tgz", - "integrity": "sha1-+0mTGSPjVjwNTJaVaawGAsXz62o=" - }, "cordova-plugin-datepicker": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/cordova-plugin-datepicker/-/cordova-plugin-datepicker-0.9.3.tgz", @@ -6115,8 +6115,7 @@ "version": "2.1.1", "resolved": false, "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "optional": true + "dev": true }, "aproba": { "version": "1.2.0", @@ -6140,15 +6139,13 @@ "version": "1.0.0", "resolved": false, "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "resolved": false, "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -6165,22 +6162,19 @@ "version": "1.1.0", "resolved": false, "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "resolved": false, "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "resolved": false, "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -6311,8 +6305,7 @@ "version": "2.0.3", "resolved": false, "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -6326,7 +6319,6 @@ "resolved": false, "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -6343,7 +6335,6 @@ "resolved": false, "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -6352,15 +6343,13 @@ "version": "0.0.8", "resolved": false, "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.3.5", "resolved": false, "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -6381,7 +6370,6 @@ "resolved": false, "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -6470,8 +6458,7 @@ "version": "1.0.1", "resolved": false, "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -6485,7 +6472,6 @@ "resolved": false, "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -6581,8 +6567,7 @@ "version": "5.1.2", "resolved": false, "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "optional": true + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -6624,7 +6609,6 @@ "resolved": false, "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -6646,7 +6630,6 @@ "resolved": false, "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -6695,15 +6678,13 @@ "version": "1.0.2", "resolved": false, "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true, - "optional": true + "dev": true }, "yallist": { "version": "3.0.3", "resolved": false, "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", - "dev": true, - "optional": true + "dev": true } } }, @@ -7469,8 +7450,7 @@ "interpret": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", - "dev": true + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==" }, "invariant": { "version": "2.2.4", @@ -9600,8 +9580,7 @@ "os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-locale": { "version": "1.4.0", @@ -9616,14 +9595,12 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "osenv": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, "requires": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.0" @@ -9941,8 +9918,7 @@ "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, "path-to-regexp": { "version": "0.1.7", @@ -9992,6 +9968,26 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, + "phonegap-plugin-barcodescanner": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/phonegap-plugin-barcodescanner/-/phonegap-plugin-barcodescanner-8.1.0.tgz", + "integrity": "sha512-WQCDCoH9EQ9WEn2bce+B95jbNJduilAn2Vtske8KfcYAeGu7bdFqRD7zGCLCQao62VwoEwlX0cUvbQ/am12Jwg==", + "requires": { + "nopt": "^4.0.1", + "shelljs": "^0.8.3" + }, + "dependencies": { + "nopt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + } + } + }, "phonegap-plugin-multidex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/phonegap-plugin-multidex/-/phonegap-plugin-multidex-1.0.0.tgz", @@ -10582,7 +10578,6 @@ "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, "requires": { "resolve": "^1.1.6" } @@ -10767,7 +10762,6 @@ "version": "1.11.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz", "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==", - "dev": true, "requires": { "path-parse": "^1.0.6" } @@ -11227,7 +11221,6 @@ "version": "0.8.3", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz", "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==", - "dev": true, "requires": { "glob": "^7.0.0", "interpret": "^1.0.0", diff --git a/Mohem/package.json b/Mohem/package.json index c86118d7..99dd86ce 100755 --- a/Mohem/package.json +++ b/Mohem/package.json @@ -26,7 +26,7 @@ "@ionic-native/app-rate": "^5.8.0", "@ionic-native/background-geolocation": "^5.4.0", "@ionic-native/badge": "^5.8.0", - "@ionic-native/barcode-scanner": "^5.8.0", + "@ionic-native/barcode-scanner": "^5.14.0", "@ionic-native/ble": "^5.8.0", "@ionic-native/call-number": "^5.8.0", "@ionic-native/camera": "^5.8.0", @@ -64,7 +64,6 @@ "cordova-plugin-add-swift-support": "^2.0.2", "cordova-plugin-android-permissions": "^1.0.0", "cordova-plugin-badge": "^0.8.8", - "cordova-plugin-cszbar": "^1.3.4", "cordova-plugin-datepicker": "^0.9.3", "cordova-plugin-device": "^2.0.3", "cordova-plugin-geolocation": "^4.0.2", @@ -84,6 +83,7 @@ "mx.ferreyra.callnumber": "0.0.2", "ng2-file-upload": "^1.3.0", "ng2-pdf-viewer": "^5.3.2", + "phonegap-plugin-barcodescanner": "^8.1.0", "phonegap-plugin-multidex": "^1.0.0", "phonegap-plugin-push": "^2.2.3", "primeicons": "^1.0.0", @@ -148,8 +148,10 @@ }, "cordova-sms-plugin": {}, "cordova-plugin-datepicker": {}, - "cordova-plugin-cszbar": {}, - "cordova-plugin-geolocation": {} + "cordova-plugin-geolocation": {}, + "phonegap-plugin-barcodescanner": { + "ANDROID_SUPPORT_V4_VERSION": "27.+" + } }, "platforms": [ "browser", diff --git a/Mohem/src/app/home/home.module.ts b/Mohem/src/app/home/home.module.ts index 603eccc5..58e6cd52 100644 --- a/Mohem/src/app/home/home.module.ts +++ b/Mohem/src/app/home/home.module.ts @@ -5,6 +5,7 @@ import { Routes, RouterModule } from '@angular/router'; import { HmgCommonModule } from '../hmg-common/hmg-common.module'; import { IonicModule } from '@ionic/angular'; import { HomePage } from './home.page'; +import { BarcodeScanner } from '@ionic-native/barcode-scanner/ngx'; const routes: Routes = [ { @@ -23,6 +24,9 @@ const routes: Routes = [ ], declarations: [ HomePage + ], + providers:[ + BarcodeScanner ] }) export class HomePageModule { } diff --git a/Mohem/src/app/home/home.page.ts b/Mohem/src/app/home/home.page.ts index 55dbb8c0..c881ff58 100644 --- a/Mohem/src/app/home/home.page.ts +++ b/Mohem/src/app/home/home.page.ts @@ -9,6 +9,7 @@ import { MenuResponse } from "src/app/hmg-common/services/menu/models/menu-respo import { CommonService } from "src/app/hmg-common/services/common/common.service"; import { Geolocation } from "@ionic-native/geolocation/ngx"; import { ZBar, ZBarOptions } from "@ionic-native/zbar/ngx"; +import { BarcodeScanner } from '@ionic-native/barcode-scanner/ngx'; import { Device } from "@ionic-native/device/ngx"; import { attendanceSwipeScannerRequest } from "./models/attendanceSwipe.Request"; import { Response } from "src/app/hmg-common/services/models/response"; @@ -41,7 +42,8 @@ export class HomePage implements OnInit { private zbar: ZBar, private geolocation: Geolocation, private attendance_service: AttendanceService, - private eitService: EitService + private eitService: EitService, + private barcodeScanner: BarcodeScanner ) { } ngOnInit() { @@ -225,10 +227,10 @@ export class HomePage implements OnInit { this.common.openChangePassword(); } private attendance() { - this.zbarOptions = { - flash: "off", - drawSight: false - }; + // this.zbarOptions = { + // flash: "off", + // drawSight: false + // }; //console.log("your currnt location is"); //console.log("Loc"); @@ -236,26 +238,37 @@ export class HomePage implements OnInit { } scanCode() { - this.zbar - .scan(this.zbarOptions) - .then(result => { - console.log(result); // Scanned code - let strResult = JSON.parse(result); - console.log(strResult.QRValue); - this.scannedResult = result; + // this.zbar + // .scan(this.zbarOptions) + // .then(result => { + // console.log(result); // Scanned code + // let strResult = JSON.parse(result); + // console.log(strResult.QRValue); + // this.scannedResult = result; + // this.deviceID = this.device.uuid; + // this.swipeAttendance(); + // }) + // .catch(error => { + // alert(error); // Error message + // }); + + this.barcodeScanner.scan().then(barcodeData => { + console.log('Barcode data', barcodeData); + // let strResult = JSON.parse(barcodeData); + // console.log(strResult.QRValue); + this.scannedResult = barcodeData; this.deviceID = this.device.uuid; this.swipeAttendance(); - }) - .catch(error => { - alert(error); // Error message - }); + }).catch(err => { + console.log('Error', err); + }); } swipeAttendance() { let request: attendanceSwipeScannerRequest = new attendanceSwipeScannerRequest(); request.Latitude = this.lat; request.Longitude = this.longt; - request.QRValue = this.scannedResult; + request.QRValue = this.scannedResult.text; request.UID = this.deviceID; request.UserName = this.userData.EMPLOYEE_NUMBER; console.log("request");