api.config и storage
api.config
Все методы асинхронные (IPC в главный процесс).
| Метод | Разрешение | Описание |
|---|---|---|
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()
Перезапускает процесс воркера этого аддона.
Не сработает, если аддон остановлен после повторных падений — пользователь должен перезапустить его в настройках аддона (↻). См. Жизненный цикл — Защита от цикла падений.
storage
Приватный JSON-файл по пути {data.path}/storage_data.json. Разрешение не требуется. Не показывается в UI настроек.
| Метод | Описание |
|---|---|
Read() |
Разбор файла или undefined, если файла нет |
Write(data) |
Полная замена файла (слияние делайте вручную при необходимости) |
Clear() |
Удаление файла |
const state = storage.Read() ?? { seen: [] };
state.seen.push(eventId);
storage.Write(state);
Значения должны быть JSON-сериализуемыми. Файл удаляется при деинсталляции.
Отличие от api.config: storage — для внутреннего состояния рантайма; api.config — пользовательские настройки (и могут появиться в UI настроек, если у полей есть editor).