1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- 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: (filePath, tag) => {
- console.log('docker导入算法镜像文件:', filePath, '本地镜像版本:', tag);
- // 发送事件到主进程,并带上文件路径和文件名作为参数
- ipcRenderer.send('docker-import', filePath, tag);
- },
- onDockerImportResponse: (callback) => ipcRenderer.on('docker-import-response', callback),
- runSimulation: async (obstacle_flag, default_start_flag, default_end_flag, start_point, end_point) => {
- // ipcRenderer.send('run-simulation', {obstacle_flag, default_start_flag, default_end_flag, start_point, end_point});
- try {
- const result = ipcRenderer.invoke('run-simulation', {obstacle_flag, default_start_flag, default_end_flag, start_point, end_point});
- return result;
- } catch (error) {
- console.error('执行仿真测试出错:', error);
- throw error;
- }
- },
- onRunSimulationResponse: (callback) => ipcRenderer.on('run-simulation-response', callback),
- generateWorld: (rosbag_path) => {
- // 发送事件到主进程
- ipcRenderer.send('generate-world', {rosbag_path});
- },
- onGenerateWorldResponse: (callback) => ipcRenderer.on('generate-world-result', callback),
- startContainer: (zip_file_path, image_name, container_name) => {
- // 发送事件到主进程
- ipcRenderer.send('start-container', {zip_file_path, image_name, container_name});
- },
- onStartContainerResponse: (callback) => ipcRenderer.on('start-container-result', callback),
- downloadFile: async (url, fileName, savePath, overwriteFlag) => {
- try {
- return await ipcRenderer.invoke('download-file', { url, fileName, savePath, overwriteFlag });
- } catch (error) {
- console.error('下载文件时出错:', error);
- return { success: false, error: error.message };
- }
- },
- deleteFile: (fileName, savePath) => ipcRenderer.send('delete-file', {fileName, savePath}),
- onDeleteFileResponse: (callback) => ipcRenderer.on('delete-file-response', callback),
- });
|