Penyimpanan bernilai kunci, atau bagaimana aplikasi kita menjadi lebih nyaman



Siapa pun yang berkembang di Voximplant tahu tentang konsep "aplikasi" yang menghubungkan skenario cloud, nomor telepon, pengguna, aturan dan antrian panggilan satu sama lain. Sederhananya, aplikasi adalah landasan pengembangan pada platform kami, titik masuk ke solusi berbasis Voximplant, karena dari penciptaan aplikasi itulah semuanya dimulai.

Sebelumnya, aplikasi "tidak ingat" baik tindakan yang dilakukan skrip maupun hasil perhitungan, sehingga pengembang dipaksa untuk menyimpan nilai dalam layanan pihak ketiga atau di backend mereka. Jika Anda pernah bekerja dengan penyimpanan lokal di browser, maka fungsionalitas baru kami sangat mirip dengan ini, karena Mengizinkan aplikasi mengingat pasangan nilai kunci yang unik untuk setiap aplikasi di akun Anda. Operasi penyimpanan dimungkinkan berkat modul ApplicationStorage baru - di bawah kucing Anda akan menemukan panduan singkat untuk penggunaannya, selamat datang!

Anda akan membutuhkannya


  • Akun Voximplant. Jika Anda tidak memilikinya, maka pendaftaran tinggal di sini ;
  • Aplikasi Voximplant, serta skrip, aturan, dan satu pengguna. Kami akan membuat semua ini dalam tutorial ini;
  • klien web untuk melakukan panggilan - gunakan telepon web phone.voximplant.com kami.

Pengaturan Voximplant


Pertama masuk ke akun Anda: manage.voximplant.com/auth . Di menu sebelah kiri, klik "Aplikasi", lalu "Aplikasi Baru" dan buat aplikasi yang disebut penyimpanan. Masuk ke aplikasi baru, beralih ke tab Skrip untuk membuat skrip penghitungan Panggilan dengan kode ini:

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('    totalCalls'); } try { await ApplicationStorage.put('totalCalls', (r.value | 0) + 1); } catch(e) { Logger.write('    totalCalls'); } e.call.answer(); e.call.say(`.   : ${r.value}. `, Language.RU_RUSSIAN_MALE); e.call.addEventListener(CallEvents.PlaybackFinished, VoxEngine.terminate); }); 

Baris pertama menghubungkan modul ApplicationStorage, sisa logika ditempatkan di penangan event CallAlerting .

Pertama, kita mendeklarasikan variabel sehingga kita dapat membandingkan nilai awal dengan penghitung panggilan. Kemudian kami mencoba untuk mendapatkan nilai kunci Panggilan total dari toko. Jika belum ada kunci seperti itu, maka kami membuatnya:

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

Selanjutnya, Anda perlu meningkatkan nilai kunci di repositori:

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

PERHATIAN MEMBAYAR

Untuk setiap janji, perlu untuk secara eksplisit menunjukkan kegagalan pemrosesan, seperti yang ditunjukkan dalam daftar di atas - jika skrip akan dihentikan, dan Anda akan melihat kesalahan dalam log. Detail di sini .
Setelah bekerja dengan repositori, skrip menjawab panggilan masuk menggunakan sintesis suara dan mengatakan berapa kali Anda menelepon sebelumnya. Setelah pesan ini, skrip mengakhiri sesi.

Setelah Anda menyimpan skrip, buka tab "Perutean" aplikasi Anda dan klik "Aturan Baru". Beri nama startCounting, tentukan skrip penghitungan Panggilan dan biarkan mask default (. *).


Yang terakhir adalah membuat pengguna. Untuk melakukan ini, buka "Pengguna", klik "Buat Pengguna", tentukan nama (misalnya, pengguna1) dan kata sandi, lalu klik "Buat". Kami membutuhkan pasangan nama pengguna / kata sandi ini untuk otentikasi di webphone.

Periksa


Buka telepon web di phone.voximplant.com dan masuk menggunakan nama akun, nama aplikasi, dan sepasang nama pengguna dan kata sandi dari aplikasi. Setelah berhasil masuk, masukkan karakter apa pun yang diatur di bidang input dan tekan Panggil. Jika semuanya dilakukan dengan benar, Anda akan mendengar salam yang disintesis!

Kami berharap Anda mendapatkan perkembangan yang luar biasa di Voximplant dan tetap terhubung - kami akan memiliki lebih banyak;)

Source: https://habr.com/ru/post/id476452/


All Articles