Storage

Le app possono salvare delle informazioni, sotto forma di chiave e valore, in modo persistente in una zona del database del negozio chiamata storage. Sia le chiavi che i valori sono stringhe. Lo storage consente alle app che non hanno un lato server di salvare delle informazioni di configurazione relative al negozio.

Prima di poter utilizzare lo storage bisogna autorizzare l'app: andare nel gestionale nella sezione "Apps", fare clic su "Gestisci Apps...", fare clic sulla riga dell'app. Nella pagina che si apre selezionare la voce "Memorizzare informazioni nel proprio storage". Ricordarsi di aggiungere il CR SDK alle pagine dell'app:

<script src="https://open2b.net/js/cr-sdk-1.2.min.js"></script>

Metodi

CR.Storage.clear(function(error) { … })

Rimuove tutte le chiavi e i valori salvati dall'app nello storage del negozio.

Esempio:
CR.Storage.clear(function(error) {
    if ( error != null ) { alert(error); return; }
    // done
});

CR.Storage.remove(keys, function(error) { … })

Rimuove dallo storage del negozio le chiavi indicate.

Esempio:
CR.Storage.remove([ 'color', 'width' ], function(error) {
    if ( error != null ) { alert(error); return; }
    // done
});

CR.Storage.get(keys, function(items, error) { … })

Ritorna i valori associati alle chiavi indicate. Se una chiave non esiste allora ritorna null come valore per la chiave. Per leggere tutte le chiavi indicare null al posto della lista di chiavi.

Esempio:
CR.Storage.get([ 'color', 'width' ], function(items, error) {
    if ( error != null ) { alert(error); return; }
    alert('color: '+items.color, '; width: '+items.width);
});

CR.Storage.set(items, function(error) { … })

Aggiunge nuove chiavi o modifica quelle esistenti. items è un oggetto JavaScript con tutte le chiavi e valori da salvare nello storage. Se una chiave è già presente allora ne viene cambiato il valore altrimenti viene aggiunta. I valori se non sono stringhe vengono prima serializzati in formato JSON e quindi salvati come stringhe.

Esempio:
CR.Storage.set({ color: 'red', width: 348 }, function(error) {
    if ( error != null ) { alert(error); return; }
    // done
});

Limiti

Nello storage sono memorizzabili fino a 1.000 chiavi con lunghezza massima 32 caratteri. I valori possono avere una lunghezza fino ad un milione di caratteri e comunque la somma delle lunghezze di tutti i valori non può superare il milione di caratteri. Le chiavi sono case insensitive e la stringa vuota è una chiave valida.