UNPKG

zrw-timing

Version:

定时操作

92 lines (91 loc) 2.62 kB
const { app , dialog } = require("electron"); const { exec } = require('child_process'); function restart() { app.relaunch({ args: process.argv.slice(1).concat([ '--relaunch' ]) }); app.exit(0); } function powerOff() { exec(`shutdown -s -t 0`, (err, stdout, stderr)=>{}); } // 定时重启应用 function timingRestart(time) { let time2 = new Date(time).getTime(); // 获取当前时间 let nowTime = new Date().getTime(); // 当前时间大于设定时间则不执行 if (time2 - nowTime <= 0) { return; } // 控制dialog只弹出一次 let dialogFlag = false; let countdown = setInterval(()=>{ // 获取当前时间 let nowTime2 = new Date().getTime(); let res = (time2 - nowTime2) / 1000; if (res > 10) { // 暂无业务 } else if (res > 0) { if (!dialogFlag) { dialog.showMessageBox({ "title": "提示", "message": "10秒后将自动重启应用!", buttons: [ "我知道了" ], type: "info" }).then((res)=>{ // console.log('11', res.response) }); dialogFlag = true; } } else { clearInterval(countdown); restart(); } }, 1000); } // 定时关机 function timingShutdown(time) { let time2 = new Date(time).getTime(); // 获取当前时间 let nowTime = new Date().getTime(); // 当前时间大于设定时间则不执行 if (time2 - nowTime <= 0) { return; } // 控制dialog只弹出一次 let dialogFlag = false; let countdown = setInterval(()=>{ // 获取当前时间 let nowTime2 = new Date().getTime(); let res = (time2 - nowTime2) / 1000; if (res > 10) { // 暂无业务 } else if (res > 0) { if (!dialogFlag) { dialog.showMessageBox({ "title": "提示", "message": "10秒后将关闭计算机!", buttons: [ "我知道了" ], type: "info" }).then((res)=>{ // console.log('11', res.response) }); dialogFlag = true; } } else { clearInterval(countdown); powerOff(); } }, 1000); } module.exports = { timingRestart, timingShutdown };