api.config & storage
api.config
Усі методи async (IPC до main process).
| Method | Permission | Опис |
|---|---|---|
getParams() |
— | Блок налаштувань цього аддона |
updateParams(data) |
— | Заміна params (з лімітом розміру) |
getConfig() |
CONFIG_READ |
Повна конфігурація застосунку |
setConfig(data) |
CONFIG_WRITE |
Патч конфігурації застосунку |
getAddonParams(addonId) |
ADDON_CONFIG_READ |
Params іншого аддона |
Приклади
const params = await api.config.getParams();
await api.config.updateParams({ counter: (params.counter || 0) + 1 });
const other = await api.config.getAddonParams('other_addon');
if (other.success) {
console.log(other.params);
}
updateParams повертає { success: true, params } або { success: false, message }.
api.openUrl(url)
Відкриває URL у системному браузері за замовчуванням. Спеціальний дозвіл не потрібен.
api.restart()
Перезапускає worker-процес цього аддона.
Не спрацює, якщо аддон зупинено після повторних падінь — користувач має перезапустити його в налаштуваннях аддона (↻). Див. Життєвий цикл — Захист від циклу падінь.
storage
Приватний JSON-файл за {data.path}/storage_data.json. Дозвіл не потрібен. Не показується в UI налаштувань.
| Method | Опис |
|---|---|
Read() |
Розбір файлу або undefined, якщо відсутній |
Write(data) |
Повна заміна файлу (merge вручну за потреби) |
Clear() |
Видалення файлу |
const state = storage.Read() ?? { seen: [] };
state.seen.push(eventId);
storage.Write(state);
Значення мають бути JSON-серіалізованими. Файл видаляється при деінсталяції.
Відмінність від api.config: storage — для внутрішнього runtime-стану; api.config — для налаштувань користувача (і може з'являтися в UI налаштувань, коли поля мають editor).