Files
ReinLoopTest/ControlPanel/electron-preload.js
T
2026-07-31 10:20:33 +08:00

38 lines
2.9 KiB
JavaScript

const { contextBridge, ipcRenderer } = require("electron");
contextBridge.exposeInMainWorld("reinloop", {
getDefaults: () => ipcRenderer.invoke("app:get-defaults"),
showInFolder: (filePath) => ipcRenderer.invoke("image:show-in-folder", filePath),
chooseConfig: () => ipcRenderer.invoke("config:choose"),
publishConfig: (request) => ipcRenderer.invoke("config:publish", request),
getConfig: (request) => ipcRenderer.invoke("config:get", request),
setConnection: (request) => ipcRenderer.invoke("connection:set", request),
testConnection: (request) => ipcRenderer.invoke("connection:test", request),
listOrganizations: (credentials) => ipcRenderer.invoke("organization:list", credentials),
createCompany: (request) => ipcRenderer.invoke("organization:create-company", request),
createProductionLine: (request) => ipcRenderer.invoke("organization:create-line", request),
issueLicense: (request) => ipcRenderer.invoke("license:issue", request),
listLicenses: (credentials) => ipcRenderer.invoke("license:list", credentials),
getLicense: (request) => ipcRenderer.invoke("license:get", request),
revokeLicense: (request) => ipcRenderer.invoke("license:revoke", request),
downloadLicense: (request) => ipcRenderer.invoke("license:download", request),
submitReview: (request) => ipcRenderer.invoke("review:submit", request),
listModels: (request) => ipcRenderer.invoke("model:list", request),
chooseModelUploadFile: () => ipcRenderer.invoke("model:choose-upload-file"),
uploadModel: (request) => ipcRenderer.invoke("model:upload", request),
downloadModel: (request) => ipcRenderer.invoke("model:download", request),
deleteModel: (request) => ipcRenderer.invoke("model:delete", request),
listIdentificationFiles: (request) => ipcRenderer.invoke("identification:list", request),
previewIdentificationFile: (request) => ipcRenderer.invoke("identification:preview", request),
downloadIdentificationFile: (request) => ipcRenderer.invoke("identification:download", request),
deleteIdentificationFile: (request) => ipcRenderer.invoke("identification:delete", request),
listControlFiles: (request) => ipcRenderer.invoke("control-data:list", request),
previewControlFile: (request) => ipcRenderer.invoke("control-data:preview", request),
downloadControlFile: (request) => ipcRenderer.invoke("control-data:download", request),
deleteControlFile: (request) => ipcRenderer.invoke("control-data:delete", request),
acknowledgeNotification: (request) => ipcRenderer.invoke("panel:ack-notification", request),
openNotificationFile: (request) => ipcRenderer.invoke("panel:open-notification-file", request),
onCsvUpdated: (callback) => ipcRenderer.on("csv:updated", (_event, result) => callback(result)),
onCsvWatchError: (callback) => ipcRenderer.on("csv:watch-error", (_event, message) => callback(message)),
onPanelNotification: (callback) => ipcRenderer.on("panel:notification", (_event, notification) => callback(notification))
});