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