Αποθήκευση κλειδιού-τιμής ή πώς οι εφαρμογές μας έχουν γίνει πιο βολικές

Αποθήκευση κλειδιού-τιμής ή πώς οι εφαρμογές μας έχουν γίνει πιο βολικές

Όποιος αναπτύσσει στο Voximplant γνωρίζει την έννοια των "εφαρμογών" που συνδέουν σενάρια cloud, αριθμούς τηλεφώνου, χρήστες, κανόνες και ουρές κλήσεων μεταξύ τους. Με απλά λόγια, οι εφαρμογές αποτελούν τον ακρογωνιαίο λίθο της ανάπτυξης στην πλατφόρμα μας, το σημείο εισόδου σε οποιαδήποτε λύση που βασίζεται στο Voximplant, καθώς όλα ξεκινούν με τη δημιουργία μιας εφαρμογής.

Προηγουμένως, οι εφαρμογές δεν "θυμούνταν" ούτε τις ενέργειες που εκτελούσαν τα σενάρια ούτε τα αποτελέσματα των υπολογισμών, έτσι οι προγραμματιστές αναγκάζονταν να αποθηκεύουν τιμές σε υπηρεσίες τρίτων ή στο backend τους. Εάν έχετε εργαστεί ποτέ με τοπικό χώρο αποθήκευσης σε πρόγραμμα περιήγησης, τότε η νέα μας λειτουργικότητα μοιάζει πολύ με αυτήν, γιατί. Επιτρέπει στις εφαρμογές να θυμούνται ζεύγη κλειδιών-τιμών που είναι μοναδικά για κάθε εφαρμογή του λογαριασμού σας. Η λειτουργία αποθήκευσης έγινε δυνατή χάρη στη νέα μονάδα ApplicationStorage - κάτω από το κόψιμο θα βρείτε έναν σύντομο οδηγό για το πώς να το χρησιμοποιήσετε, καλώς ήρθατε!

Θα χρειαστείτε

  • Λογαριασμός Voximplant. Αν δεν το έχεις, τότε η εγγραφή μένει εδώ;
  • την εφαρμογή Voximplant, καθώς και ένα σενάριο, έναν κανόνα και έναν μεμονωμένο χρήστη. Όλα αυτά θα τα δημιουργήσουμε σε αυτό το σεμινάριο.
  • web client για να πραγματοποιήσετε μια κλήση - χρησιμοποιήστε το webphone μας phone.voximplant.com.

Ρυθμίσεις Voximplant

Πρώτα συνδεθείτε στο λογαριασμό σας: manager.voximplant.com/auth. Στο μενού στα αριστερά, κάντε κλικ στο "Εφαρμογές", μετά στο "Νέα εφαρμογή" και δημιουργήστε μια εφαρμογή με το όνομα αποθήκευση. Μεταβείτε στη νέα εφαρμογή, μεταβείτε στην καρτέλα Σενάρια για να δημιουργήσετε ένα σενάριο countingCalls με τον ακόλουθο κώδικα:

require(Modules.ApplicationStorage);

VoxEngine.addEventListener(AppEvents.CallAlerting, async (e) => {
let r = {value: -1};

    try {
        r = await ApplicationStorage.get('totalCalls');
        if (r === null) {
            r = await ApplicationStorage.put('totalCalls', 0);
        }
    } catch(e) {
        Logger.write('Failure while getting totalCalls value');
    }

    try {
        await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
    } catch(e) {
        Logger.write('Failure while updating totalCalls value');
    }
    
    e.call.answer();
    e.call.say(`Приветствую.  Количество прошлых звонков: ${r.value}. `, Language.RU_RUSSIAN_MALE);

    e.call.addEventListener(CallEvents.PlaybackFinished, VoxEngine.terminate);

});

Η πρώτη γραμμή συνδέει τη λειτουργική μονάδα ApplicationStorage, η υπόλοιπη λογική τοποθετείται στον χειριστή συμβάντων κλήση συναγερμού.

Αρχικά, δηλώνουμε μια μεταβλητή ώστε να μπορούμε να συγκρίνουμε την αρχική τιμή με τον αριθμό κλήσεων. Στη συνέχεια, προσπαθούμε να λάβουμε την τιμή του κλειδιού totalCalls από το κατάστημα. Εάν δεν υπάρχει ακόμα τέτοιο κλειδί, τότε το δημιουργούμε:

try {
    r = await ApplicationStorage.get('totalCalls');
    if (r === null) {
        r = await ApplicationStorage.put('totalCalls', 0);
    }
}

Στη συνέχεια, πρέπει να αυξήσετε την τιμή του κλειδιού στον χώρο αποθήκευσης:

try {
        await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
    }

ΣΗΜΕΙΩΣΗ

Για κάθε υπόσχεση, πρέπει να καθορίσετε ρητά το failover, όπως φαίνεται στην παραπάνω λίστα - διαφορετικά το σενάριο θα σταματήσει να εκτελείται και θα δείτε ένα σφάλμα στα αρχεία καταγραφής. Λεπτομέριες εδώ.

Μετά την εργασία με το αποθετήριο, το σενάριο απαντά στην εισερχόμενη κλήση χρησιμοποιώντας σύνθεση φωνής και σας λέει πόσες φορές έχετε καλέσει στο παρελθόν. Μετά από αυτό το μήνυμα, το σενάριο τερματίζει τη συνεδρία.

Αφού αποθηκεύσετε το σενάριο, μεταβείτε στην καρτέλα Δρομολόγηση της εφαρμογής σας και κάντε κλικ στο Νέος κανόνας. Ονομάστε το startCounting, καθορίστε το σενάριο countingCalls και αφήστε την προεπιλεγμένη μάσκα (.*).

Αποθήκευση κλειδιού-τιμής ή πώς οι εφαρμογές μας έχουν γίνει πιο βολικές
Το τελευταίο είναι να δημιουργήσετε έναν χρήστη. Για να το κάνετε αυτό, μεταβείτε στους "Χρήστες", κάντε κλικ στο "Δημιουργία χρήστη", πληκτρολογήστε ένα όνομα (για παράδειγμα, user1) και κωδικό πρόσβασης και, στη συνέχεια, κάντε κλικ στο "Δημιουργία". Θα χρειαστούμε αυτό το ζεύγος σύνδεσης-κωδικού πρόσβασης για έλεγχο ταυτότητας στο webphone.

Ελέγξτε

Ανοίξτε το webphone από τον σύνδεσμο phone.voximplant.com και συνδεθείτε χρησιμοποιώντας το όνομα λογαριασμού, το όνομα της εφαρμογής και το ζεύγος ονόματος χρήστη/κωδικού πρόσβασης από την εφαρμογή. Μετά την επιτυχή σύνδεση, εισαγάγετε οποιοδήποτε σύνολο χαρακτήρων στο πεδίο εισαγωγής και κάντε κλικ στην κλήση. Αν όλα έγιναν σωστά, τότε θα ακούσετε έναν συνθετικό χαιρετισμό!

Σας ευχόμαστε καλή εξέλιξη στο Voximplant και μείνετε συντονισμένοι - θα έχουμε πολλά άλλα 😉

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο