LaiTool/src/main/IPCEvent/systemIpc.js
2024-08-03 12:46:12 +08:00

40 lines
1.3 KiB
JavaScript

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
}