- Добавлена полная интеграция с Telegram Mini App (динамическая загрузка SDK) - Отдельный компактный дизайн для Telegram Mini App - Добавлен loader при инициализации (предотвращает мелькание SMS-авторизации) - Улучшена навигация: кнопки "Назад" и "К списку заявок" теперь сохраняют авторизацию - Telegram Mini App: кнопка "Выход" просто закрывает приложение - Telegram Mini App: заявки "В работе" скрыты из списка - Веб-версия: для заявок "В работе" добавлена кнопка "Просмотреть в Telegram" (ссылка на @klientprav_bot) - Telegram Mini App: кнопки действий в черновиках расположены вертикально - Веб-версия: убрано отображение номера телефона в приветствии - Исправлена проблема с возвратом к списку черновиков (не требует повторной SMS-авторизации) - Заблокировано удаление и редактирование заявок со статусом "В работе" - Добавлена документация по Telegram Mini App интеграции
66 lines
2.5 KiB
JavaScript
66 lines
2.5 KiB
JavaScript
// ============================================================================
|
||
// n8n Code Node: Подготовка данных запроса рейса
|
||
// ============================================================================
|
||
// Используйте эту ноду ПЕРЕД "причесываем данные"
|
||
// Она безопасно получает данные из ноды "запрос рейса" и передаёт их дальше
|
||
// ============================================================================
|
||
|
||
// Получаем данные из ноды "запрос рейса"
|
||
let requestData = {
|
||
flight_number: null,
|
||
departure_date_local: null,
|
||
arrival_date_local: null
|
||
};
|
||
|
||
try {
|
||
const requestNode = $('запрос рейса');
|
||
if (requestNode && requestNode.first()) {
|
||
const requestJson = requestNode.first().json;
|
||
if (requestJson) {
|
||
requestData = {
|
||
flight_number: requestJson.flight_number || requestJson.ident || requestJson.flight || null,
|
||
departure_date_local: requestJson.departure_date_local || null,
|
||
arrival_date_local: requestJson.arrival_date_local || null
|
||
};
|
||
}
|
||
}
|
||
} catch (e) {
|
||
console.log('⚠️ Не удалось получить данные из ноды "запрос рейса":', e.message);
|
||
}
|
||
|
||
// Получаем данные из входных элементов (fallback)
|
||
const inputItems = $input.all();
|
||
inputItems.forEach(item => {
|
||
if (item.json) {
|
||
if (!requestData.flight_number && item.json.flight_number) {
|
||
requestData.flight_number = item.json.flight_number;
|
||
}
|
||
if (!requestData.departure_date_local && item.json.departure_date_local) {
|
||
requestData.departure_date_local = item.json.departure_date_local;
|
||
}
|
||
if (!requestData.arrival_date_local && item.json.arrival_date_local) {
|
||
requestData.arrival_date_local = item.json.arrival_date_local;
|
||
}
|
||
}
|
||
});
|
||
|
||
// Передаём данные дальше вместе с входными данными
|
||
const outputItems = inputItems.map(item => ({
|
||
...item,
|
||
json: {
|
||
...item.json,
|
||
// Добавляем данные запроса
|
||
request_flight_number: requestData.flight_number,
|
||
request_departure_date: requestData.departure_date_local,
|
||
request_arrival_date: requestData.arrival_date_local
|
||
}
|
||
}));
|
||
|
||
return outputItems.length > 0 ? outputItems : [{
|
||
json: {
|
||
request_flight_number: requestData.flight_number,
|
||
request_departure_date: requestData.departure_date_local,
|
||
request_arrival_date: requestData.arrival_date_local
|
||
}
|
||
}];
|