Хранение дополнительных данных в плагинах XD - PullRequest
0 голосов
/ 09 ноября 2018

Мой плагин XD должен хранить дополнительные данные, такие как пользовательские настройки и история. Позволяет ли мне API для разработчиков XD это делать? Какие API я могу использовать?

1 Ответ

0 голосов
/ 09 ноября 2018

В Adobe XD еще нет хранилища значений ключей, но вы можете использовать API хранилища для чтения и записи постоянных данных. Например:

const fs = require("uxp").storage.localFileSystem;
let prefs = {
    theme: "blue",
};
async function savePrefs() {
    const settingsFolder = await fs.getDataFolder();
    try {
        const settingsFile = await settingsFolder.createFile("settings.json", {overwrite: true});
        await settingsFile.write(JSON.stringify(prefs));            
    } catch(err) {
        /* handle errors */
    }
}
async function readPrefs() {
    const settingsFolder = await fs.getDataFolder();
    try {
        const settingsFile = await settingsFolder.getEntry("settings.json");
        prefs = JSON.parse(await settingsFile.read());
    } catch(err) {
        /* handle errors; can also occur if settings haven't been saved yet */
    }
}

Также есть хорошая библиотека абстракций, которая обрабатывает хранилище значений ключей , написанное Пабло Клашка , что делает работу с хранилищем еще проще.

...