29 lines
1.0 KiB
JavaScript
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));
|
|
}
|
|
});
|