build
Зависимости обновлены
spring-boot 2.6.8
spring-cloud-dependencies.version>2021.0.2
spring-boot-admin.version>2.6.7
hutool.version>5.8.1
fastjson.version>1.2.83
Разделение модуля boot на два модуля: boot и mvc
Перемещение части моделей из модуля annotation в модуль core
Удаление устаревших RemoteData и связанных с ними кодов
Замена всех строк "lamp" на константы
feat
Добавление поля создателя организации в таблицы пользователей и ролей, а также присвоение значений при создании записей
refactor
fix
Исправление проблемы с невалидной сериализацией после обновления
Исправление ошибки при использовании пустых строк в перечислении типов
Исправление несоответствия между типами организаций и значениями словарей
Исправление отображения типа ресурса на странице управления ролями и ресурсами
spring-boot-admin.version>2.6.2
hutool.version>5.7.20
Обновление зависимостей
spring.boot.version>2.5.7
spring-boot-admin.version>2.5.4
hutool.version>5.7.16
yarn -> pnpm
moment -> dayjs
vue -> 3.2.22
ant-design-vue > 3.0
addChildren
в базовых сущностях дереваspring.boot.version>2.5.6
spring-boot-admin.version>2.5.3
mysql.version>8.0.27
hutool.version>5.7.15
yarn
на pnpm
node_modules
и yarn.lock
, глобальная установка pnpm
pnpm install
VITE_PROXY
файла .env
mysql.yml
в nacos# lamp-cloud
spring.boot.version>2.5.5
spring.cloud.version>2020.0.4
spring-boot-admin.version>2.5.2
hutool.version>5.7.14
druid.version>1.2.8
mybatisplus.version>3.4.3.4
transmittable-thread-local.version>2.12.2
# lamp-web-plus
vue: ^3.2.19
vite: ^2.6.3
axios: ^0.22.0
component
, начинающегося с /
или заканчивающегося .vue
и .tsx
component
выводится предупреждение и возвращается страница 404hideBreadcrumb
, а не hideMenu
fixedHeight
spring.cloud.version>2020.0.4
spring.boot.version>2.5.5
mybatisplus.version>3.4.3.4
hutool.version>5.7.13
VITE_PROXY
файла .env
inset
не работаетreload
экземпляра BasicTable
не работает так же, как await
в useTable
spring.boot.version > 2.5.4
mybatisplus.version > 3.4.3.1
antisamy.version > 1.6.4
hutool.version > 5.7.10
nacos -> 2.0.3
seata -> 1.4.2
aliyun-java-sdk-core.version > 4.5.25
aliyun-java-sdk-dysmsapi.version > 2.1.0
bce-java-sdk.version > 0.10.174
aliyun-sdk-oss.version > 3.13.0
hutool.version > 5.7.8
fastjson.version > 1.2.78
spring-boot-admin.version > 2.5.0
caffeine.version > 2.9.2
protostuff.version > 1.7.4
build: 📣📣📣 Обновлено до JDK11, обратная совместимость отсутствует (для продолжения использования JDK8 потребуется самостоятельно скорректировать несколько версий зависимостей)
build: Изменены зависимости проекта
spring.boot.version>2.3.10.RELEASE
fastjson.version>1.2.76
transmittable-thread-local.version>2.12.1
lombok.version>1.18.20
hutool.version>5.6.3
caffeine.version>3.0.1
refactor: 🎉🎉🎉 В модуль validator добавлены новые пользовательские аннотации (NotEmptyPattern) и оптимизированы правила валидации
feat: 🎉🎉🎉 В проект lamp-web-plus добавлена новая компонента formValidateService.ts версии 1.0 (есть место для улучшений), которая интегрирована с модулем backend-validator, что обеспечивает единое проверение формы как на клиентской, так и на серверной стороне!
refactor: Улучшен модуль uid+databases: больше нет необходимости использовать @Resource аннотацию, названия нормализованы
feat: Добавлена поддержка Protostuff сериализации в модуль cache
perf: Оптимизация API класса RedisOps в модуле cache
fix: Устранено множество ошибок в модуле cache
fix: Устранена ошибка в методе статистики логов входа
fix: При парсинге JWT теперь допустимое время смещение составляет 5 минут, что решает проблему сбоев при парсинге токена из-за различия во времени между серверами!
build: Отказ от использования Zuul
ufo: Добавлена поддержка динамического конфигурирования типа и свойств CAPTCHA, а также поддержка горячей перезагрузки
fix: При настройке пользовательских прав доступа, больше не проверяются подчинённые организации в запросах
ufo: Добавлены Dockerfile и скрипт запуска для xxFileView
ufo: Добавлена возможность удалённого вызова через feign без необходимости проверки прав доступа URI #70
ufo: Добавлены два новых способа передачи данных в формате JSON для поля RemoteData (sex:xxx и sex:{key:xxx}) #70
Добавлен новый проект с интерфейсом пользователя, основанный на vue-admin-beautiful: lamp-web-beautiful (предварительная версия) (в данный момент реализовано лишь небольшое количество функций, остальные находятся в процессе активной разработки...)
Поддержка грациозного отключения
Упрощение глобальной конфигурации Jackson в BaseConfig
Передвижение координат JWT конфигурации с прежнего authentication.xxx
на lamp.authentication.xxx
Исправление ошибки в LampMetaObjectHandler, связанной с отсутствием проверки типа при внедрении ID изменяющего пользователя
Оптимизация зависимостей проекта
Улучшение документации, оптимизация конфигурационных файлов, оптимизация SQL-скриптов, оптимизация скриптов запуска проекта
Поддержка проекта lamp-boot в генераторе кода
Изменение названий проектов:
Исходный открытый проект | Новый открытый проект | Исходный платный проект | Новый платный проект | Примечание |
---|---|---|---|---|
zuihou-admin-cloud | lamp-cloud | zuihou-cloud-plus | lamp-cloud-plus | Архитектура микросервисов |
zuihou-admin-boot | lamp-boot | zuihou-boot-plus | lamp-boot-plus | Односерверная версия |
zuihou-commons | lamp-util | zuihou-commons-plus | lamp-util-plus | Инструменты, не связанные с бизнесом |
zuihou-generator | lamp-generator | zuihou-generator-plus | lamp-generator-plus | Генератор кода |
zuihou-ui | lamp-web | zuihou-ui | lamp-web-plus | Управление арендаторами |
zuihou-admin-ui | lamp-web | zuihou-admin-ui | lamp-web-plus | Управление операциями (после версии OnClickListener 3.0: zuihou-ui и zuihou-admin-ui объединены в lamp-web) |
Изменение учетных записей и паролей в конфигурационных файлах на lamp/lamp
Объединение функциональности zuihou-ui и zuihou-admin-ui в lamp-web
Адаптация конфигурационных файлов common.yml, mysql.yml и других для совместимости со Spring Boot 2.3.6
Переименование zuihou-order в lamp-example
Переименование zuihou-msgs в lamp-msg
Отказ от использования lamp-j2cache-starter, переход на lamp-cache-stater
Добавление модуля lamp-annotation в проект lamp-util (ранее zuihou-commons), который выделяет часто используемые аннотации, модели и перечисления, снижая зависимость между модулями
Отказ от использования сервиса jobs, в версии 3.0.1 он будет представлен как отдельный проект. Почему отказались?
Обновление версий:
spring.boot.version > 2.3.6.RELEASE
spring.cloud.version > Hoxton.SR9
spring-cloud-alibaba-dependencies.version > 2.2.3.RELEASE
seata.version > 1.3.0
nacos.version > 1.4.0
spring-boot-admin.version > 2.3.1
knife4j.version -> 2.0.8
springfox.swagger.version -> 2.10.5
swagger-models.version -> 1.5.22
druid.version -> 1.2.3
mysql.version -> 8.0.22
mybatis.version -> 3.5.6
mybatis-spring.version -> 2.0.6
mybatisplus.version -> 3.4.1
transmittable-thread-local.version -> 2.12.0
fastjson.version > 1.2.75
commons-io.version > 2.8.0
lombok.version > 1.18.16
hutool.version > 5.5.2
antisamy.version > 1.5.10
caffeine.version > 2.8.6
maven-source-plugin.version > 3.2.1
maven-javadoc-plugin.version > 3.2.0
Отказ от использования @Autowired для внедрения зависимости, замена на использование конструктора
По умолчанию используется CacheOps для кэширования в SuperCacheServiceImpl
Поддержка Swagger для автоматической конфигурации нескольких пакетов через ;
Внесение исправлений для нескольких проблем, найденных плагинами FindBugs и Alibaba Java Coding Guidelines
Замена метода map в PageParams на extra
Переименование com.github.lamp.log.logback.zuihou-defaults.xml в com.tangyh.basic.log.logback.defaults.xml
Переименование всех классов, начинающихся с My* на Lamp*
Переименование абстрактных классов и утилитных классов в соответствии с требованиями Alibaba Scan и FindBugs
Изменение способа генерации ID по умолчанию на использование HUTOOL
Удаление метода getIsError() из R, добавление нового метода errorMsg для записи исходной ошибки
Отказ от использования классов CodeGenerate, AbstractDistributedLock, QueueConstants
Улучшение логики InjectionCore и ValidatorConfiguration
Увеличение возможностей LampMetaObjectHandler для поддержки установки id, создателя, времени создания и изменения для объектов, не наследующих базового класса
Замена относительного пути в файле pom.xml на полный путь
Переименование всех пакетов и классов, содержащих Msgs, на Msg
Добавление поля salt в таблицу user, изменение алгоритма хеширования пароля на SHA-256
Изменение кодировки ресурсов в таблице c_resource на трехуровневую: служба:функция:операция, например authority:org:add, authority:org:update
Добавление четырёх ролей и пяти аккаунтов для внутреннего арендатора 0000
Поддержка шаблонов для кодировки ресурсов, таких как :*, ;
Переработка логики входа, выхода и очистки кеша
Исправление бага при отправке сообщений всем пользователям
Исправление проблемы закрытия соединений при тестировании источников данных
Объединение таблиц словаря и перезапись передней и задней части кода
Добавление страницы управления онлайн пользователями в lamp-web
Поддержка глобальной конфигурации для раскрывающегося меню в lamp-web
Переименование параметра VUE_APP_IS_MULTI_TENANT в VUE_APP_IS_MULTI_TENANT_TYPE
Поддержка svg значков в компоненте e-icon-picker
Переработка API запроса словаря (/dictionary/codes) для удобства получения данных словаря
Переименование всех файлов с использованием прописных букв на маленькие буквы# 2.7.0 (2020-11-05 23:30)
Исправление проблемы, когда после запуска задачи обновление времени её выполнения не применяется
Исправление влияния стратегии Redis на постоянство конфигураций
Объединение ContextHandlerInterceptor, TenantContextHandlerInterceptor и MdcHandlerInterceptor в HeaderThreadLocalInterceptor для обработки параметров в заголовках HTTP
Поддержка отдельной конфигурации игнорирования tenant и token в TokenContextFilter
Переименование IgnoreTokenProperties в IgnoreProperties и изменение конфигурации ignore.token.url на zuichou.ignore.xxx
Отказ от использования бесполезных юнит-тестов
Замена StringUtils Apache на StrUtil Hutool
Поддержка конфигурирования функций xss-starter через конфигурационные файлы
Поддержка получения текущего контекста потока в аннотации SysLog с помощью #threadLocal.name
Улучшение структуры и комментариев кода для ввода данных
Поддержка игнорирования определённых полей при вводе данных
injectionCore.injection(user, "org", "nation");
Улучшение комментариев кода, оптимизация логики и исправление багов
Зависимости обновлены
knife4j.version -> 2.0.5
jjwt.version -> 0.11.2
hutool.version -> 5.4.2
Добавлена реализация UidGenerator на основе алгоритма Snowflake для генерации уникальных ID. Поддерживает настройку количества байт workerId и стратегий инициализации, что позволяет использовать её в контексте Docker и других виртуальных сред.
Исправлено возникшее при запуске задач планировщика (scheduler) исключение.
Устранено конфликтное поведение после обновления mybatis-plus до версии 3.4.0 с модулем данных прав доступа (data permission interceptor).
Ключи кэша теперь содержат код арендатора, чтобы предотвратить конфликты кэширования между несколькими арендаторами. Fix #23
Исправлено исключение при создании внутреннего администратора при добавлении нового арендатора в режиме COLUMN (сообщение об ошибке указывало на отключенный аккаунт или NPE).
Исправлено исключение при старте шлюза (gateway) в режиме DATASOURCE.
Метод BeanPlusUtil перемещён в zuihou-boot и теперь поддерживает IPage.
Исправлено исключение при попытке входа в zuihou-ui после отключения арендатора.
На странице управления меню zuihou-ui теперь поддерживаются SVG-иконки.
Исправлены проблемы отображения и стилистики многоуровневых маршрутов zuihou-ui (спасибо @Eko за идею решения).
Левое меню zuihou-ui теперь поддерживает отображение SVG-иконок.
Оптимизирована страница 404 zuihou-ui.
Улучшены комментарии в исходном коде, документация, сообщения логов об ошибках и удалены ненужные строки кода.
Порт запуска проекта zuihou-admin-boot изменён на 8760 для удобства вызова из фронтенд-приложения.
Название базы данных арендатора для проекта zuihou-admin-boot изменено на zuihou_boot для отличия от облачной среды (cloud).