console.log('Preload script loaded'); const {contextBridge, ipcRenderer} = require('electron'); contextBridge.exposeInMainWorld('electronAPI', { openGazebo: () => { console.log('打开 gazebo'); ipcRenderer.send('open-gazebo'); }, openRviz: () => { console.log('打开 rviz'); ipcRenderer.send('open-rviz'); }, closeGazebo: () => { console.log('关闭 gazebo'); ipcRenderer.send('close-gazebo'); }, closeRviz: () => { console.log('关闭 rviz'); ipcRenderer.send('close-rviz'); }, openFileManager: async () => { try { const result = await ipcRenderer.invoke('dialog:open'); return result; } catch (error) { console.error('打开文件管理器时出错:', error); throw error; } }, // dockerImport 函数现在接受两个参数:filePath 和 tag dockerImport: (sudoPassword, filePath, tag) => { console.log('sudo密码为:', sudoPassword); console.log('docker导入算法镜像文件:', filePath, '本地镜像版本:', tag); // 发送事件到主进程,并带上文件路径和文件名作为参数 ipcRenderer.send('docker-import',sudoPassword, filePath, tag); }, generateWorld: (rosbag_path) => { // 发送事件到主进程 ipcRenderer.send('generate-world', rosbag_path); }, });