21 lines
936 B
JavaScript
21 lines
936 B
JavaScript
const { contextBridge, ipcRenderer } = require('electron');
|
|
|
|
contextBridge.exposeInMainWorld('oemTool', {
|
|
diagnostic: (message, payload) => ipcRenderer.invoke('oem-tool:diagnostic', { message, payload }),
|
|
pickImage: () => ipcRenderer.invoke('oem-tool:pick-image'),
|
|
pathToFileUrl: (filePath) => {
|
|
if (!filePath) return '';
|
|
const normalized = String(filePath).replace(/\\/g, '/').replace(/#/g, '%23');
|
|
return `file:///${encodeURI(normalized)}`;
|
|
},
|
|
runBatch: (jobs) => ipcRenderer.invoke('oem-tool:run-batch', jobs),
|
|
cancel: () => ipcRenderer.invoke('oem-tool:cancel'),
|
|
openOutputDir: () => ipcRenderer.invoke('oem-tool:open-output-dir'),
|
|
getStatus: () => ipcRenderer.invoke('oem-tool:get-status'),
|
|
onLog: (callback) => {
|
|
const listener = (_event, payload) => callback(payload);
|
|
ipcRenderer.on('oem-tool:log', listener);
|
|
return () => ipcRenderer.removeListener('oem-tool:log', listener);
|
|
},
|
|
});
|