ProHoster > Blog > Administración > Almacenamento de clave-valor ou como as nosas aplicacións se fixeron máis cómodas
Almacenamento de clave-valor ou como as nosas aplicacións se fixeron máis cómodas
Calquera persoa que desenvolve en Voximplant coñece o concepto de "aplicacións" que conectan scripts na nube, números de teléfono, usuarios, regras e filas de chamadas entre si. En pocas palabras, as aplicacións son a pedra angular do desenvolvemento da nosa plataforma, o punto de entrada a calquera solución baseada en Voximplant, xa que a creación dunha aplicación é onde comeza todo.
Anteriormente, as aplicacións non "recordaban" nin as accións que realizaban os scripts nin os resultados dos cálculos, polo que os desenvolvedores estaban obrigados a almacenar valores en servizos de terceiros ou no seu backend. Se xa traballaches con almacenamento local nun navegador, a nosa nova funcionalidade é bastante semellante a esta, porque Permite ás aplicacións lembrar pares clave-valor que son exclusivos de cada aplicación da túa conta. O funcionamento do almacenamento fíxose posible grazas ao novo módulo Almacenamento de aplicacións – debaixo do corte atoparás unha pequena guía sobre como usalo, benvido!
Aplicación Voximplant, así como un script, unha regra e un usuario. Crearemos todo isto neste tutorial;
cliente web para facer unha chamada: use o noso teléfono web phone.voximplant.com.
Configuración de Voximplant
Primeiro, inicia sesión na túa conta: manage.voximplant.com/auth. No menú da esquerda, fai clic en "Aplicacións", despois en "Nova aplicación" e crea unha aplicación chamada almacenamento. Vaia á nova aplicación, cambia á pestana Scripts para crear un script countingCalls co seguinte código:
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);
});
A primeira liña conecta o módulo ApplicationStorage, o resto da lóxica colócase no controlador de eventos Aviso de chamada.
Primeiro declaramos unha variable para poder comparar o valor inicial co contador de chamadas. Despois tentamos obter o valor da clave totalCalls da tenda. Se esa chave aínda non existe, creámola:
try {
r = await ApplicationStorage.get('totalCalls');
if (r === null) {
r = await ApplicationStorage.put('totalCalls', 0);
}
}
A continuación, cómpre aumentar o valor da chave no almacenamento:
Para cada promesa, debes especificar explícitamente o tratamento de fallos, como se mostra na lista anterior; se non, o script deixará de executarse e verás un erro nos rexistros. Detalles aquí.
Despois de traballar co repositorio, o script responde á chamada entrante mediante a síntese de voz e di cantas veces chamou antes. Despois desta mensaxe, o guión remata a sesión.
Unha vez gardado o script, vai á pestana Enrutamento da túa aplicación e fai clic en Nova regra. Chámao startCounting, especifica o script countingCalls e deixa a máscara predeterminada (.*).
O último é crear un usuario. Para iso, vaia a "Usuarios", faga clic en "Crear un usuario", especifique un nome (por exemplo, usuario1) e contrasinal e, a continuación, prema en "Crear". Necesitaremos este par de inicio de sesión e contrasinal para a autenticación no teléfono web.
Comprobando
Abre o teléfono web usando a ligazón phone.voximplant.com e inicie sesión usando o nome da súa conta, o nome da aplicación e o par nome de usuario-contrasinal da aplicación. Despois de iniciar sesión correctamente, introduza calquera conxunto de caracteres no campo de entrada e prema en Chamar. Se todo se fixo correctamente, escoitarás un saúdo sintetizado!
Desexámosche un gran desenvolvemento en Voximplant e estade atentos a máis noticias: teremos moitas máis 😉