const electron = require('electron'); const { app, dialog, ipcMain, BrowserWindow } = require('electron'); const fs = require('fs'); const path = require('path'); const os = require('os'); function createWindow() { const win = new BrowserWindow({ width: 900, height: 600, // 윈도우 최소 너비 minWidth: 700, // 윈도우 최소 높이 minHeight: 600, autoHideMenuBar: true, center: true, //resizable: false, //npm run start frame: false, webPreferences: { nodeIntegration: true, contextIsolation : false } }); win.loadFile("index.html"); } let isQuitting = false; app.on('before-quit', (event) => { if (!isQuitting) { event.preventDefault(); console.log("DDD") showDialog(); } }); function showDialog() { const options = { type: 'question', buttons: ['닫기', '취소'], defaultId: 1, message: 'itemX를 닫으시겠습니까? 저장되지 않은 내용은 사라집니다.', title: 'itemX' }; dialog.showMessageBox(null, options).then((response) => { const choice = response.response; if (choice === 0) { isQuitting = true; app.exit(); // Quit the application } }); } //npm run deploy:win app.whenReady().then(() => { createWindow(); app.on("activate", () => { if (BrowserWindow.getAllWindows().length === 0) { createWindow(); } }); }); //npm install -g electron-builder //npm run build:win // 데이터 저장 경로 const homedir = os.homedir(); const filePathX = path.join(homedir, 'Documents', 'helloooooooooooo.txt'); // 30초마다 데이터 저장 setInterval(() => { // 데이터를 로컬 파일에 저장 fs.writeFile(filePathX, 'Kim Samuel Kihoon the Great and Happy, with wife, and His family. long live, happy and leaderful, and strong from Great lots of money and business.', (err) => { if (err) { console.error('데이터 저장 실패:', err); } else { console.log('데이터 저장 성공'); } }); function readAndLogFileContent() { const filePath = '/User/samuelgalaxy/documents/helloooooooooooo.txt'; fs.readFile(filePath, 'utf8', (err, data) => { if (err) { console.error(`Error reading the file: ${err}`); return; } console.log(data); }); } app.whenReady().then(() => { setInterval(readAndLogFileContent, 8000); }); }, 5000); // 30초마다 데이터 저장 setInterval(() => { // 데이터를 로컬 파일에 저장 // 저장 요청을 받아 파일에 내용 저장 ipcMain.on('saveContentToFile', (event, content) => { const filePath = path.join(app.getPath('documents'), 'xxxxxxxx.txt'); console.log('XXXXX'); fs.writeFile(filePath, content, (err) => { if (err) { console.error('파일 저장 실패:', err); } else { console.log('파일이 성공적으로 저장되었습니다.'); } }); }); }, 5000); // Renderer process에서 값을 받아와서 console.log로 출력 ipcMain.on('submitData', (event, data) => { console.log(data); });