40 lines
1.3 KiB
JavaScript
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
|
|
} |