Mobil JavaScript¶
Bevezetés¶
Az Odoo 10.0-ban kiadtunk egy mobilalkalmazást, amely lehetővé teszi az összes Odoo alkalmazás elérését (még az egyedi modulokat is).
Az alkalmazás az Odoo Web és a Natív Mobil komponensek kombinációja. Más szavakkal, ez egy Odoo Web példány, amely egy natív, mobil, WebView konténerben van betöltve.
Ez az oldal dokumentálja, hogyan érheti el a mobil natív komponenseket, mint például a Kamera, Rezgés, Értesítés és Toast az Odoo Weben keresztül (JavaScript segítségével). Ehhez nem szükséges mobilfejlesztőnek lennie, ha ismeri az Odoo JavaScript API-t, hozzáférhet az összes elérhető mobil funkcióhoz.
Figyelem
Ezek a funkciók csak Odoo Enterprise 10.0+ verzióval működnek
Hogyan működik?¶
A mobilalkalmazás belső működése:
Természetesen ez egy weboldal, amely betöltődik egy Mobil Natív Web konténerben. De úgy van integrálva, hogy hozzáférhet a natív erőforrásokhoz a webes JavaScriptből.
A WebPages (Odoo Web) minden réteg tetején helyezkedik el, ahol a második réteg egy Híd az Odoo Web (JS) és a natív mobil komponensek között.
Amikor bármilyen JavaScript hívás elindul, az áthalad a Hídon, és a Híd továbbítja a natív meghívónak, hogy végrehajtsa azt a műveletet.
Amikor a natív komponens elvégezte a munkáját, ismét a Hídhoz kerül, és megkapja az eredményt JavaScriptben.
A natív komponens által igényelt feldolgozási idő attól függ, hogy mit kér a natív erőforrásoktól. Például a Kamera vagy a GPS helyzet.
Hogyan kell használni?¶
Csakúgy, mint az Odoo Web Framework, a Mobil API bárhol használható, ha megszerezzük az objektumot a web_mobile.rpc-ből.
A mobil RPC objektum egy listát biztosít az elérhető metódusokról (ez csak a mobil alkalmazással működik).
Ellenőrizze, hogy a metódus elérhető-e, majd hajtsa végre.
Metódusok¶
Megjegyzés
Mindegyik módszer egy JQuery Deferred objektumot ad vissza, amely egy JSON adat szótárt ad vissza
Toast megjelenítése az eszközön¶
- showToast()¶
- Argumentum
args (
object()) – üzenet szöveg megjelenítése
A toast egyszerű visszajelzést nyújt egy műveletről egy kis felugró ablakban. Csak annyi helyet foglal el, amennyi az üzenethez szükséges, és a jelenlegi tevékenység látható és interaktív marad.
mobile.methods.showToast({'message': 'Message sent'});
Eszköz rezegtetése¶
- vibrate()¶
- Argumentum
args (
object()) – Folyamatos rezgés a megadott időtartamig (milliszekundumban).
Mobil eszköz rezegtetése a megadott időtartammal.
mobile.methods.vibrate({'duration': 100});
Snackbar megjelenítése művelettel¶
- showSnackBar()¶
- Argumentum
args (
object()) – (kötelező) Üzenet megjelenítése a snackbarban és a művelet gomb címkéje a Snackbarban (opcionális)
- Visszatérési érték
True, ha a felhasználó rákattint a Művelet gombra,False, ha a SnackBar egy idő után automatikusan eltűnik.
A snackbárok könnyű visszajelzést nyújtanak egy műveletről. Rövid üzenetet jelenítenek meg a képernyő alján mobil eszközökön vagy a bal alsó sarokban nagyobb eszközökön. A snackbárok a képernyőn lévő összes többi elem fölött jelennek meg, és egyszerre csak egy jeleníthető meg.
mobile.methods.showSnackBar({'message': 'Message is deleted', 'btn_text': 'Undo'}).then(function(result){
if(result){
// Do undo operation
}else{
// Snack Bar dismissed
}
});
Értesítés megjelenítése¶
- showNotification()¶
- Argumentum
args (
object()) – értesítés címe (első sor), értesítés üzenete (második sor) egy szabványos értesítésben.
Az értesítés egy olyan üzenet, amelyet az alkalmazás normál felhasználói felületén kívül jeleníthet meg a felhasználónak. Amikor utasítja a rendszert egy értesítés kiadására, az először egy ikonként jelenik meg az értesítési területen. Az értesítés részleteinek megtekintéséhez a felhasználó megnyitja az értesítési fiókot. Mind az értesítési terület, mind az értesítési fiók rendszer által vezérelt területek, amelyeket a felhasználó bármikor megtekinthet.
mobile.showNotification({'title': 'Simple Notification', 'message': 'This is a test for a simple notification'})
Kapcsolat létrehozása az eszközön¶
- addContact()¶
- Argumentum
args (
object()) – Szótár a kapcsolati adatokkal. Lehetséges kulcsok (név, mobil, telefon, fax, email, weboldal, utca, utca2, ország_id, állam_id, város, irányítószám, szülő_id, funkció és kép)
Új eszközkapcsolat létrehozása a megadott kapcsolati adatokkal.
var contact = {
'name': 'Michel Fletcher',
'mobile': '9999999999',
'phone': '7954856587',
'fax': '765898745',
'email': '[email protected]',
'website': 'http://www.agrolait.com',
'street': '69 rue de Namur',
'street2': false,
'country_id': [21, 'Belgium'],
'state_id': false,
'city': 'Wavre',
'zip': '1300',
'parent_id': [8, 'Agrolait'],
'function': 'Analyst',
'image': '<<BASE 64 Image Data>>'
}
mobile.methods.addContact(contact);
Vonalkódok beolvasása¶
- scanBarcode()¶
- Visszatérési érték
Beolvasott
kódbármely vonalkódból
A vonalkód API valós időben, az eszközön, bármilyen tájolásban érzékeli a vonalkódokat.
A vonalkód API a következő vonalkódformátumokat tudja olvasni:
1D vonalkódok: EAN-13, EAN-8, UPC-A, UPC-E, Code-39, Code-93, Code-128, ITF, Codabar
2D vonalkódok: QR Code, Data Matrix, PDF-417, AZTEC
mobile.methods.scanBarcode().then(function(code){
if(code){
// Perform operation with the scanned code
}
});
Fiók váltása az eszközön¶
- switchAccount()¶
Használja a switchAccount funkciót, hogy egyik fiókról a másikra váltson az eszközön.
mobile.methods.switchAccount();