Releases: autumn-library/winow
v0.5.4
- Немного логгирования в обработке ошибок точек маршрута
- Появился метод для обновления на горячую файлов статистики
РегистраторКаталогаФайлов.ОбновтитьСтатичныеФайлы();
- Исправлены ошибки
- Поднята версия осени.
v0.5.3
Добавлена поддержка Content-Type: multipart/form-data.
В точку маршрута можно можно получить специализированный объект "ДанныеФормы", который может отдавать части используя поиск по метаданным.
Процедура ОбработкаФормы(ДанныеФормы, Ответ) Экспорт
Ответ.Модель = Новый Структура("Имя, ДатаРождения, Фото");
Ответ.Модель.Имя = ДанныеФормы.НайтиЗначениеСтрокойПоМетаданным(Новый Структура("name", "name"));
Ответ.Модель.ДатаРождения = ДанныеФормы.НайтиЗначениеСтрокойПоМетаданным(Новый Структура("name", "age"));
Ответ.Модель.Фото = ПолучитьBase64СтрокуИзДвоичныхДанных(ДанныеФормы.НайтиЗначениеПоМетаданным(Новый Структура("name", "file")));
КонецПроцедуры;
v0.5.2
Появилось api для подписок на события обработки шаблонов. См. документацию
v0.5.1
- Для точки маршрута добавлена аннотация
&НеВыводитОтображениеКонтроллера
, которая отключает окружение результата ответа, данными общего отображения контроллера. - Скорректирован демо шаблон, который формируется при вызове
winow init
v0.5.0
v0.4.1
- Исправлен баг: не корректное чтение параметров из шаблонного url, когда точка маршрута находилась в корневом("/") контроле.
- Добавлен тип контента
"swf" - "application/x-shockwave-flash"
v0.4.0
- Внутренности подверглись серьезному рефакторингу
- В документации добавлено описание запуска в докере
- Добавлена экспериментальная поддержка протокола web-socket (смотри примеры и документацию)
v0.3.0
- Поднята зависимость ОСени
- Поднята зависимость оскрипта
- Исправлены некоторые проблемы с кодировкой на ос windows
- Описание контроллеров сокращено до минимума
&Контроллер("/my/control/path")
Процедура ПриСозданииОбъекта()
КонецПроцедуры
v0.2.1
Управление автоматическим стартом сервера через файл настроек.
{ "winow":
{
"АвтоСтарт": true
}
}
v0.2.0
Изменения:
- Упрощен запуск приложения.
Было:
#Использовать winow
// Создадим сервер, который будет центром мироздания.
Сервер = ФабрикаСерверов.СоздатьСервер();
//Установим желаемый порт
Сервер.Настройки.Порт = 3331;
// В целях удобства разработки и отладки, отключим обработку запросов в ФЗ
Сервер.Настройки.ЗапросВФоновыхЗаданиях = Ложь;
// Для того, что бы сервер знал, как обрабатывать входящие запросы, в него нужно такой фунционал загрузить. Можно это сделать вот такой командой из каталога.
// Первый параметр - произвольное имя приложения, второй - каталог, в котором находятся классы, для управления логикой обработки запросов.
КонтекстПриложения = Сервер.МенеджерПриложений.ДобавитьПриложениеИзКаталога("ПриветМир", "./hwapp");
// Запуск сервера
Сервер.Старт();
Стало:
#Использовать autumn
#Использовать winow
Поделка = Новый Поделка;
Поделка.ЗапуститьПриложение();
-
Автоматическая загрузка желудей winow при подключении библиотеки
-
Объединены контексты winow и загружаемых контролов.
-
Шаблонные параметры в url точки маршрута
&ТочкаМаршрута("calc/plus/{Число1}/{Число2}")
Процедура ШаблонныеПараметрыСложение(Ответ, Число1, Число2) Экспорт
Ответ.УстановитьТипКонтента("txt");
Ответ.ТелоТекст = Число(Число1) + Число(Число2);
КонецПроцедуры
- Изменена аннотация контролов
Было:
&Контроллер("/")
&Желудь
Процедура ПриСозданииОбъекта()
Стало:
&Желудь
&Прозвище("Контроллер")
&Маршрут("/")
Процедура ПриСозданииОбъекта()
-
Изменения в конфигурировании через json
-
автоматическая сериализация входящих
Content-Type:application/json
иContent-Type:application/x-www-form-urlencoded
-
Гибкий набор параметров в точках маршрута
-
Для удобства разработки веб приложения хочется разделить отображения, и добавить что-то общее для всех точек маршрута. Например общая html разметка, с заголовками, меню, подвалом и тд. Для этих целей есть возможность с помощью аннотации в конструкторе контрола указать общий шаблон.
&Желудь
&Прозвище("Контроллер")
&Маршрут("/demoviews")
&Отображение(Шаблон = "./hwapp/view/main.html", Метод = "ПолучитьМодельКонтрола")
Процедура ПриСозданииОбъекта()
КонецПроцедуры
Функция ПолучитьМодельКонтрола(Запрос) Экспорт
Модель = Новый Структура("Заголовок, Дата", "Демонстрация работы отображений", Запрос.ДатаПолучения);
Возврат Модель;
КонецФункции
Где &Отображение(Шаблон = "./hwapp/view/main.html", Метод = "ПолучитьМодельКонтрола")
аннотация, указывает где расположен шаблон, и каким методом для него формируется модель с данными. Параметры этого метода так же могут быть выбраны, аналогично методам точек маршрута.
А вот так выглядит общий шаблон
!doctype html>
<html>
<head>
<title>{{Модель.Заголовок}}</title>
</head>
<body>
<div>Шапка страницы! Дата получения запроса: {{Модель.Дата}}</div>
@Контент
<div>Подвал страницы</div>
</body>
</html>
Где тег @Контент
будет заменен результатом ответа точки маршрута.
-
Обновленная документация
-
Исправлены ошибки
-
Добавлены тесты основного функционала