release 1.1

This commit is contained in:
2026-02-22 09:40:08 +03:00
parent ea28427c3d
commit e269425fe0
10 changed files with 1173 additions and 410 deletions
+77 -3
View File
@@ -36,7 +36,7 @@ const statuses = {
category: "error"
},
207: {
name: "Ожидание действий всех получателей",
name: "Ожидание действий",
description: "Ожидание действий от всех получателей",
category: "processing"
},
@@ -70,6 +70,11 @@ const statuses = {
description: "Подписание отменено для всех получателей",
category: "completed"
},
214: {
name: "Успешно. Требуется подписание УКЭП",
description: "Требуется подписание УКЭП медицинского работника",
category: "processing"
},
498: {
name: "Завершено. Отклонено всеми",
description: "Все получатели отказались от подписания",
@@ -315,6 +320,23 @@ chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
return true;
}
if (message.action === 'searchRecipients') {
setTimeout(async () => {
try {
const result = await searchRecipients(message.data);
sendResponse(result);
} catch (error) {
sendResponse({
success: false,
message: error.message || 'Ошибка поиска получателей',
error: error.toString(),
data: []
});
}
}, 0);
return true;
}
});
// Функция расширенного поиска
@@ -442,8 +464,8 @@ async function getDocumentsFromServer(data) {
const result = await response.json();
if (result.status === 'SUCCESS' && Array.isArray(result.data)) {
result.data = enrichStatuses(result.data);
if (result.status === 'SUCCESS' && Array.isArray(result.data.singings)) {
result.data.singings = enrichStatuses(result.data.singings);
}
return {
@@ -616,4 +638,56 @@ async function resendDocumentsOnServer(data) {
}
}
async function searchRecipients(data) {
try {
const settings = await chrome.storage.local.get(['serverIp', 'serverPort']);
if (!settings.serverIp || !settings.serverPort) {
throw new Error('Server IP or port not configured');
}
const url = `http://${settings.serverIp}:${settings.serverPort}/api/search-recipients`;
console.log('[background] Поиск получателей:', url, data);
const response = await fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
body: JSON.stringify(data),
signal: AbortSignal.timeout(15000) // 15 секунд таймаут
});
if (!response.ok) {
const errorText = await response.text();
throw new Error(`HTTP error: ${response.status} - ${errorText}`);
}
const result = await response.json();
let recipients = result;
if (result.data && Array.isArray(result.data)) {
recipients = result.data;
} else if (!Array.isArray(result)) {
recipients = [];
}
return {
success: true,
data: recipients
};
} catch (error) {
console.error('[background] Ошибка поиска получателей:', error);
return {
success: false,
message: error.message || 'Ошибка поиска получателей',
error: error.toString(),
data: []
};
}
}
console.log('✅ Background script loaded');