Parcourir la source

lectura de codigo de barras desde la camara

robert2206 il y a 8 ans
Parent
commit
e9a54aad09
39 fichiers modifiés avec 91 ajouts et 62 suppressions
  1. 59 59
      config.xml
  2. BIN
      res/drawable-land-hdpi/screen.png
  3. BIN
      res/drawable-land-ldpi/screen.png
  4. BIN
      res/drawable-land-mdpi/screen.png
  5. BIN
      res/drawable-land-xhdpi/screen.png
  6. BIN
      res/drawable-land-xxhdpi/screen.png
  7. BIN
      res/drawable-land-xxxhdpi/screen.png
  8. BIN
      res/drawable-port-hdpi/screen.png
  9. BIN
      res/drawable-port-ldpi/screen.png
  10. BIN
      res/drawable-port-mdpi/screen.png
  11. BIN
      res/drawable-port-xhdpi/screen.png
  12. BIN
      res/drawable-port-xxhdpi/screen.png
  13. BIN
      res/drawable-port-xxxhdpi/screen.png
  14. BIN
      res/mipmap-hdpi/icon.png
  15. BIN
      res/mipmap-ldpi/icon.png
  16. BIN
      res/mipmap-mdpi/icon.png
  17. BIN
      res/mipmap-xhdpi/icon.png
  18. BIN
      res/mipmap-xxhdpi/icon.png
  19. BIN
      res/mipmap-xxxhdpi/icon.png
  20. BIN
      resources/android/icon/drawable-hdpi-icon.png
  21. BIN
      resources/android/icon/drawable-ldpi-icon.png
  22. BIN
      resources/android/icon/drawable-mdpi-icon.png
  23. BIN
      resources/android/icon/drawable-xhdpi-icon.png
  24. BIN
      resources/android/icon/drawable-xxhdpi-icon.png
  25. BIN
      resources/android/icon/drawable-xxxhdpi-icon.png
  26. BIN
      resources/android/splash/drawable-land-hdpi-screen.png
  27. BIN
      resources/android/splash/drawable-land-ldpi-screen.png
  28. BIN
      resources/android/splash/drawable-land-mdpi-screen.png
  29. BIN
      resources/android/splash/drawable-land-xhdpi-screen.png
  30. BIN
      resources/android/splash/drawable-land-xxhdpi-screen.png
  31. BIN
      resources/android/splash/drawable-land-xxxhdpi-screen.png
  32. BIN
      resources/android/splash/drawable-port-hdpi-screen.png
  33. BIN
      resources/android/splash/drawable-port-ldpi-screen.png
  34. BIN
      resources/android/splash/drawable-port-mdpi-screen.png
  35. BIN
      resources/android/splash/drawable-port-xhdpi-screen.png
  36. BIN
      resources/android/splash/drawable-port-xxhdpi-screen.png
  37. BIN
      resources/android/splash/drawable-port-xxxhdpi-screen.png
  38. 2 1
      src/assets/manifest.json
  39. 30 2
      src/pages/product-details/product-details.ts

+ 59 - 59
config.xml

@@ -1,60 +1,60 @@
-<?xml version='1.0' encoding='utf-8'?>
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <widget id="com.eiru.odoo" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
-    <name>Odoo by Eiru</name>
-    <description>Odoo Mobile</description>
-    <author email="robert.gauto@gmail.com" href="http://ionicframework.com/">Robert Alexis GAuto</author>
-    <content src="index.html" />
-    <access origin="*" />
-    <allow-intent href="http://*/*" />
-    <allow-intent href="https://*/*" />
-    <allow-intent href="tel:*" />
-    <allow-intent href="sms:*" />
-    <allow-intent href="mailto:*" />
-    <allow-intent href="geo:*" />
-    <platform name="android">
-        <allow-intent href="market:*" />
-        <icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
-        <icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
-        <icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
-        <icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
-        <icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
-        <icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
-        <splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
-        <splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
-        <splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
-        <splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
-        <splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
-        <splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
-        <splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
-        <splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
-        <splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
-        <splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
-        <splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
-        <splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
-    </platform>
-    <platform name="ios">
-        <allow-intent href="itms:*" />
-        <allow-intent href="itms-apps:*" />
-    </platform>
-    <preference name="webviewbounce" value="false" />
-    <preference name="UIWebViewBounce" value="false" />
-    <preference name="DisallowOverscroll" value="true" />
-    <preference name="android-minSdkVersion" value="19" />
-    <preference name="BackupWebStorage" value="none" />
-    <preference name="SplashScreenDelay" value="1000" />
-    <preference name="FadeSplashScreen" value="true" />
-    <preference name="FadeSplashScreenDuration" value="500" />
-    <preference name="SplashScreenBackgroundColor" value="0xFFFFFFFF" />
-    <preference name="SplashScreen" value="screen" />
-    <feature name="StatusBar">
-        <param name="ios-package" onload="true" value="CDVStatusBar" />
-    </feature>
-    <plugin name="cordova-plugin-device" spec="~1.1.3" />
-    <plugin name="cordova-plugin-console" spec="~1.0.4" />
-    <plugin name="cordova-plugin-whitelist" spec="~1.3.0" />
-    <plugin name="cordova-plugin-splashscreen" spec="~4.0.0" />
-    <plugin name="cordova-plugin-statusbar" spec="~2.2.0" />
-    <plugin name="ionic-plugin-keyboard" spec="~2.2.1" />
-    <icon src="resources/android/icon/drawable-xhdpi-icon.png" />
-    <plugin name="cordova-sqlite-storage" spec="~1.4.8" />
-</widget>
+  <name>Odoo by Eiru</name>
+  <description>Odoo Mobile</description>
+  <author email="robert.gauto@gmail.com" href="http://ionicframework.com/">Robert Alexis GAuto</author>
+  <content src="index.html"/>
+  <access origin="*"/>
+  <allow-intent href="http://*/*"/>
+  <allow-intent href="https://*/*"/>
+  <allow-intent href="tel:*"/>
+  <allow-intent href="sms:*"/>
+  <allow-intent href="mailto:*"/>
+  <allow-intent href="geo:*"/>
+  <platform name="android">
+    <allow-intent href="market:*"/>
+    <icon src="resources/android/icon/drawable-ldpi-icon.png" density="ldpi"/>
+    <icon src="resources/android/icon/drawable-mdpi-icon.png" density="mdpi"/>
+    <icon src="resources/android/icon/drawable-hdpi-icon.png" density="hdpi"/>
+    <icon src="resources/android/icon/drawable-xhdpi-icon.png" density="xhdpi"/>
+    <icon src="resources/android/icon/drawable-xxhdpi-icon.png" density="xxhdpi"/>
+    <icon src="resources/android/icon/drawable-xxxhdpi-icon.png" density="xxxhdpi"/>
+    <splash src="resources/android/splash/drawable-land-ldpi-screen.png" density="land-ldpi"/>
+    <splash src="resources/android/splash/drawable-land-mdpi-screen.png" density="land-mdpi"/>
+    <splash src="resources/android/splash/drawable-land-hdpi-screen.png" density="land-hdpi"/>
+    <splash src="resources/android/splash/drawable-land-xhdpi-screen.png" density="land-xhdpi"/>
+    <splash src="resources/android/splash/drawable-land-xxhdpi-screen.png" density="land-xxhdpi"/>
+    <splash src="resources/android/splash/drawable-land-xxxhdpi-screen.png" density="land-xxxhdpi"/>
+    <splash src="resources/android/splash/drawable-port-ldpi-screen.png" density="port-ldpi"/>
+    <splash src="resources/android/splash/drawable-port-mdpi-screen.png" density="port-mdpi"/>
+    <splash src="resources/android/splash/drawable-port-hdpi-screen.png" density="port-hdpi"/>
+    <splash src="resources/android/splash/drawable-port-xhdpi-screen.png" density="port-xhdpi"/>
+    <splash src="resources/android/splash/drawable-port-xxhdpi-screen.png" density="port-xxhdpi"/>
+    <splash src="resources/android/splash/drawable-port-xxxhdpi-screen.png" density="port-xxxhdpi"/>
+  </platform>
+  <platform name="ios">
+    <allow-intent href="itms:*"/>
+    <allow-intent href="itms-apps:*"/>
+  </platform>
+  <preference name="webviewbounce" value="false"/>
+  <preference name="UIWebViewBounce" value="false"/>
+  <preference name="DisallowOverscroll" value="true"/>
+  <preference name="android-minSdkVersion" value="19"/>
+  <preference name="BackupWebStorage" value="none"/>
+  <preference name="SplashScreenDelay" value="1000"/>
+  <preference name="FadeSplashScreen" value="true"/>
+  <preference name="FadeSplashScreenDuration" value="500"/>
+  <preference name="SplashScreenBackgroundColor" value="0xFFFFFFFF"/>
+  <preference name="SplashScreen" value="screen"/>
+  <feature name="StatusBar">
+    <param name="ios-package" onload="true" value="CDVStatusBar"/>
+  </feature>
+  <plugin name="cordova-plugin-device" spec="~1.1.3"/>
+  <plugin name="cordova-plugin-console" spec="~1.0.4"/>
+  <plugin name="cordova-plugin-whitelist" spec="~1.3.0"/>
+  <plugin name="cordova-plugin-splashscreen" spec="~4.0.0"/>
+  <plugin name="cordova-plugin-statusbar" spec="~2.2.0"/>
+  <plugin name="ionic-plugin-keyboard" spec="~2.2.1"/>
+  <plugin name="cordova-sqlite-storage" spec="~1.4.8"/>
+  <icon src="resources/android/icon/drawable-xhdpi-icon.png"/>
+</widget>

BIN
res/drawable-land-hdpi/screen.png


BIN
res/drawable-land-ldpi/screen.png


BIN
res/drawable-land-mdpi/screen.png


BIN
res/drawable-land-xhdpi/screen.png


BIN
res/drawable-land-xxhdpi/screen.png


BIN
res/drawable-land-xxxhdpi/screen.png


BIN
res/drawable-port-hdpi/screen.png


BIN
res/drawable-port-ldpi/screen.png


BIN
res/drawable-port-mdpi/screen.png


BIN
res/drawable-port-xhdpi/screen.png


BIN
res/drawable-port-xxhdpi/screen.png


BIN
res/drawable-port-xxxhdpi/screen.png


BIN
res/mipmap-hdpi/icon.png


BIN
res/mipmap-ldpi/icon.png


BIN
res/mipmap-mdpi/icon.png


BIN
res/mipmap-xhdpi/icon.png


BIN
res/mipmap-xxhdpi/icon.png


BIN
res/mipmap-xxxhdpi/icon.png


BIN
resources/android/icon/drawable-hdpi-icon.png


BIN
resources/android/icon/drawable-ldpi-icon.png


BIN
resources/android/icon/drawable-mdpi-icon.png


BIN
resources/android/icon/drawable-xhdpi-icon.png


BIN
resources/android/icon/drawable-xxhdpi-icon.png


BIN
resources/android/icon/drawable-xxxhdpi-icon.png


BIN
resources/android/splash/drawable-land-hdpi-screen.png


BIN
resources/android/splash/drawable-land-ldpi-screen.png


BIN
resources/android/splash/drawable-land-mdpi-screen.png


BIN
resources/android/splash/drawable-land-xhdpi-screen.png


BIN
resources/android/splash/drawable-land-xxhdpi-screen.png


BIN
resources/android/splash/drawable-land-xxxhdpi-screen.png


BIN
resources/android/splash/drawable-port-hdpi-screen.png


BIN
resources/android/splash/drawable-port-ldpi-screen.png


BIN
resources/android/splash/drawable-port-mdpi-screen.png


BIN
resources/android/splash/drawable-port-xhdpi-screen.png


BIN
resources/android/splash/drawable-port-xxhdpi-screen.png


BIN
resources/android/splash/drawable-port-xxxhdpi-screen.png


+ 2 - 1
src/assets/manifest.json

@@ -6,7 +6,8 @@
     "icons": [{
         "src": "assets/images/icon.png",
         "sizes": "512x512",
-        "type": "image/png"
+        "type": "image/png",
+        "density": "2.0"
     }],
     "background_color": "#4e8ef7",
     "theme_color": "#4e8ef7"

+ 30 - 2
src/pages/product-details/product-details.ts

@@ -1,5 +1,6 @@
 import { Component } from '@angular/core';
-import { NavController, NavParams, ActionSheetController } from 'ionic-angular';
+import { NavController, NavParams, ActionSheetController, ToastController } from 'ionic-angular';
+import { Shake, BarcodeScanner } from 'ionic-native';
 // import { Product } from '../../models/product'
 import { DataProvider } from '../../providers/data-provider'
 import { CameraProvider } from '../../providers/camera-provider';
@@ -32,15 +33,42 @@ export class ProductDetailsPage {
         doc_state: "created"
     }
 
+    watcher: any;
+
     constructor(
         public navCtrl: NavController,
         public params: NavParams,
         public data: DataProvider,
+        public toastCtrl: ToastController,
         public actionSheetCtrl: ActionSheetController,
         public cameraProvider: CameraProvider,
         public preferencesPreferences: PreferencesProvider
-    ) { 
+    ) { }
+
+    /**
+     *
+     */
+    ionViewDidLoad() {
         this.initialize();
+        this.watcher = Shake.startWatch(40).subscribe(() => { 
+            BarcodeScanner.scan().then(bar => { 
+                this.product.ean13 = bar.cancelled ? null : bar.text;
+            }).catch(e => { 
+                this.toastCtrl.create({
+                    message: 'No se ha podido leer el código',
+                    duration: 3000
+                }).present();
+            });
+        });
+    }
+
+    /**
+     *
+     */
+    ionViewDidLeave() {
+        if (this.watcher) {
+            this.watcher.unsubscribe();
+        }
     }
 
     /**