dataTool/preload.js

29 lines
1.0 KiB
JavaScript

const { contextBridge, ipcRenderer } = require('electron');
// 暴露安全的API给渲染进程
contextBridge.exposeInMainWorld('electronAPI', {
// 文件操作
selectExcelFile: () => ipcRenderer.invoke('select-excel-file'),
// 数据库操作
getProjects: () => ipcRenderer.invoke('get-projects'),
getTreeStructure: () => ipcRenderer.invoke('get-tree-structure'),
filterProjects: (filters) => ipcRenderer.invoke('filter-projects', filters),
updateProject: (project) => ipcRenderer.invoke('update-project', project),
deleteProject: (projectId) => ipcRenderer.invoke('delete-project', projectId),
// Excel处理
importExcel: (filePath) => ipcRenderer.invoke('import-excel', filePath),
// 数据清除
clearAllData: () => ipcRenderer.invoke('clear-all-data'),
// 事件监听
onImportProgress: (callback) => {
// 移除之前的监听器,避免重复
ipcRenderer.removeAllListeners('import-progress');
// 添加新的监听器
ipcRenderer.on('import-progress', (event, data) => callback(data));
}
});