2

我的 XD 插件需要存储额外的数据,例如用户偏好和历史记录。XD 开发人员 API 是否允许我这样做?我可以使用哪些 API?

4

1 回答 1

5

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 */
    }
}

还有一个很好的抽象库,它处理Pablo Klaschka编写的键值存储,这使得使用存储变得更加简单。

于 2018-11-08T21:56:48.903 回答