为了防止休眠状态导致客户端与服务端通信中断,所以需要支持阻止系统休眠
的功能。
由于之前的框架是electron-vue
的,而从2015年以后该框架就不在维护和更新了,导致electron
的版本非常的旧,为2.0.8
。
而在低版本上electron
提供的省点拦截器powerSaveBlocker
是有BUG的,具体的可以在github上查到。
所以不得不将electron
进行版本升级,将版本升级到11
的时候,重新跑项目就会导致各种undefined
异常,比如module undefined
和require undefined
,导致项目无法正常运行。
尝试了好几个版本,目前只有在7.3.3
版本上,可以兼容powerSaveBlocker
和nodejs
的版本,既不会出现undefined
,也不会出现powerSaveBlocker
不生效的问题。
electron
所谓的阻止休眠,其实是阻止屏幕息屏。从win10系统上查看电源,可以看到有两个部分。一个是关于屏幕
的设置,一个是关于睡眠
的配置。
而在electron
中文文档中,可以看到阻止系统进入低功耗(休眠)模式
亲测在将屏幕
和睡眠
都设置为1分钟
的情况下,启用powerSaveBlocker
功能
var systemstatusid = powerSaveBlocker.start