Большое обновление GUI интерфейс - Добавлен фраемворr Walles - Удалена консольная версия - Проработан интерфейс и дизайн - Добавлено кеширование для быстрой реакции. - Сделан .ps1 сборщик для удобной сборки проекта. - Обновлён Readme
130 lines
3.5 KiB
JavaScript
130 lines
3.5 KiB
JavaScript
/* ============================================
|
||
Config API
|
||
Работа с конфигурацией
|
||
============================================ */
|
||
|
||
import { isWailsAvailable, log } from '../utils/helpers.js';
|
||
|
||
/**
|
||
* Класс для работы с конфигурацией
|
||
*/
|
||
class ConfigAPI {
|
||
constructor() {
|
||
this.available = isWailsAvailable();
|
||
}
|
||
|
||
/**
|
||
* Получить конфигурацию
|
||
*/
|
||
async getConfig() {
|
||
if (!this.available) return null;
|
||
try {
|
||
return await window.go.admin.App.GetConfig();
|
||
} catch (error) {
|
||
log(`Ошибка получения конфигурации: ${error.message}`, 'error');
|
||
return null;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Сохранить конфигурацию
|
||
*/
|
||
async saveConfig(configJSON) {
|
||
if (!this.available) return 'Error: API недоступен';
|
||
try {
|
||
return await window.go.admin.App.SaveConfig(configJSON);
|
||
} catch (error) {
|
||
log(`Ошибка сохранения конфигурации: ${error.message}`, 'error');
|
||
return `Error: ${error.message}`;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Включить Proxy Service
|
||
*/
|
||
async enableProxyService() {
|
||
if (!this.available) return;
|
||
try {
|
||
await window.go.admin.App.EnableProxyService();
|
||
} catch (error) {
|
||
log(`Ошибка включения Proxy: ${error.message}`, 'error');
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Отключить Proxy Service
|
||
*/
|
||
async disableProxyService() {
|
||
if (!this.available) return;
|
||
try {
|
||
await window.go.admin.App.DisableProxyService();
|
||
} catch (error) {
|
||
log(`Ошибка отключения Proxy: ${error.message}`, 'error');
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Перезапустить все сервисы
|
||
*/
|
||
async restartAllServices() {
|
||
if (!this.available) return;
|
||
try {
|
||
await window.go.admin.App.RestartAllServices();
|
||
} catch (error) {
|
||
log(`Ошибка перезапуска сервисов: ${error.message}`, 'error');
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Запустить HTTP Service
|
||
*/
|
||
async startHTTPService() {
|
||
if (!this.available) return;
|
||
try {
|
||
await window.go.admin.App.StartHTTPService();
|
||
} catch (error) {
|
||
log(`Ошибка запуска HTTP: ${error.message}`, 'error');
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Остановить HTTP Service
|
||
*/
|
||
async stopHTTPService() {
|
||
if (!this.available) return;
|
||
try {
|
||
await window.go.admin.App.StopHTTPService();
|
||
} catch (error) {
|
||
log(`Ошибка остановки HTTP: ${error.message}`, 'error');
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Запустить HTTPS Service
|
||
*/
|
||
async startHTTPSService() {
|
||
if (!this.available) return;
|
||
try {
|
||
await window.go.admin.App.StartHTTPSService();
|
||
} catch (error) {
|
||
log(`Ошибка запуска HTTPS: ${error.message}`, 'error');
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Остановить HTTPS Service
|
||
*/
|
||
async stopHTTPSService() {
|
||
if (!this.available) return;
|
||
try {
|
||
await window.go.admin.App.StopHTTPSService();
|
||
} catch (error) {
|
||
log(`Ошибка остановки HTTPS: ${error.message}`, 'error');
|
||
}
|
||
}
|
||
}
|
||
|
||
// Экспортируем единственный экземпляр
|
||
export const configAPI = new ConfigAPI();
|
||
|