import { ipcMain } from "electron"; import { DEFINE_STRING } from '../../define/define_string' import { CheckFileOrDirExist } from "../../define/Tools/file"; import { errorMessage, successMessage } from "../Public/generalTools"; import path from 'path' const { shell } = require('electron') function SystemIpc() { // 打开指定的文件 ipcMain.on(DEFINE_STRING.SYSTEM.OPEN_FILE, async (event, value) => { await shell.openPath(value); }); // 试用文件资源打开指定的文件夹 ipcMain.handle(DEFINE_STRING.OPEN_FOLDER, async (event, value) => { try { let openFolder = null if (value.baseProject) { openFolder = path.join(global.config.project_path, value.folderPath) } else { openFolder = value.folderPath } // 判断文件夹是不是存在 let isExist = await CheckFileOrDirExist(openFolder) if (!isExist) { throw new Error("文件夹不存在,请检查") } shell.openPath(openFolder) return successMessage(null, '打开成功'); } catch (error) { return errorMessage("打开文件夹错误,错误信息如下:" + error.message, "SystemIpc_OPEN_FOLDER") } }); } export { SystemIpc }