evita abertura de multiplas instancias

This commit is contained in:
Eder Moraes 2025-06-20 11:08:13 -03:00
parent 8eed72c15b
commit 97fa71f231
3 changed files with 67 additions and 41 deletions

18
main.js
View File

@ -1,4 +1,5 @@
const { app, BrowserWindow, ipcMain, screen, net, dialog } = require('electron'); const { app, BrowserWindow, ipcMain, screen, net, dialog } = require('electron');
// const { app: singleInstanceLock } = require('electron-single-instance');
const path = require('path'); const path = require('path');
const fs = require('fs'); const fs = require('fs');
@ -22,6 +23,8 @@ const pusherUrl = 'autoatend.linco.work';
autoUpdater.autoDownload = false; autoUpdater.autoDownload = false;
autoUpdater.autoInstallOnAppQuit = true; autoUpdater.autoInstallOnAppQuit = true;
//impede que o app seja executado mais de uma vez
const gotTheLock = app.requestSingleInstanceLock();
// Função modificada para buscar dados da API // Função modificada para buscar dados da API
async function readData() { async function readData() {
@ -275,6 +278,17 @@ if(pjson.isBuildNow){
} }
if (!gotTheLock) {
app.quit();
} else {
app.on('second-instance', () => {
if (mainWin) {
if (mainWin.isMinimized()) {
mainWin.restore();
}
mainWin.focus();
}
});
// Inicialização do aplicativo modificada para verificar autenticação // Inicialização do aplicativo modificada para verificar autenticação
app.whenReady().then(async () => { app.whenReady().then(async () => {
@ -318,6 +332,10 @@ app.whenReady().then(async () => {
}); });
}
// Função para verificar se já existe um operador selecionado // Função para verificar se já existe um operador selecionado
async function getSelectedOperator() { async function getSelectedOperator() {
return new Promise((resolve) => { return new Promise((resolve) => {

15
package-lock.json generated
View File

@ -1,15 +1,16 @@
{ {
"name": "electronjs", "name": "autoatendcolab",
"version": "1.0.0", "version": "1.0.7",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "electronjs", "name": "autoatendcolab",
"version": "1.0.0", "version": "1.0.7",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@electron/remote": "^2.1.2", "@electron/remote": "^2.1.2",
"electron-single-instance": "^0.0.2",
"electron-updater": "^6.6.2", "electron-updater": "^6.6.2",
"jquery": "^3.7.1" "jquery": "^3.7.1"
}, },
@ -2609,6 +2610,12 @@
"chokidar": "^3.5.2" "chokidar": "^3.5.2"
} }
}, },
"node_modules/electron-single-instance": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/electron-single-instance/-/electron-single-instance-0.0.2.tgz",
"integrity": "sha512-HWZ0BsGpFRuUU+8Cpf0ecDHYOqptuUyjup62sYnkl19//DtysiTZzeIWO9YXdbow3JErti/Zyi2yHO2e0yn1ew==",
"license": "MIT"
},
"node_modules/electron-updater": { "node_modules/electron-updater": {
"version": "6.6.2", "version": "6.6.2",
"resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-6.6.2.tgz", "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-6.6.2.tgz",

View File

@ -1,6 +1,6 @@
{ {
"name": "autoatendcolab", "name": "autoatendcolab",
"version": "1.0.7", "version": "1.0.8",
"main": "main.js", "main": "main.js",
"isBuildNow": true, "isBuildNow": true,
"scripts": { "scripts": {
@ -38,6 +38,7 @@
"description": "Sistema auxiliar para colaboradores de autoatendimento", "description": "Sistema auxiliar para colaboradores de autoatendimento",
"dependencies": { "dependencies": {
"@electron/remote": "^2.1.2", "@electron/remote": "^2.1.2",
"electron-single-instance": "^0.0.2",
"electron-updater": "^6.6.2", "electron-updater": "^6.6.2",
"jquery": "^3.7.1" "jquery": "^3.7.1"
}, },