liste déroulante postes téléphoniques

This commit is contained in:
Pierre Marx
2025-09-04 13:06:17 -04:00
parent ee038cedd8
commit a22344d664
5 changed files with 151 additions and 11 deletions

37
main.js
View File

@@ -81,6 +81,9 @@ function initializeSignalR() {
sendSignalRStatus();
});
// Configurer les méthodes SignalR
setupSignalRMethods();
// Démarrer la connexion
startSignalRConnection();
@@ -91,6 +94,16 @@ function initializeSignalR() {
}
}
function setupSignalRMethods() {
// Écouter les événements IPBX
signalRConnection.on('IpbxEvent', (name, args) => {
if (!args) return;
const event = args[0];
console.log('Événement IPBX reçu:', event);
// TODO: Gérer les événements d'appel
});
}
async function startSignalRConnection() {
try {
signalRStatus = 'connecting';
@@ -171,6 +184,30 @@ ipcMain.handle('get-signalr-status', () => {
return signalRStatus;
});
// Récupérer la liste des terminaux téléphoniques
ipcMain.handle('get-terminal-list', async () => {
// Mode simulation si SignalR non connecté
if (!signalRConnection || signalRStatus !== 'connected') {
console.log('SignalR non connecté, utilisation des terminaux de simulation');
return config.signalR.terminalsSimulation || ['3001', '3002', '3003'];
}
try {
console.log('Récupération des terminaux pour:', config.signalR.serviceProvider);
const terminals = await signalRConnection.invoke(
'GetTerminalListByServiceProvider',
config.signalR.serviceProvider
);
console.log('Terminaux disponibles:', terminals);
return terminals || [];
} catch (error) {
console.error('Erreur récupération terminaux:', error);
// Retourner les terminaux de simulation en cas d'erreur
return config.signalR.terminalsSimulation || ['3001', '3002', '3003'];
}
});
// Connexion agent
ipcMain.handle('login-agent', (event, credentials) => {
const agent = config.agents.find(a =>