/
diloytd
/
shield
Обзор
Документация
Войти
/
diloytd
/
shield
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/preload.js
53 строки
2 KB
diloytd
Разделить импорт заказа и ручное присвоение шильда.
15 июл 2026, 18:23
15 июл 2026, 18:23
860cf37
Код
Авторство
О чём код?
const { contextBridge, ipcRenderer } = require('electron'); /** * Безопасный мост между main-процессом и renderer. * Предоставляет renderer только необходимые методы для UI. */ contextBridge.exposeInMainWorld('electronAPI', { /** * Открывает системный диалог выбора JSON-файла. * @returns {Promise<string|null>} Абсолютный путь к файлу или null при отмене. */ selectJsonFile: () => ipcRenderer.invoke('dialog:select-json'), /** * Показывает системное предупреждение пользователю. * @param {string} message - Текст предупреждения. * @returns {Promise<void>} */ showWarning: (message) => ipcRenderer.invoke('dialog:show-warning', message), /** * Импортирует данные из выбранного JSON-файла в SQLite. * @param {string} filePath - Абсолютный путь к JSON-файлу. * @returns {Promise<Object>} Результат импорта. */ importJson: (filePath) => ipcRenderer.invoke('import:json', filePath), /** * Формирует журнал шильдов на основе данных из SQLite. * @returns {Promise<Object>} Результат формирования журнала. */ buildJournal: () => ipcRenderer.invoke('journal:build'), /** * Получает список экземпляров изделий из SQLite. * @returns {Promise<Object>} Список экземпляров. */ getInstances: () => ipcRenderer.invoke('instances:list'), /** * Присваивает шильд выбранному экземпляру изделия. * @param {number} instanceId - Идентификатор экземпляра изделия. * @returns {Promise<Object>} Результат присвоения шильда. */ assignShield: (instanceId) => ipcRenderer.invoke('shield:assign', instanceId), /** * Удаляет экземпляр изделия из SQLite. * @param {number} instanceId - Идентификатор экземпляра изделия. * @returns {Promise<Object>} Результат удаления. */ deleteInstance: (instanceId) => ipcRenderer.invoke('instances:delete', instanceId), });