Win10 конфигурация:
https://github.com/Nepxion/Thunder/tree/master/thunder-spring-boot-docker-example
«Win10 Docker развёртывание» -> «Подготовка к работе перед развёртыванием»:
— Mac конфигурация: http://www.liumapp.com/articles/2017/12/27/1514347974172.html.
В корневом каталоге выполните команды из файлов install-docker.bat или install-docker.sh, чтобы одним действием создать образ и контейнер.
Запустите Swagger, чтобы проверить работу: в браузере введите http://localhost:2222/swagger-ui.html, чтобы получить доступ.
Развёртывание клиента:
— Загрузите код с https://github.com/Nepxion/DiscoveryUI.
— В корне выполните команду npm install, после завершения выполните npm run dev, для получения дополнительной информации обратитесь к файлу README.md в этом каталоге.
— Введите http://localhost:7777/ в браузере, чтобы получить доступ.
Skeleton Engine — это генератор каркаса, который не зависит от среды Spring, и вы можете использовать его для создания шаблонов любых текстовых файлов в среде Java.
Skeleton Framework — это каркас на основе среды Spring, который абстрагирует конфигурацию и поведение в среде Spring.
Skeleton Service — это платформа для каркаса, объединяющая несколько плагинов для генерации каркаса.
Skeleton Starter — это стартер для каркаса.
Skeleton Plugin Springcloud — это плагин для генерации каркаса на основе Spring Cloud. Вы можете расширить его, создав скелет-плагин-dubbo, скелет-плагин-motan и т. д.
Рисунок 6.
Последняя версия совместима с:
— Spring 4.xx и Spring Boot 1.xx. — Spring 5.xx и Spring Boot 2.xx.
Пакет двигателя
<dependency>
<groupId>com.nepxion</groupId>
<artifactId>skeleton-engine</artifactId>
<version>${skeleton.version}</version>
</dependency>
Пакет фреймворка
<dependency>
<groupId>com.nepxion</groupId>
<artifactId>skeleton-framework</artifactId>
<version>${skeleton.version}</version>
</dependency>
Стартовый пакет
<dependency>
<groupId>com.nepxion</groupId>
<artifactId>skeleton-starter</artifactId>
<version>${skeleton.version}</version>
</dependency>
@SpringBootApplication
@EnableSkeleton
@Import(SpringCloudPluginConfiguration.class)
public class SkeletonApplication {
}
skeleton-data.properties (находится в skeleton-plugin-springcloud/src/main/resources/springcloud/config/skeleton-data.properties): используется для описания глобальных конфигурационных значений для файлов шаблонов, значения в этих файлах заменяют динамические переменные в файлах шаблонов (используйте ${} для обозначения). Файл конфигурации содержит обязательные поля productName и basePackage в разделе «Конфигурация проекта», остальные поля можно определить самостоятельно, рекомендуется использовать имена в верблюжьем регистре.
skeleton-description.xml (находится в skeleton-plugin-springcloud/src/main/resources/springcloud/config/skeleton-description.xml): используется для описания структуры данных, управляющих интерфейсом, и компонентов макета, значение value в компонентах определяет скелет-data.properties. Разделено на группы и сущности, одна группа содержит несколько сущностей.
skeleton-context.properties (находится в skeleton-plugin-springcloud/src/main/resources/springcloud/config/skeleton-context.properties): используется для настройки глобального контекста каркаса. Три файла конфигурации должны находиться в каталоге config.
Рисунок 7.
Рисунок 8.
Если несколько каркасных систем развёрнуты на одной платформе, необходимо использовать независимый метод проекта и избегать конфликтов имён классов и файлов конфигурации. Рекомендуется следующее:
Если каркасная система развёрнута на одной платформе, то нет необходимости в такой тщательной проработке. Рекомендуется следующее:
Рисунок 7.
Рисунок 8.
Локальное использование: запустите SkeletonTest.java в папке skeleton-plugin-springcloud/src/test/java/com.nepxion.skeleton.plugin.springcloud, чтобы создать каркас локально, конкретные инструкции см. в комментариях к классу.
Использование Spring Cloud: файл конфигурации Spring Cloud находится в skeleton-service/src/main/resources/application.properties. Интерфейс Cloud, см. skeleton-framework/src/main/java/com.nepxion.skeleton.framework.controller.SkeletonController.java:
@RequestMapping(value = "/getPlugins", method = RequestMethod.GET)
public List<String> getPlugins();
@RequestMapping(value = "/getMetaData", method = RequestMethod.GET)
public List<SkeletonGroup> getMetaData();
Возвращается файл в формате JSON:
[
{
"key": "project", // 组所对应的唯一Key
"label": "工程配置", // 组的标签
"description": "工程配置", // 组的描述
"type": "MIX_GROUP", // 组的类型, включая MIX_GROUP (по умолчанию, компоненты любой категории могут быть помещены в группу, смешанная группа), CHECKBOX_GROUP (в группе могут быть размещены только флажки), RADIO_GROUP (в группе могут быть размещены только радиокнопки), COMBOBOX_GROUP (в группе могут быть размещены только поля со списком)
"layout": "VERTICAL", // 布局方式 для группы, включая VERTICAL (по умолчанию, компоненты в группе расположены вертикально), HORIZONTAL (компоненты в группе расположены горизонтально)
"titledBorder": "true", // требуется ли отображать заголовок группы (отображается по умолчанию)
"entityList": [
{
"key": "productName", // компонент, соответствующий уникальному ключу
"label": "продукт", // ярлык компонента
"description": "", // описание компонента
"note": "【必改项】首字母必须小写,中间只允许出现“-”", // подсказка по использованию компонента
"value": "sales", // содержимое компонента
"type": "TEXTFIELD", // тип компонента, включая TEXTFIELD (по умолчанию), CHECKBOX, RADIO, COMBOBOX, EDITABLE_COMBOBOX
"options": null, // список значений для соответствующего элемента, если это раскрывающийся список (COMBOBOX, EDITABLE_COMBOBOX), может быть нулевым
"highlightable": true, // указывает на то, что элемент является выделенным, обычно компонент отображается как выделенный, например, метка красного цвета, чтобы привлечь внимание пользователя
"defaultable": false, // указывает, что элемент является элементом по умолчанию, обычно компонент отображается в виде элемента по умолчанию, указывая пользователю, что значение можно не изменять
"emptiable": false, // указывает, что элемент пуст, обычно компонент отображается пустым, указывая пользователю, что соответствующее значение может быть пустым
"editable": true // указывает, что элемент не редактируется, обычно компонент отображается серым цветом, указывая пользователю, что соответствующее значение не может быть отредактировано
}
]
}
]
Получение метаданных драйвера экрана по имени скелета. Другой интерфейс без параметра skeletonName — это способ по умолчанию. Он вызывается, когда скелет не является плагином:
@RequestMapping(value = "/getMetaData/{skeletonName}", method = RequestMethod.GET)
public List<SkeletonGroup> getMetaData(@PathVariable(value = "skeletonName") String skeletonName);
Скачивание Zip-файла скелета по имени. Возвращается массив байтов типа byte[], содержимое файла конфигурации, которое можно скопировать из src/main/resources/config/skeleton-data.properties:
@RequestMapping(value = "/downloadBytes/{skeletonName}", method = RequestMethod.POST)
public byte[] downloadBytes(@PathVariable(value = "skeletonName") String skeletonName, @RequestBody String config);
Скачивание Zip-файла скелета по имени. Возвращается ResponseEntity типа , содержимое файла конфигурации, которое можно скопировать из src/main/resources/config/skeleton-data.properties:
@RequestMapping(value = "/downloadResponse/{skeletonName}", method = RequestMethod.POST)
public ResponseEntity<Resource> downloadResponse(@PathVariable(value = "skeletonName") String skeletonName, @RequestBody String config);
Контакты:
Свяжитесь со мной через WeChat, DingTalk, официальный аккаунт или документы.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )