const { contextBridge, ipcRenderer } = require('electron') const Store = require("electron-store"); const store = new Store(); contextBridge.exposeInMainWorld('api', { createUtilsWindow: (flag) => { ipcRenderer.send('create-utils-window', flag) }, uploadFile: (id) => { ipcRenderer.send("upload-file", id); }, watchuploadFile: (id) => { ipcRenderer.invoke("watch-upload-file", id); }, getConfig: () => ipcRenderer.invoke('get-config'), updateConfig: (config) => ipcRenderer.invoke('update-config', config), getStoreValue: (key) => store.get(key), removeStoreValue: (key) => store.delete(key), watchUploadLatestAnalysisFile: (id) => { ipcRenderer.invoke("watch-upload-analysis-file", id); }, // 读取C盘文件夹文件 readCFolder: (config) => ipcRenderer.invoke('read-c-folder', config), // 可选:获取Electron版本(测试用) getElectronVersion: () => process.versions.electron, saveFileInfo: (fileInfoList) => ipcRenderer.invoke('save-file-info', fileInfoList), // 新增 getSavedFileInfo: () => ipcRenderer.invoke('get-saved-file-info'), // 新增 renameFile: (data) => ipcRenderer.invoke('rename-file', data), minimizeWindow: () => ipcRenderer.send('minimize-window'), startWatchFolder: (path) => ipcRenderer.send('start-watch-folder', path), stopWatchFolder: () => ipcRenderer.send('stop-watch-folder'), onFileChanged: (callback) => ipcRenderer.on('file-changed', (event, data) => callback(data)), removeFileChangedListener: (callback) => { if (callback) { ipcRenderer.removeListener('file-changed', callback); } }, })