From 5236ff67dbe1f2689c69c0777efe63087d631ed1 Mon Sep 17 00:00:00 2001 From: Dmitry Ivanov Date: Thu, 26 Dec 2024 22:04:56 +0300 Subject: [PATCH] =?UTF-8?q?refactor(web):=20=D0=9E=D1=82=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BA=D0=B0=20=D0=B7=D0=B0=D0=BF=D1=80=D0=BE=D1=81=D0=B0?= =?UTF-8?q?=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20JS=20XHR=20=D0=BE=D0=B1?= =?UTF-8?q?=D1=8A=D0=B5=D0=BA=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Классы/interface/view/index.html | 35 +++++++-- .../interface/Классы/ОсновнойКонтрол.os | 73 ++++++------------- 2 files changed, 50 insertions(+), 58 deletions(-) diff --git a/src/Классы/interface/view/index.html b/src/Классы/interface/view/index.html index 5d30436..8dfd3f8 100644 --- a/src/Классы/interface/view/index.html +++ b/src/Классы/interface/view/index.html @@ -57,7 +57,7 @@ color: #777; } - input[type=submit] { + input[type=button] { background-color: black; color: white; padding: 10px 10px; @@ -75,6 +75,27 @@ align-items: center; } +
@@ -84,10 +105,10 @@
-
- - - + + + +
@@ -96,8 +117,8 @@ - +HTTPОтвет = Соединение.ВызватьHTTPМетод("GET", HTTPЗапрос);'> +
diff --git a/src/Классы/interface/Классы/ОсновнойКонтрол.os b/src/Классы/interface/Классы/ОсновнойКонтрол.os index 5b7f999..fe53f04 100644 --- a/src/Классы/interface/Классы/ОсновнойКонтрол.os +++ b/src/Классы/interface/Классы/ОсновнойКонтрол.os @@ -5,67 +5,38 @@ &ТочкаМаршрута("") &Отображение("./Классы/interface/view/index.html") -Процедура Главная(Запрос, Ответ) Экспорт - Перем Ошибки; - - ПараметрыЗапроса = ПараметрыИзТекста(Запрос.Тело); - - Ответ.Модель = Модель(); - - Команда = ПараметрыЗапроса.Получить("inputcurl"); - Если Команда <> Неопределено Тогда - Ответ.Модель.Команда = Команда; - КонвертерКомандыCURL = Новый КонвертерКомандыCURL(); - - Попытка - Результат = КонвертерКомандыCURL.Конвертировать(Команда, Новый ГенераторПрограммногоКода1С(), Ошибки); - Исключение - Ответ.Модель.ТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке()); - КонецПопытки; - - Ответ.Модель.ПрограммныйКод = Результат; - КонецЕсли; +Процедура Главная(Ответ) Экспорт КонецПроцедуры -Функция Модель() - Модель = Новый Структура(); - Модель.Вставить("Команда", ""); - Модель.Вставить("ПрограммныйКод", ""); - Модель.Вставить("ТекстОшибки", ""); - Возврат Модель; -КонецФункции +&ТочкаМаршрута("/convert") +Процедура Конвертировать(ПараметрыЗапросаИменные, Ответ) Экспорт + Перем Ошибки; -Функция ПараметрыИзТекста(ПараметрыТекстом, РазделительПараметров = "&") Экспорт - - Результат = Новый Соответствие(); + Данные = Новый Структура("result, errors", "", Новый Массив()); - Если ЗначениеЗаполнено(ПараметрыТекстом) Тогда - - ПараметрыТекстом = СтрЗаменить(ПараметрыТекстом, "+", " "); + ТекстКоманды = ПараметрыЗапросаИменные.Получить("cmd"); + Если ТекстКоманды <> Неопределено Тогда + КонвертерКомандыCURL = Новый КонвертерКомандыCURL(); - МассивПараметров = СтрРазделить(РаскодироватьСтроку(ПараметрыТекстом, СпособКодированияСтроки.КодировкаURL), РазделительПараметров, Ложь); - Для Каждого ТекПараметрСтрокой из МассивПараметров Цикл - ТекПараметр = РазделитьСтроку(ТекПараметрСтрокой, "="); - Результат.Вставить(ТекПараметр.Лево, ТекПараметр.Право); - КонецЦикла; + Попытка + Данные.result = КонвертерКомандыCURL.Конвертировать(ТекстКоманды, Новый ГенераторПрограммногоКода1С(), Ошибки); + Для Каждого Ошибка Из Ошибки Цикл + Данные.errors.Добавить(НоваяОшибка(Ошибка.Текст, Ошибка.Критичная)); + КонецЦикла; + Исключение + Данные.errors.Добавить(НоваяОшибка(КраткоеПредставлениеОшибки(ИнформацияОбОшибке()), Истина)); + КонецПопытки; КонецЕсли; - Возврат Результат; - -КонецФункции + Парсер = Новый ПарсерJSON(); -Функция РазделитьСтроку(Строка, Разделитель) Экспорт - Результат = Новый Структура("Лево, Право","",""); - ПозицияРазделителя = СтрНайти(Строка, Разделитель); + Ответ.УстановитьТипКонтента("json"); + Ответ.ТелоТекст = Парсер.ЗаписатьJSON(Данные); - Если ПозицияРазделителя = 0 Тогда - Результат.Лево = Строка; - Иначе - Результат.Лево = Лев(Строка, ПозицияРазделителя - 1); - Результат.Право = Сред(Строка, ПозицияРазделителя + СтрДлина(Разделитель)); - КонецЕсли; +КонецПроцедуры - Возврат Результат; +Функция НоваяОшибка(Текст, Критичная = Ложь) + Возврат Новый Структура("text, critical", Текст, Критичная); КонецФункции \ No newline at end of file