1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/jeecg-jeecgboot-vue3

16.03.2025 11:09
GitLife Service Account

контекста локализации и может варьироваться; более распространенным будет использование "веха" или "веховая версия")

Текущая версия: v3.7.0 | 2024-06-17

Журнал обновлений

Официальное выпуск мейджорной версии, версия VUE3 вступает в этап улучшения производительности и устойчивости функциональности. В последующих версиях поддержка vue2 прекращается. Скрипт обновления версий SQL

Основные изменения

  • Поддержка информационной безопасности и национальных технологий, по умолчанию идеально совместимо с базами данных Dameng и Kingbase
  • Улучшение тематического дизайна системы, значительное повышение производительности системы, оптимизация компонентов для удобства использования
  • Major update модуля Online, обновление генератора кода и шаблонов
  • Обновление до последней версии блока отчетов, теперь нет ограничений по параллельному использованию и объему
  • Major update панели управления, переработка дизайна и расстановки для более удобного использования, увеличен доступ к возможностям
  • Обновление системного мониторинга, добавлен мониторинг ошибок и медленных запросов, оптимизация мониторинга Redis
  • Предложение микросервисного решения RocketMQ, поддержка переключения между RabbitMQ и RocketMQ

Мелкие изменения

  • Обновление vite до версии 5, дальнейшее повышение производительности фронтенда- Обновление версии vxe-table, обновление версий зависимостей фронта, закрепление версии tinymce
  • Добавлен декоратор @IgnoreAuth для пропуска проверки токена
  • Улучшение функции помощника AI
  • Усиление JS в Online, добавление умных подсказок
  • Добавление защиты от атак при отправке SMS
  • Обновление kkfileview до версии 4.1.0
  • Обновление версии druid
  • Лучшая совместимость с схемой PG базы данных
  • Создание оберток для нативных диалоговых окон JModel, JForm и т. д.
  • Улучшение внешнего вида страницы детального просмотра формы
  • Оптимизация уровня связывания ролей для удобства использования
  • Большие изменения слишком многочисленны для подробного списка...

Обработка проблем

  • URGENT! Неправильная логика показа/скрытия футера в компоненте BasicDrawer · Проблема #1087
  • Проблема с отображением диалоговых окон "Редактировать" и "Детали" на странице управления пользователями · Проблема #1077
  • При добавлении данных в одну строку таблицы деревьев, вторая строка начинает отображать _loadChild, loading · Проблема #1017
  • Проблема размера страницы при использовании функции ERP в режиме онлайн · Проблема #5922
  • Отсутствие локализации ключей на странице управления меню · Проблема #1090- Проблема с проверкой пустых строк при импорте Excel · Проблема #5840
  • Чёрная тема: неправильное отображение онлайн-форм · Issue #1104
  • Диагностическое сообщение: текущий меню-лист в версии vue2 вызывает аномальную загрузку меню; при клике "ОК" происходит переход на версию vue3 · Issue #5944
  • httpsPort — это свойство, которое вы добавили? Я проверил, и в версии 3.6.0 его нет · Issue #5968
  • В jar-пакете генератора кода содержится конфигурационный файл, что приводит к переопределению spring.profiles.active · Issue #6010
  • Настройка BasicDrawer: showOkBtn="false" не работает после исправления проблемы #1087 · Issue #1103
  • При использовании компонента BasicModal вне полноэкранного режима возникают ошибки получения максимальной высоты, независимо от того, превышает ли высота контента размер экрана · Issue #1117
  • Предложения по улучшению компонента JEditor · Issue #1116
  • JVXETable не запоминает настройки столбцов, они сбрасываются при каждом входе на страницу · Issue #1119
  • Ошибка jimureport-drag:2.0.1: java.lang.IllegalStateException: No TaglibFactory available · Issue #6021- После сборки: меню-табы в черной теме не меняют цвет в соответствии с системой · Issue #1115
  • Проблема с замедлением выбора строки в версии 3.6.3 все еще существует · Issue #1120
  • Исправление build/utils.ts · Issue #1130
  • Добавление defaultValue: [] в rangepicker приводит к ошибкам · Issue #1114
  • При активации события selection-change в BasicTable, используя clickToRowSelect=true, событие триггерится несколько раз при каждом изменении выбора · Issue #1127
  • Проблема с ошибками при установке значений по умолчанию для RangePicker в schemas · Issue #1121
  • Автоматическая онлайн-форма с полем для богатого текстового содержания, кнопка загрузки изображений выглядит внезапно и закрывает панель управления TinyMCE · Issue #1129
  • Прячущийся способ впереди · Issue #1134
  • Горизонтальное верхнее меню, после привязки к онлайн-форме, при обновлении страницы отображается автоматическая онлайн-форма вместо названия меню · Issue #1135
  • В онлайн-форме выпадающий список с поиском, при поиске возникает ошибка SQL, генерируемый SQL имеет лишний "and" · Issue #5978
  • Ошибка асинхронной загрузки словарей · Issue #1108- При использовании генератора кода для создания структуры дерева, при массовом удалении возникают ошибки; эта проблема существует уже очень давно · Issue #6043
  • Проблема кэширования шаблонов AutoPoi и её решение · Issue #5933
  • При импорте Excel файла, содержащего изображения, возникает ошибка, но при экспорте — нет · Issue #6025
  • При импорте основной и вложенной таблицы, если вложенные таблицы имеют тип изображения, возникает ошибка · Issue #6040
  • При событии поиска JSearchSelect, если ввод происходит до завершения слова, может вызвать SQL-инъекцию · Issue #6049
  • Функция фиксированного столбца таблицы после сохранения не работает · Issue #1178
  • [3. 6. 3] В функции управления отделами в разделе «Права доступа» не переведены строки t('') для многоязычия · Issue #1169
  • При синхронизации отделов через DingTalk, самый верхний уровень отдела не отображается; при синхронизации пользователей, информация о принадлежности пользователя к отделу отсутствует · Issue #6017
  • При использовании генератора кода для создания структуры дерева, при массовом удалении возникают ошибки · Issue #6068- При создании кода для онлайн-формы, связывание таблицы и генерация шаблона Vue3 в файле *.data.ts могут вызывать ошибки · Issue #6113
  • При перемещении столбцов онлайн-формы, ID столбца не ограничивается, что приводит к ошибкам при синхронизации базы данных · Issue #6054
  • Дата рождения пользователя в API /sys/user/edit имеет неправильный формат, что приводит к невозможности изменения или добавления пользователя при выборе даты рождения · Issue #1192
  • Логика обнаружения SQL-инъекций влияет на бизнес · Issue #6105
  • После настройки единого входа страница главной страницы показывает сообщение 404, также не рисуется боковая панель · Issue #1102
  • После активации CAS невозможно загрузить маршруты · Issue #1132
  • Улучшение текста в свойстве title компонента выпадающего списка jVxeTable · Issue #1175
  • Проблема с свойством headerCell компонента BasicTable · Issue #1146
  • Настройка ролей и прав доступа · Issue #1151
  • [3.6.3] [Управление ролями] При переходе на страницу управления правами роли появляется предупреждающее сообщение, а также замедленное выполнение операций выбора прав · Issue #1180
  • При работе с редактируемым компонентом BasicTable добавление строки приводит к тому, что первая строка всегда проходит проверку, а вторая — нет · Issue #1165
  • При работе с компонентом BasicTable без пагинации и с нижней частью высота автоматически рассчитывается неверно, не учитывая высоту нижней части · Issue #1137
  • Настройка ролей и прав доступа · Issue #1151
  • При работе с компонентом BasicTable без пагинации и с нижней частью высота автоматически рассчитывается неверно, не учитывая высоту нижней части · Issue #1137
  • При перелистывании страниц компонент BasicTable не возвращает скроллбар в начало · Issue #1188- Неправильное положение строки 合计 при перетаскивании заголовков столбцов · Issue #1196
  • В BasicTable при редактировании таблицы, добавление новой строки, первая строка не проходит проверку, но после добавления второй строки проверка проходит · Issue #1165
  • Конфигурационная таблица для скачивания фронтенд-кода не применяет условия поиска · Issue #6180
  • Добавление конфигурации formatselect в simpleToolbar редактора rich text приводит к тому, что выпадающий список "параграф" не отображается · Issue #6171
  • Версия 3.6.3 drawer открывается с большим количеством предупреждений в vue · Issue #1156
  • Версия 3.6.3 управления ролями при входе на страницу прав ролей появляются предупреждения, а также при выборе прав реакция замедлена и процесс усложнён · Issue #1180
  • После отправки тестового сообщения количество уведомлений не обновляется · Issue #1217
  • В JVxeTable столбец слишком длинный (появляется горизонтальная полоса прокрутки), что делает невозможной сортировку перетаскиванием · Issue #1162
  • В BasicTable при выборе всех записей на текущей странице, выбор всех записей через несколько страниц, а затем отмена выбора всех записей на текущей странице — все выбранные записи отменяются, что противоречит требованиям, так как должны быть выбраны только записи на текущей странице · Issue #1173
  • При входе, версия vue3 не загружает данные словаря, настройка недействительна · Issue #1220com/jeecgboot/jeecgboot-vue3/issues/1220)
  • Проблема переадресации при входе · Issue #1147
  • JPopup модальное окно компонента выбора — когда есть только два поля для поиска, как удалить возможность сворачивания и разворачивания · Issue #1229
  • Проблема прослушивания websocket из-за пульса · Issue #1161
  • В редакторе пользователя "Подразделение" и "Ответственный отдел" взаимодействуют некорректно? · Issue #1222
  • ApiSelect выполняет повторные запросы · Issue #6191
  • При создании нового меню, обязательные поля не помечаются, но появляется предупреждение о необходимости заполнения · Issue #1244
  • О проблемах кэширования в компоненте j-super-query для продвинутого поиска · Issue #6205
  • Внутристрочное редактирование, выбор пользователя не работает, поэтому информация о пользователе не может быть получена · Issue #1242
  • Проблема чтения отрицательных чисел из Excel · Issue #6133
  • При импорте Excel, встроенные изображения не распознаются · Issue #5987
  • При импорте Excel основного и вложенного листов, если вложенный лист имеет тип изображения, то происходит ошибка при импорте · Issue #6040com/jeecgboot/jeecg-boot/issues/6040) - использование AutoPoi при импорте Excel с изображениями приводит к ошибке, но при экспорте проблем нет · Issue #6025
  • проблемы с кэшированием шаблонов AutoPoi · Issue #5933
  • ошибки при работе с онлайн формами SpringBoot3_SAS · Issue #6151
  • проблемы с событиями загрузки формы в API онлайн форм · Issue #6139
  • ошибки при синхронизации базы данных в онлайн формах · Issue #6111
  • проблемы с авторизацией при интеграции панелей мониторинга в меню · Issue #6071
  • проблемы с переходом на страницу при интеграции панелей мониторинга в меню · Issue #6048
  • проблемы с функционалом импорта базы данных в ветке SpringBoot3 · Issue #6146
  • ошибки в серверной части при подтверждении содержания в поисковом окне выпадающего списка в режиме редактирования строки · Issue #5726- конфигурация поля href, переход страницы параметр не действует, блок сборки отчета token передается неправильно, онлайн отчет переход страницы заголовок проблема · Issue #970
  • онлайн дерево изменения родительского узла сохранение ошибки · Issue #5769
  • версия 3.6.1 попытка онлайн форм и отчетов разработки 8 проблем обратная связь · Issue #5681
  • одиночное дерево, увеличение записей базы данных скорость очень медленная · Issue #5876
  • подчинённая таблица выпадающий список содержание, можно ли ограничивать основываясь на поле главной таблицы · Issue #955
  • онлайн форма выпадающий список проверка обязательного заполнения состояние неверное · Issue #1091
  • онлайн форма разработка импорт базы данных таблица информация о таблицах базы данных получить невозможно · Issue #6034
  • Онлайн-функционал, связанный с режимом отображения карточек записей, позволяет отображать максимум 6 других полей · Issue #5954
  • Обратная связь по 8 проблемам при попытках использования Online-форм и отчетов в версии 3.6.1 · Issue #5681- При разработке онлайн-форм с основной таблицей в режиме ERP, если у пользователя нет прав доступа к странице "Разработка онлайн-форм", он не может просматривать данные зависимых таблиц · Issue #6124
  • При обычном синхронизации базы данных PostgreSQL во время работы онлайн-форм происходит потеря данных из исходной таблицы · Issue #6109
  • Может ли усилитель JavaScript-кода получить текущую информацию аутентификации? Например, tenantId · Issue #1176
  • Поддерживает ли компонент выбора даты формат yyyy-MM года и месяца? · Issue #6094
  • При использовании режима карточки для отображения связанных записей, после сохранения и предварительного просмотра, данные отображаются максимум 10 записями (10 блоками), более 10 записей не отображаются · Issue #1228
  • Проблема с работой функции отображения подузлов в пользовательском деревянном контроле онлайн-форм · Issue #6197
  • Баг в модуле связанных записей (более 10 записей не отображаются) · Issue #6206
  • Проблема с порядком отображения вкладок подтаблиц при использовании метода выбора вкладок для шаблонов онлайн-форм · Issue #6211
  • Как получить возможность выбора компонента год-месяц в открытой версии · Issue #1278com/jeecgboot/jeecgboot-vue3/issues/1278)
  • Проблема с переводом SQL запросов для Online-отчетов (вторая страница не переводится) · Issue #6242
  • Проблема с массовым удалением записей при работе с Online-формами · Issue #6307
  • Неправильное расположение JCodeEditor · Issue #1231
  • Проблема с чтением отрицательных чисел из Excel · Issue #6133
  • Проблема с импортом Excel, когда встроенные изображения не распознаются · Issue #5987
  • Проблема с ошибками при импорте главной и зависимой таблицы из Excel, где зависимая таблица имеет тип изображения · Issue #6040
  • Проблема с POI при импорте Excel-файла с изображениями, возникает ошибка, но при экспорте проблем нет · Issue #6025
  • Проблема с кэшированием шаблонов и возможные решения · Issue #5933
  • В микросервисной архитектуре отключение Swagger в продакшне · Issue #6100
  • Компонент JTreeSelect отправляет два запроса · Issue #1283
  • Тестирование функциональности онлайн-форм и неравномерность стилей при переходе к детальной информации после генерации кода · Issue #1235#### springboot3 ветка issue
  • springboot3_sas ветка, постоянство данных Redis не работает, при перезапуске приложения авторизованные пользователи должны заново войти даже если токены ещё действительны · Issue #6027
  • springboot3 ветка проблемы соединения базы данных, часто прерывается · Issue #5936
      1. 3 LoginUser. java недостаёт поля типа String parentId · Issue #6031
      1. 3 springboot3 версия консоль постоянно выводит ошибку: Using deprecated '-debug' fallback for parameter name resolution · Issue #6127
  • внутренние встроенные отчёты в springboot3_sas ветке отклоняются · Issue #6150
  • параметр типа файла вызывает ошибку сериализации автоматического сохранения логов · Issue #6169
  • проблема запуска jeecgboot-sas · Issue #6168
  • spring3 ветка acurator/httptrace выдаёт ошибку 404 · Issue #6130
Последнее сообщение коммита: README.md
16.03.2025 11:03
GitLife Service Account

Текущая версия: v3.6.3 | 2024-03-11

Журнал обновлений

Новая версия платформы с низким уровнем кодирования и интеграцией с ChatGPT, включает функцию диалогового помощника AI, обновление зависимостей для клиентской и серверной части, пять новых шаблонов панелей мониторинга, улучшение производительности входа и главной страницы, возможность более простого создания пользовательских страниц и многое другое.

Основные обновления

  • Введение функции диалогового помощника AI ChatGPT
  • Добавлено пять новых шаблонов панелей мониторинга
  • Улучшена производительность входа и главной страницы
  • Поддержка пользовательского дизайна главной страницы
  • Расширение времени действия ограничений на экспорт данных в Excel
  • Добавлен новый namespace Nacos для SpringBoot3, содержащий конфигурационные файлы для отдельных ветвей SpringBoot3
  • Обновлен Spring-Boot-Starter до последней версии 2.7.18
  • Обновлен Hutool до версии 5.8.25
  • Добавлен новый стартап AI зависимости jeecg-boot-starter-chatgpt
  • [UI] Поддержка цвета в выпадающем списке
  • [UI] Добавлен компонент JPopupDict для работы с онлайн-отчетами, который показывает данные в виде словаря
  • [UI] Внутренние компоненты поддерживают внешние ссылки
  • [UI] Обновлены базовые зависимости package.json для фронтенд-проекта
  • Аннотация без необходимости передачи токена
  • Рассмотреть использование openapi
    • Issue #3659- Исключение логики удаления полей в Vue-коде
  • Исправлено поведение компонента выбора пользователя после генерации кода, когда он становится компонентом выбора отдела
  • Почему при открытии существующей записи происходит проверка «Введите»?
  • #1022 исправлено наличие одиночных апострофов в условных словарях, что вызывало ошибку компиляции JS
  • Проблема совместимости antd4 с Vue3. 4. 0 · issues/977
  • После успешного входа в систему в продакшен-среде страница не найдена, вместо этого отображается сообщение «Добро пожаловать в Nginx!». · Issue #949
  • Обязательное использование протокола HTTP для входа через SSO · Issue #957
  • Баг с использованием AutoPoi для экспорта Excel, где $fe приводил к ошибкам слияния ячеек · Issue #5167
  • Ошибки при обращении к API в ветке Spring3 · Issue #5757
  • Кнопка закрытия окна настроек прав ролей не работает · Issue #979
  • При входе в систему дважды загружается словарь данных, рекомендуется оптимизация для устранения возможных проблем производительности при большом количестве записей · Issue #956
  • Версия 2 онлайн-генератора кода выдает ошибку при использовании категоризированного словарного дерева управления · Проблема №5787com/jeecgboot/jeecg-boot/issues/5787)
    • После выбора чекбокса в списке стиль строки не меняется · Проблема №980
    • Предлагаю заменить жестко закодированное "Главная страница" на динамическое, чтобы избежать ошибок при международной локализации · Проблема №5693
    • В версии Spring 3 MQ очередь выдает ошибку · Проблема №5778
    • При удалении записи кнопка отображается неправильно, метод воспроизведения проблемы предоставлен · Проблема №951
    • Надеемся, что при генерации Vue-кода формы и списка не будут содержать полей логического удаления · Проблема №5755
    • Компонент настройки ширины столбцов таблицы имеет слишком большую ширину · Проблема №988
    • В разделе «Управление ролями» можно вручную удалить роль admin, это должно быть запрещено · Проблема №1007
    • На английском языке форма блока экрана забивает контент label · Проблема №1004
    • Стили popConfirm-подтверждения становятся хаотичными во время процесса ответа с сервера · Проблема №1019
    • Высший уровень запроса, восстановление исторических запросов не показывает имена полей на китайском · Проблема №962 - Конфигурация данных JSON источника href панели мониторинга не работает; кликание не вызывает реакцию · Проблема №1024
    • Ошибочное поведение после пяти неудачных попыток входа: вместо блокировки на 10 минут происходит блокировка на 10 секунд · Проблема №5833
    • Получение SMS-кода сторонним входом завершается ошибкой, повторное получение невозможно · Проблема №1014
    • Дистанционный поиск в компоненте ApiSelect · Проблема №1027
    • В редакторской форме при проверке обязательных полей, если компонент является ApiSelect, при открытии страницы редактирования, даже если поле уже заполнено, будет показываться сообщение о необходимости выбора значения · Проблема №1038
    • Компонент a-progress не отображает прогрессбар при прямом использовании на странице · Проблема №5842
  • Добавлено поле createTime и другие системные поля в исходной форме · Issue #1033
  • При входе в последнюю версию микросервиса возникает ошибка Invalid bound statement (not found): org.jeecg.modules.system.mapper.SysUserTenantMapper.getTenantNoCancel · Issue #5892
  • Проблема с конвертацией таблицы данных, вызванная передачей пустого значения ds="" · Issue #5879- Накопление ошибочных уведомлений при повторных неудачных попытках входа · Issue #1013
  • Добавлено поле createTime и другие системные поля в исходной форме · Issue #1033
  • Накопление ошибочных уведомлений при повторных неудачных попытках входа · Issue #1013
  • Изменение формата адреса компонента в настройках домашней страницы роли в версии 3.6.2 · Issue #1023
  • Невозможно настроить панель мониторинга согласно документации · Issue #5867
  • Проблема с системой ролей на официальном демонстрационном портале · Issue #1064
  • В JVxeInputCell проблема с вводом десятичных чисел, если первое число после запятой ненулевое, а второе — ноль · Issue #1065
  • В BasicTable проблема с обновлением суммы после редактирования ячеек, а также отсутствие выполнения функции расчета суммы при удалении последней строки · Issue #982
  • Отсутствие локализации ключей для функций управления меню и управления ролями · Issue #1072
  • Проблема с поиском удалённых записей в словаре данных, связанная с отсутствием проверки активации многоучастников · Issue #5907- Проблема с обновлением данных в компоненте ApiTreeSelect при изменении параметров · Issue #1054
  • Проблема с интеграцией корпоративного WeChat при синхронизации информации пользователя из-за специальных символов · Issue #5887
  • Проблема с кнопкой "Пакетные действия" и очисткой выбранных записей после пакетного удаления · Issue #1066
  • Невозможно выбрать последнюю версию в чекбоксе · Issue #977
  • При нажатии кнопки выхода из системы, появляется уведомление, которое невозможно закрыть · Issue #976#### Обновление до springboot3
  • В генерируемом коде springboot3 есть проблемы с аннотациями @Schema(value="ключевой столбец"). Это неверно, должно быть @Schema(description="ключевой столбец") · Issue #5742
  • После обновления до springboot3 новые меню не имеют прав доступа · Issue #5741
  • Ошибка при синхронизации базы данных, Unable to build hbm.xml JAXBContext · Issue #5723
  • Можно ли заменить Shiro на Spring Security? Сейчас это основной фреймворк · Issue #2925
  • В application-prod.yml файлах springboot3 раздела redis конфигурация неверна · Issue #5884
  • После настройки oss возникают ошибки · Issue #5925
  • В spring3 микросервисной версии можно использовать только локальный redis · Issue #5902
  • В версии springboot3 swagger не работает · Issue #5908
Последнее сообщение коммита: 【3.6.3版本发布】升级版本号
16.03.2025 11:01
GitLife Service Account

v3.6.2 последняя версия

Последнее сообщение коммита: 连续登录失败,导致失败提醒累加
16.03.2025 11:01
GitLife Service Account

Текущая версия: v3. 6. 2 | 2024-01-08

Журнал обновлений

Основные обновления включают переход на ant-design-vue v4. 0, новые возможности панели управления, а также создание ветки для Spring Boot 3!
Обновление Ant Design 4 и Spring Boot 3 может вызвать проблемы совместимости; рекомендовано ознакомиться с документацией Документация по обновлению Ant Design 4 | Документация по обновлению Spring Boot 3

Содержание обновлений

  • Обновлено ant-design-vue до последней версии 4. 0. 8
  • Введены новые возможности панели управления, использующие метод интеграции с сервером (похоже на модуль отчетов)
  • В версиях 3. 6. 2+ внедрен механизм автоматического обновления базы данных Flyway (поддерживает MySQL 5. 7, MySQL 8)
  • Создана ветка для Spring Boot 3
  • По умолчанию все API теперь имеют аннотацию доступа, что повышает безопасность системы (за счет увеличенной стоимости использования)
  • Обновлен Hutool до новой версии, исправлены уязвимости Hutool
  • Переработана логика синхронизации корпоративного WeChat, чтобы она соответствовала последним интерфейсам WeChat
  • Изменена логика работы с арендными планами
  • Улучшено генератор кода, теперь он поддерживает генерацию продвинутых запросов по умолчанию
  • Улучшен внешний вид просмотра деталей объявлений
  • Обновлен компонент rich text TinyMCE до последней версии 6. 6. 2- Добавлен пример кода UI-компонентов
  • Решены проблемы с использованием аннотаций словарей через несколько сервисов и источников данных
  • При онлайн-генерации формы возникает сообщение об ошибке "Недопустимое имя таблицы, существует риск SQL-инъекции! ---> t_prod$1"
  • При работе с Oracle online-отчетами, при попытке редактирования и сохранения нового отчета возникают ошибки
  • Версия 3.6.0: Отсутствие стилей при просмотре сообщений в разделе "Уведомления" | Задача #834
  • Вопрос относительно Gantt диаграммы в конструкторе панелей управления: Какова должна быть структура данных? | Задача #5490
  • Поддержка Spring Boot 3.x | Задача #5486
  • Проблемы с Feign клиентом и распределенными транзакциями Seata | Задача #5214
  • Ошибки декодирования кода словаря, возможно использование недопустимых символов | Задача #5655
  • Некорректная работа конфигураций Sentinel после изменения учетных данных | Задача #5556
  • Проблемы с интеграцией Shiro и Redis при использовании режима Sentinel | Задача #5569
  • Markdown редактор поддерживает emoji, но MarkdownViewer нет · Issue #918
  • Использование JPopup компонента для конфигурации параметров param приводит к ошибкам · Issue #901com/jeecgboot/jeecgboot-vue3/issues/901)
  • 3.6.1 npm run build завершается с ошибками · Issue #939
  • Удаление второго уведомления при получении кода 500 от API должно приводить к тому, что второе уведомление больше не будет показываться · Issue #936
  • Сгенерированный фронтенд-код имеет чекбоксы и раскрывающиеся списки в одном поле · Issue #947
  • В режиме нескольких источников данных словарь Dict не может указывать на пользовательский источник данных · Issue #4138
  • Распределённый независимый источник данных dictTable · Issue #5643
  • Настройка компонента BasicTable для установки по умолчанию раскрытия не работает · Issue #945
  • [Онлайн форма разработки] Добавление нескольких внешних ключей формы не позволяет сохранять данные #948
  • В последней версии 3.6.1 онлайн форме разработки кнопка выбора одиночной опции не выбирается по умолчанию #927#### Увеличенные права доступа
  • Добавлено требование @RequiresPermissions("online:codeGenerate:projectPath") для директории Online кодогенератора, требуется авторизация для доступа.
  • Добавлено требование @RequiresRoles("admin") для управления задачами по расписанию, доступ имеют только роли admin.
  • Ддобавлено требование @RequiresRoles("admin") для системы белых списков, доступ имеют только роли admin.

Обновление SQL

ALTER TABLE onl_drag_page
MODIFY COLUMN id VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'Основной ключ' FIRST,
MODIFY COLUMN low_app_id VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'Идентификатор приложения' AFTER update_time;

ALTER TABLE onl_drag_page_comp
MODIFY COLUMN page_Id VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'Идентификатор интерфейса' AFTER parent_id;

ALTER TABLE onl_drag_page
ADD COLUMN visits_num INT(11) NULL DEFAULT NULL COMMENT 'Количество просмотров' AFTER update_count;

Обновление записи в таблице onl_drag_comp:


Увеличенные права доступа

  • Добавлено требование @RequiresPermissions("online:codeGenerate:projectPath") для директории Online кодогенератора, требуется авторизация для доступа.
  • Добавлено требование @RequiresRoles("admin") для управления задачами по расписанию, доступ имеют только роли admin.
  • Добавлено требование @RequiresRoles("admin") для системы белых списков, доступ имеют только роли admin.

Обновление SQL

ALTER TABLE onl_drag_page
MODIFY COLUMN id VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'Основной ключ' FIRST,
MODIFY COLUMN low_app_id VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'Идентификатор приложения' AFTER update_time;

ALTER TABLE onl_drag_page_comp
MODIFY COLUMN page_Id VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'Идентификатор интерфейса' AFTER parent_id;

ALTER TABLE onl_drag_page
ADD COLUMN visits_num INT(11) NULL DEFAULT NULL COMMENT 'Количество просмотров' AFTER update_count;

Обновление записи в таблице onl_drag_comp.```sql
UPDATE onl_drag_comp
SET parent_id = '1537764868216684545',
comp_name = 'Пирамидальная схема',
comp_type = 'JPyramidFunnel',
icon = 'icon-park-outline:children-pyramid',
order_num = 100,
type_id = NULL,
comp_config = '{
"dataType": 1,
"url": "http://api.jeecg.com/mock/26/funnel",
"timeOut": 0,
"turnConfig": {
"url": ""
},
"linkageConfig": [],
"dataMapping": [
{
"field": "диапазон",
"mapping": ""
},
{
"field": "значение",
"mapping": ""
}
],
"chartData": [
{
"value": 1000,
"name": "Прямой доступ"
},
{
"value": 200,
"name": "Маркетинг по электронной почте"
},
{
"value": 400,
"name": "Реклама союзов"
},
{
"value": 600,
"name": "Поиск в Интернете"
},
{
"value": 800,
"name": "Клики по рекламе"
}
],
"option": {
"title": {
"text": "Основная пирамидальная схема",
"show": true
},
"grid": {
"bottom": 115
},
"card": {
"title": "",
"extra": "",
"rightHref": "",
"size": "default"
},
"tooltip": {
"trigger": "item",
"formatter": "{a}
{b}: {c}"
},
"legend": {
"orient": "horizontal"
},
"series": [
{
"name": "Пирамида",
"type": "pyramid",
"left": "10%",
"width": "80%",
"sort": "ascending",
"gap": 2,
"label": {
"show": true,
"position": "inside"
},
"labelLine": {
"length": 10,
"lineStyle": {
"width": 1,
"type": "solid"
}
},
"itemStyle": {
"borderColor": "#fff",
"borderWidth": 1
},
"emphasis": {
"label": {
"fontSize": 20
}
}
}
]
}
}',
status = '1',
create_by = NULL,
create_time = '2022-06-16 14:17:31',
update_by = NULL,
update_time = '2022-06-16 14:59:44'
WHERE id = '1537318433201340417';

UPDATE onl_drag_comp 
SET parent_id = '1537764868216684545', 
comp_name = 'Обычная пирамида', 
comp_type = 'JFunnel', 
icon = 'ant-design:funnel-plot-filled', 
order_num = 8, 
type_id = NULL, 
comp_config = '{  
    "dataType": 1,
    "url": "http://api.jeecg.com/mock/26/funnel",
    "timeOut": 0,
    "turnConfig": {
       "url": ""
    },
    "linkageConfig": [],
    "dataMapping": [
       {
          "field": "Диапазон",
          "mapping": ""
       },
       {
          "field": "Значение",
          "mapping": ""
       }
    ],
    "chartData": [
       {
          "value": 1000,
          "name": "Прямой доступ"
       },
       {
          "value": 200,
          "name": "Маркетинг по электронной почте"
       },
       {
          "value": 400,
          "name": "Реклама союзов"
       },
       {
          "value": 600,
          "name": "Поиск в Интернете"
       },
       {
          "value": 800,
          "name": "Клики по рекламе"
       }
    ],
    "option": {
       "title": {
          "text": "Основная пирамида",
          "show": true
       },
       "grid": {
          "bottom": 115
       },
       "card": {
          "title": "",
          "extra": "",
          "rightHref": "",
          "size": "default"
       },
       "tooltip": {
          "trigger": "item",
          "formatter": "{a}<br/>{b}: {c}"
       },
       "legend": {
          "orient": "horizontal"
       },
       "series": [
          {
             "name": "Пирамида",
             "type": "pyramid",
             "left": "10%",
             "width": "80%",
             "sort": "ascending",
             "gap": 2,
             "label": {
                "show": true,
                "position": "inside"
             },
             "labelLine": {
                "length": 10,
                "lineStyle": {
                   "width": 1,
                   "type": "solid"
                }
             },
             "itemStyle": {
                "borderColor": "#fff",
                "borderWidth": 1
             },
             "emphasis": {
                "label": {
                   "fontSize": 20
                }
             }
          }
       ]
    }
}',
status = '1',
create_by = NULL,
create_time = '2022-06-16 14:17:31',
update_by = NULL,
update_time = '2022-06-16 14:59:44'
```

WHERE id = '1537764868216684545';
```sql
INSERT INTO /com/mock/26/funnel",
"timeOut": 0,
"turnConfig": {
"url": ""
},
"linkageConfig": [],
"dataMapping": [
{
"filed": "纬度",
"mapping": ""
},
{
"filed": "数值",
"mapping": ""
}
],
"chartData": [
{
"value": 335,
"name": "直接访问"
},
{
"value": 310,
"name": "邮件营销"
},
{
"value": 234,
"name": "联盟广告"
}
],
"option": {
"title": {
"text": "基础漏斗图",
"show": true
},
"grid": {
"bottom": 115
},
"card": {
"title": "",
"extra": "",
"rightHref": "",
"size": "default"
},
"tooltip": {
"trigger": "item",
"formatter": "{a} <br/>{b} : {c}"
},
"legend": {
"orient": "horizontal"
},
"series": [
{
"name": "Funnel",
"type": "funnel",
"left": "10%",
"width": "80%",
"sort": "descending",
"gap": 2,
"label": {
"show": true,
"position": "inside"
},
"labelLine": {
"length": 10,
"lineStyle": {
"width": 1,
"type": "solid"
}
},
"itemStyle": {
"borderColor": "#fff",
"borderWidth": 1
},
"emphasis": {
"label": {
"fontSize": 20
}
}
}
]
}
', status = '1', create_by = NULL, create_time = '2022-01-06 14:38:04', update_by = 'admin', update_time = '2022-06-17 19:51:26'
WHERE id = '200208';
```

WHERE id = '1537764868216684545';
```json
{
  "/com/mock/26/funnel": {
    "timeOut": 0,
    "turnConfig": {
      "url": ""
    },
    "linkageConfig": [],
    "dataMapping": [
      {
        "filed": "纬度",
        "mapping": ""
      },
      {
        "filed": "数值",
        "mapping": ""
      }
    ],
    "chartData": [
      {
        "value": 335,
        "name": "直接访问"
      },
      {
        "value": 310,
        "name": "邮件营销"
      },
      {
        "value": 234,
        "name": "联盟广告"
      }
    ],
    "option": {
      "title": {
        "text": "基础漏斗图",
        "show": true
      },
      "grid": {
        "bottom": 115
      },
      "card": {
        "title": "",
        "extra": "",
        "rightHref": "",
        "size": "default"
      },
      "tooltip": {
        "trigger": "item",
        "formatter": "{a} <br/>{b} : {c}"
      },
      "legend": {
        "orient": "horizontal"
      },
      "series": [
        {
          "name": "Funnel",
          "type": "funnel",
          "left": "10%",
          "width": "80%",
          "sort": "descending",
          "gap": 2,
          "label": {
            "show": true,
            "position": "inside"
          },
          "labelLine": {
            "length": 10,
            "lineStyle": {
              "width": 1,
              "type": "solid"
            }
          },
          "itemStyle": {
            "borderColor": "#fff",
            "borderWidth": 1
          },
          "emphasis": {
            "label": {
              "fontSize": 20
            }
          }
        }
      ]
    }
  }
}
', status = '1', create_by = NULL, create_time = '2022-01-06 14:38:04', update_by = 'admin', update_time = '2022-06-17 19:51:26'
WHERE id = '200208';
```  INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) VALUES ('1698650926200352770', '1473927410093187073', 'SQL Парсинг Данных', NULL, NULL, 0, NULL, NULL, 2, 'drag:analysis:sql', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'jeecg', '2023-09-04 18:55:15', 'jeecg', '2023-09-05 20:36:51', 0, 0, '1', 0);INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) VALUES ('1699038961937113090', '1473927410093187073', 'Добавление Источника Данных', NULL, NULL, 0, NULL, NULL, 2, 'drag:datasource:saveOrUpdate', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'jeecg', '2023-09-05 20:37:10', NULL, NULL, 0, 0, '1', 0);
 INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) VALUES ('1699039098474291201', '1473927410093187073', 'Удаление Источника Данных', NULL, NULL, 0, NULL, NULL, 2, 'drag:datasource:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'jeecg', '2023-09-05 20:37:42', NULL, NULL, 0, 0, '1', 0);
 INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) VALUES ('1699039192154071041', '1473927410093187073', 'Пакетное Удаление Источников Данных', NULL, NULL, 0, NULL, NULL, 2, 'drag:datasource:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'jeecg', '2023-09-05 20:38:05', NULL, NULL, 0, 0, '1', 0);INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) VALUES ('1701475606988812289', '1473927410093187073', 'Подключение к источнику данных', NULL, NULL, 0, NULL, NULL, 2, 'drag:datasource:testConnection', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'jeecg', '2023-09-12 13:59:31', NULL, NULL, 0, 0, '1', 0);

INSERT INTO onl_drag_comp (id, parent_id, comp_name, comp_type, icon, order_num, type_id, comp_config, status, create_by, create_time, update_by, update_time) VALUES ('72811631742776660', '100', 'Поиск условий', 'JFilterQuery', 'ant-design:filter-filled', 100, NULL, '{\r\n	"w": 12,\r\n	"h": 12,\r\n	"dataType": 1,\r\n	"url": "",\r\n	"timeOut": 0,\r\n	"chartData": []\r\n}', '1', 'jeecg', '2022-09-09 15:21:08', 'jeecg', '2022-09-09 15:41:56');

UPDATE onl_drag_comp SET comp_config = '{\r\n  "dataType": 1,\r\n  "background": "#ffffff",\r\n  "url": "http://api.jeecg.com/mock/33/chart",\r\n  "timeOut": 0,\r\n  "turnConfig": {\r\n    "url": ""\r\n  },\r\n  "linkageConfig": [],\r\n  "dataMapping": [],\r\n	"customOption": "option = {xAxis: {type: \'category\', data: [\'Пн\', \'Вт\', \'Ср\', \'Чт\', \'Пт\', \'Сб\', \'Вс\']}, yAxis: {type: \'value\'}, series: [{data: [150, 230, 224, 218, 135, 147, 260], type: \'line\'}]}; return option;",\r\n  "chartData": [\r\n    {\r\n      "value": 0,\r\n      "name": ""\r\n    }\r\n  ]\r\n}' WHERE id = '200400';

UPDATE onl_drag_comp SET parent_id = '100', comp_name = 'Текст', comp_type = 'JText', icon = 'ant-design:font-colors-outlined', order_num = 14, type_id = NULL, comp_config = '{\n  "w": 8,\n  "h": 12,\n  "dataType": 1,\n  "url": "http://api.jeecg.com/",\n  "timeOut": 0,\n  "chartData": []\n}' WHERE id = 'some_id';```sql
UPDATE onl_drag_page_comp SET parent_id = NULL, page_id = NULL, comp_id = NULL, component = 'JBar', config = '{"id": "116606b2-4620-42d6-9202-36f39288a8d5","component": "JBar","config": {"formType": "design","dataType": 4,"timeOut": 0,"option": {"grid": {"show": false,"top": 90,"bottom": 115},"card": {"title": "", "extra": "", "rightHref": "", "size": "default"},"title": {"text": "每日新增记录", "show": true, "textStyle": {"color": "#464646"}},"tooltip": {"trigger": "axis","axisPointer": {"type": "shadow","label": {"show": true,"backgroundColor": "#333"}}}},"size": {"height": 500},"dataNum": "", "chart": {"category": "Bar","subclass": "JBar"}}}' WHERE id = '100110';
```

```json
{
  "id": "100110",
  "parent_id": null,
  "page_id": null,
  "comp_id": null,
  "component": "JBar",
  "config": {
    "id": "116606b2-4620-42d6-9202-36f39288a8d5",
    "component": "JBar",
    "config": {
      "formType": "design",
      "dataType": 4,
      "timeOut": 0,
      "option": {
        "grid": {
          "show": false,
          "top": 90,
          "bottom": 115
        },
        "card": {
          "title": "",
          "extra": "",
          "rightHref": "",
          "size": "default"
        },
        "title": {
          "text": "每日新增记录",
          "show": true,
          "textStyle": {
            "color": "#464646"
          }
        },
        "tooltip": {
          "trigger": "axis",
          "axisPointer": {
            "type": "shadow",
            "label": {
              "show": true,
              "backgroundColor": "#333"
            }
          }
        },
        "yAxis": {
          "splitLine": {
            "interval": 2
          },
          "lineStyle": {
            "color": "#f3f3f3"
          }
        },
        "series": [
          {
            "data": [],
            "type": "bar",
            "barWidth": 40,
            "itemStyle": {
              "color": "#64b5f6",
              "borderRadius": 0
            }
          }
        ]
      },
      "size": {
        "height": 500
      },
      "dataNum": "",
      "chart": {
        "category": "Bar",
        "subclass": "JBar"
      }
    }
  }
}
```

```sql
UPDATE onl_drag_page SET nav = '/com/mock/42/nav', time_out = 0, turn_config = '{"url": ""}', background = '#4A90E2', chart_data = 'JeecgBoot панель дизайна', option = {'card': {'title': '', 'extra': '', 'right_href': '', 'size': 'default'}, 'body': {'text': '', 'color': '#4A90E2', 'font_weight': 'bold', 'margin_left': 0, 'margin_top': 0}}} WHERE id = '100110';
```

```json
{
  "nav": "/com/mock/42/nav",
  "time_out": 0,
  "turn_config": {
    "url": ""
  },
  "background": "#4A90E2",
  "chart_data": "JeecgBoot панель дизайна",
  "option": {
    "card": {
      "title": "",
      "extra": "",
      "right_href": "",
      "size": "default"
    },
    "body": {
      "text": "",
      "color": "#4A90E2",
      "font_weight": "bold",
      "margin_left": 0,
      "margin_top": 0
    }
  }
}
``````json
{
    "isGroup": false,
    "typeFields": [],
    "nameFields": [
        {
            "fieldName": "create_time",
            "fieldTxt": "Дата создания",
            "fieldType": "date",
            "widgetType": "date",
            "customDateType": "3"
        }
    ],
    "valueFields": [
        {
            "fieldName": "record_count",
            "fieldTxt": "Количество записей",
            "fieldType": "count",
            "widgetType": "text"
        }
    ],
    "assistYFields": [],
    "assistTypeFields": [],
    "calcFields": [],
    "tableName": "test_1031",
    "sorts": {
        "name": "",
        "type": ""
    },
    "filter": {
        "queryField": "create_time",
        "queryRange": "месяц",
        "customTime": null,
        "conditionMode": "и",
        "conditionFields": []
    },
    "analysis": {
        "isRawData": true,
        "showMode": 1,
        "showData": 1,
        "isCompare": false,
        "compareType": "",
        "trendType": "1",
        "compareValue": null,
        "showFields": []
    },
    "formId": "test_1031",
    "formName": "test1031",
    "compStyleConfig": {
        "summary": {
            "showY": true,
            "showTotal": true
        }
    }
}
```sql
UPDATE `your_table_name` SET config = '{"showTotal": {"show": false,"showField": "","totalType": "sum","showName": "Общее значение"},"showUnit": {"numberLevel": "","decimal": 0,"position": "suffix","unit": ""},"assist": {"showUnit": {"numberLevel": "","decimal": 0,"position": "suffix","unit": ""},"summary": {"showY": true,"showField": "","totalType": "sum","showName": "Общее значение"}},"headerFreeze": true,"unilineShow": true,"columnFreeze": true,"lineFreeze": true}', create_by = 'jeecg', create_time = '2022-12-16 19:56:21', update_by = NULL, update_time = NULL WHERE id = '763699587304030208';
``````sql
UPDATE sys_permission SET parent_id = '1455100420297859074', name = 'Панель монитора дизайнера', url = '/report/drag', component = '{{ window._CONFIG["domianURL"] }}/drag/list?token=${token}&tenantId=${tenantId}', is_route = 0, component_name = NULL, redirect = NULL, menu_type = 1, perms = NULL, perms_type = '0', sort_no = 3.00, always_show = 0, icon = '', is_leaf = 0, keep_alive = 0, hidden = 0, hide_tab = 0, description = NULL, create_by = 'admin', create_time = '2021-12-23 16:04:13', update_by = 'admin', update_time = '2023-12-31 13:13:04', del_flag = 0, rule_flag = 0, status = NULL, internal_or_external = 1 WHERE id = '1473927410093187073';
DELETE FROM sys_permission WHERE id = '1473955758466981890';
```-- Добавление прав доступа
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`) VALUES ('1546736974756032513', '1455101470794850305', 'Выбор пути генерации кода', NULL, NULL, 0, NULL, NULL, 2, 'online:codeGenerate:projectPath', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-07-12 14:03:26', NULL, NULL, 0, 0, '1', 0);

```
## Изменено
* исправлено проблему vue3 #939 npm run build не работает @hoperunChen в https://github.com/jeecgboot/jeecg-boot/pull/5706
* исправлены проблемы #5658 перекрытие флажков выбора и кнопки раскрытия дерева @hoperunChen в https://github.com/jeecgboot/jeecg-boot/pull/5690
* исправлена проблема QQYUN-7583 Vue3 стиль формы страницы с множественным выбором отображается как выпадающий список @hoperunChen в https://github.com/jeecgboot/jeecg-boot/pull/5691
* исправлена проблема QQYUN-7527 vue3 код генерации по умолчанию включает продвинутый поиск @hoperunChen в https://github.com/jeecgboot/jeecg-boot/pull/5692
```**Полный список изменений**: https://github.com/jeecgboot/jeecg-boot/compare/v3.6.1...v3.6.2
16.03.2025 10:55
GitLife Service Account

Текущая версия: v3.6.1 | 2023-12-11

Журнал обновлений

Улучшение низкого кодирования в Online, усиление поддержки JavaScript с подсказками кода, добавление стилей "один ко многим" встроенным и табличным, новое руководство пользователя для новых пользователей в Online, совместимость с базами данных KingbaseES и Dameng, и многое другое.

Журнал обновлений Online

  • Новое руководство пользователя для новых пользователей
  • Добавлен стиль "один ко многим" встроенный
  • Добавлен стиль "один ко многому" табличный
  • Усиление поддержки JavaScript с подсказками API
  • Поддержка запросов для деревьев списков
  • Предотвращение риска SQL-инъекций, изменения правил параметров компонента поиска выпадающего списка (поддержка белых списков словарей таблиц, усиление безопасности от SQL-инъекций)
  • Совместимость с базами данных KingbaseES и Dameng
  • [Безопасность] Добавлено аннотация прав доступа для чувствительных интерфейсов Online
  • [Исправление серьёзной ошибки] Проблема удаления полей другими вкладками при удалении поля в Online
  • При использовании Online для разработки, метка перед полем поиска обрезается · Проблема #5387
  • При создании нового поля в форме Online, подсказки проверки информации поля скрываются · Проблема #5407- В конфигурациях страницы в режиме онлайн, установка длины метки в продвинутых настройках не работает в списке и детальном представлении · Проблема #5400
  • Как поддерживать несколько условий для кнопки, созданной через JavaScript? · Проблема #769
  • После включения прокси-сервера, возникают ошибки при обновлении интерфейса · Проблема #5431
  • При создании формы в режиме онлайн, отсутствие пустых строк, но ошибки данных пустых строк · Проблема #5487
  • Ошибка модуля "Связанные записи" в форме Online при работе с данными Oracle · Проблема #5321
  • При создании формы Online, после создания и удаления поля, невозможно удалить соответствующее поле в свойствах страницы, проверке полей и внешних ключах · Проблема #813
  • При создании формы Online, удаление лишнего поля и сохранение завершаются ошибкой · Проблема #815
  • Автоматическое экспортирование null в форме Online · Проблема #5529
  • При работе с темой ERP в Online, случайное удаление записей из связанных таблиц · Проблема #5591
  • При настройке формы Online как одиночной (дерева), поиск не работает · Проблема #888com/jeecgboot/jeecgboot-vue3/issues/888)- 【QQYUN-6685】Добавлены несколько выражений для кнопки link
  • 【issues/5371】Добавлена возможность множественного выбора в попапе субтаблицы one-to-many
  • 【QQYUN-6647】Настройка длины метки label в продвинутых настройках страницы не работает в списке и детальном представлении
  • 【QQYUN-6594】При использовании онлайн-разработки Online возникает проблема с отрезанием метки перед полем поиска
  • 【QQYUN-6588】Кодовое предупреждение: лишние пустые столбцы в субтаблицах
  • 【QQYUN-4263】Поддержка выбора и экспорта через страницы при работе с Online-отчетами
  • 【issues/5371】Добавлена возможность множественного выбора в попапе субтаблицы one-to-many
  • 【QQYUN-6808】Замедление работы при добавлении большого количества полей в режиме онлайн-редактирования
  • При экспорте типов времени в Online-отчетах время содержит T#### Другие записи обновлений
  • Обновлено зависимое автономное программное обеспечение autopoi до версии 1.4.7
  • Обновлено зависимое программное обеспечение jimureport до версии 1.6.6
  • В Online форме добавлен новый атрибут удаления поля в базовых данных, который не синхронизируется с удалением свойства формы · Issue #5505
  • Проблема сохранения скрытых столбцов таблицы после перехода между маршрутами · Issue #825
  • Проблема деактивации кнопки "Больше действий" в компоненте BasicTable · Issue #839
  • При активации возможности множественного выбора в JImageUpload, список успешных загрузок содержит только имя первого файла · Issue #846
  • Проблема использования генератора кода внутри кода · Issue #833
  • Версия 3.6.0 (Дата выпуска: 2023-10-23) проблемы с отображением флажков в деревянной таблице · Issue #831
  • При закрытии окна выбора отдела в JSelectDept, выбранные значения пропадают · Issue #863
  • Проблема отображения должностей в управлении пользователями · Issue #855
  • Проблема срабатывания проверки правил при первом использовании операции копирования и вставки в BasicForm · Issue #5579- Начальная настройка режима mode в компоненте JCodeEditor не выполнена · Issue #869
  • Проблема дизайна компонента просмотра Markdown MarkdownViewer · Issue #872
  • Проблема скрытия кнопки выбора всех hideSelectAll: true в компоненте BasicTable · Issue #5595
  • Ошибки в конфигурационном файле tsconfig.json · Issue #5564
  • Когда таблица пустая и отображается строка с общими данными, при закрытии вкладки BasicTable выдается ошибка · Issue #894
  • В компоненте JSearchSelect невозможно применять классы или стили к меткам · Issue #897
  • Проект jeecg-uniapp-master не может быть интегрирован с OAuth2 входом в корпоративный WeChat · Issue #5533
  • При экспорте данных одной записи из связанных записей Poi выводится большое количество сообщений об ошибках · Issue #5528
  • При экспорте таблицы, если указано число как текстовый формат, после экспорта данные остаются в виде текста и не могут использоваться для вычислений · Issue #5538
  • В системном меню, при редактировании содержимого, поле ввода не центрируется · Issue #790
  • После обновления до версии 3.6.0 компоненты страницы располагаются некорректно · Issue #5514- Ошибка при входе · Issue #5516
  • Ошибка при входе Cannot destructure property "userinfo" of (intermediate value) as it is undefined · Issue #812
  • В useCustomSelection.tsx проблема с синхронизацией выбранного контента · Issue #828
  • При управлении пользователями, при создании нового пользователя, методы получения должностей и отделов вызываются несколько раз, что приводит к снижению производительности · Issue #788
  • В режиме разработки, после изменения кода модальное окно зависает, а попытка редактирования новой информации сразу приводит к зависанию #860

Обновление SQL

Для перехода от версии 3.6.0 к 3.6.1 требуется выполнение следующего SQL-скрипта. После его выполнения необходимо вручную назначить кнопкам управления правами доступа для роли admin (аналитический SQL, синхронизация базы данных, импорт таблиц).```sql
-- Добавление стилей one-to-many и Tab
INSERT INTO sys_permission (id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
VALUES ('1691031996d593131521', '1455100420297859074', 'AUTO онлайн один ко многим', '/online/cgformInnerTableList/:id', 'super/online/cgform/auto/innerTable/OnlCgformInnerTableList', 1, '', NULL, 1, NULL, '0', 1.00, 0, NULL, 1, 0, 1, 0, NULL, 'admin', '2023-08-14 18:20:20', 'admin', '2023-08-14 18:46:18', 0, 0, NULL, 0);
INSERT INTO sys_permission (id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
VALUES ('1691031996d5931315213', '1455100420297859074', 'AUTO онлайн Tab стиль', '/online/cgformTabList/:id', 'super/online/cgform/auto/tab/OnlCgformTabList', 1, '', NULL, 1, NULL, '0', 1.00, 0, NULL, 1, 0, 1, 0, NULL, 'admin', '2023-08-14 18:20:20', 'admin', '2023-08-14 18:46:18', 0, 0, NULL, 0);
-- [Безопасность] online чувствительные интерфейсы, добавление прав доступа (интерфейсы анализа SQL, синхронизации баз данных, импорта таблиц)
INSERT INTO sys_permission (id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
VALUES ('1699374704168534017', '1460888189937176577', 'Анализ SQL', NULL, NULL, 0, NULL, NULL, 2, 'online:report:parseSql', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2023-09-06 18:51:17', NULL, NULL, 0, 0, '1', 0);

INSERT INTO sys_permission (id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) VALUES ('1699374509749960705', '1455101470794850305', 'Request table name from database', NULL, NULL, 0, NULL, NULL, 2, 'online:form:queryTables', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2023-09-06 18:50:31', NULL, NULL, 0, 0, '1', 0);

INSERT INTO sys_permission (id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) VALUES ('1699374269152100354', '1455101470794850305', 'Database synchronization', NULL, NULL, 0, NULL, NULL, 2, 'online:form:syncDb', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2023-09-06 18:49:33', NULL, NULL, 0, 0, '1', 0);

UPDATE sys_permission SET is_leaf = 0 WHERE id IN ('1460888189937176577', '1455101470794850305');
```

   #### Новые возможности
   - Улучшенные подсказки в JavaScript
     ![Пример](https://oscimg.oschina.net/oscnet/up-52aa3d75cba328e98c45abc34b804dcb85d.png)
   - Гайд для новичков
     ![Пример](https://oscimg.oschina.net/oscnet/up-7abdaf1b68738ea0828fa3a67b8530dabc3.png)
```
Последнее сообщение коммита: 【issues/860】生成的一对多代码,热更新之后点击新增卡死
16.03.2025 10:52
GitLife Service Account

Журнал обновлений

Это крупное обновление версии, в котором произошли значительные изменения. Например, полностью переработана логика арендатора, интеграция с третьими сторонами (Dingdun, корпоративный WeChat), отношения между пользователями и должностями, а также значительно улучшена производительность системных уведомлений; безопасность: добавлен список белых списков словарей, добавлен низкокодовый режим разработки (поддерживается отключение возможности онлайн-разработки) и многое другое.

Рекомендации по промежуточному обновлению

Журнал крупных обновлений- Крупное обновление логики арендатора (приглашение к присоединению к арендатору, по умолчанию пакет услуг)

Последнее сообщение коммита: 依赖下载有问题修复
16.03.2025 10:50
GitLife Service Account

Не удалось определить язык исходного текста, но если предположить, что исходный текст был на китайском языке, то его перевод будет следующим:

"创建最后一个版本的备份。"

Перевод на русский:

"Создайте бэкап последней версии."

Последнее сообщение коммита: 删除无用文件
16.03.2025 10:50
GitLife Service Account

улучшением производительности. Выпущена версия 3.5.5 с существенным улучшением производительности.Выпущена версия 3.5.5 с substantial улучшением производительности. Выпущена версия 3.5.5 с существенным улучшением производительности.Выпущена версия 3.5.5 с substantial улучшением производительности. Выпущена версия 3.5.5 с существенным улучшением производительности.Выпущена версия 3.5.5 с substantial улучшением производительности. Выпущена версия 3.5.5 с существенным улучшением производительности.Выпущена версия 3.5.5 с substantial улучшением производительности. Выпущена версия 3.5.5 с существенным улучшением производительности.

Текущая версия: v3.5.5 | 2023-09-22

Журнал обновлений

В этом обновлении были проведены значительные оптимизации производительности, направленные на решение проблем с первой страницой и временем сборки. После оптимизации время загрузки первой страницы сократилось до 10 секунд, а время сборки — вдвое! Основные изменения включают переход на Vite 4 и Vue 3.3, замена Windi CSS на UnoCSS.

Обработка проблем

  • [Оптимизация производительности] Ускорение первой страницы до 10 секунд & сокращение времени сборки вдвое, обновление до Vite 4 и Vue 3.3
  • [Оптимизация производительности] Замена Windi CSS на UnoCSS, что позволило улучшить производительность Vite
  • [Оптимизация производительности] Изменение части кода для условной загрузки, что позволило уменьшить размер загружаемых данных для чата и формы
  • [Оптимизация производительности] Оптимизация сборки путём разделения большого файла index
  • [Оптимизация производительности] Обновление модуля @jeecg/online, поддерживающего стиль ERP и меньший объём, а также исправление проблемы с интеграцией аватара чата
  • [Оптимизация производительности] Обновление панели мониторинга для решения проблемы зависимости от сторонних библиотек
  • [Новая функциональность] Добавлено поддержка Online формы с возможностью создания нескольких записей, добавлены стили ERP, встроенные и TAB
  • [Исправление уязвимости] Обновление модуля отчётов JEECG до версии 1.62 для решения серьезной уязвимости SQL
  • [Исправление уязвимости] Переопределение логики словаря таблиц для глубокой защиты от SQL-инъекций
  • [Исправление уязвимости] Открытие аннотаций прав доступа для решения проблемы повышения уровня доступа в JEECG, позволяющей получить права администратора #5270
  • [Исправление уязвимости] Брешь времени SQL-инъекции #5269
  • [Исправление уязвимости] Исправление уязвимости внедрения шаблонов Freemarker в панелях мониторинга
  • [Исправление уязвимости] Решение высокоприоритетной угрозы Apache Shiro CVE-2023-34478
  • Удален плагин Vite PWA
  • Исправлены проблемы совместимости стилей после замены Windi CSS UnoCSS
  • Устранены проблемы медленной работы словаря в продакшен-среде
  • Устранены проблемы циклической зависимости JVxeTable
  • Исправлены проблемы бесконечного цикла при установке
  • Обновлены зависимости mybatis-plus, dynamic-datasource-spring-boot-starter, commons-fileupload
  • [Issues/5368] Обновлены SQL-запросы для обеспечения прав выбора арендатора
  • [Issues/638] Реализовано взаимодействие прокрутки между списками и таблицами суммирования
  • [Issues/674] Возможность использования пользователем регулярных выражений при конфигурации проверки формы
  • [Удаленный интерфейс восстановлен] При использовании многоконтрактного режима возникшая ошибка при нажатии кнопки смены отдела #5298
  • Проблема 404 при делиться ссылкой панели мониторинга #5046- Ошибка 404 при редактировании панели мониторинга #5075
  • Неправильное указание узлов как листовых при массовом удалении отделов #5132
  • Нарушение отображения страницы конфигурации источника данных в функции дизайна панели мониторинга #595
  • После входа невозможно вернуться на исходную страницу #669
  • Проблема сброса компонента выпадающего списка #651
  • Проблема разработки API источника данных панели мониторинга #642
  • Ошибки примерного кода, требуются исправления #665
  • В Vue3 невозможно использовать пользовательское регулярное выражение при конфигурировании правил проверки формы онлайн #674
  • Настройка span в форме поиска таблицы не работает #641
  • В useSelectBiz справа удаление выбранных записей не работает, что приводит к аварийному завершению системы при выборе данных на второй странице #657
  • Почему компонент JPopup в Form не вызывает событие onChange #5213
  • Проблема обновления данных в Popup окне поля подчинённой таблицы #675- При втором клике на сообщение, детали сообщения перемещаются под список сообщений #656
  • Ошибка метода getDictItems в классе инструмента словаря JDictSelectUtil #668
  • В проекте Vue3 использование Windi в main.js влияет на стиль изображений, созданных html2canvas #640
  • После генерации кода для разработки Online формы возникают ошибки при скачивании локально #5237
  • Недостаточная загрузка изображений при предварительном просмотре печати #1863
  • Ошибочный комментарий к полю базы данных, таблица отделов #5242
  • Как изменить ширину параметра #1631
  • Возвращаемый pageNo встроенного интерфейса запроса пагинации не соответствует действительному номеру страницы #1578
  • Предложение улучшить событие blur JVxeInputCell в JVxeTable #636
  • При наличии значений в компоненте JSelectUser во время редактирования браузер зависает #687
  • Изменение попап окна основной таблицы после модификации增强了JS无法获取弹窗的值完成填值规则赋值 #5010
  • Обход слепого SQL-внедрения #5269- Проблема с зависанием вкладок при использовании setSelectedRowKeys с выбранными элементами вне текущей страницы #5263
  • Ошибка отображения конфигурации панели мониторинга после добавления в меню #5159
  • Неправильное расположение стилей панели дизайнерской среды при добавлении в меню, но нет проблем при просмотре #654
  • Проблема зависания при выборе пользователя через JVxeTypes.userSelect #5307
  • Невозможность заполнения выбранного значения в онлайн форме через popup окно #5288
  • Ошибка сборки jeecgboot-vue3@3.5.3 #728
  • Обход слепого SQL-внедрения #5296
  • Проблема со слабой случайностью в методе RandImageUtil класса org.jeecg.modules.system.util на строке 109 (CWE-338) #5295
  • Логика учета неудачных попыток входа имеет уязвимости, а также сообщения об ошибках и время ошибок не согласованы #5255
  • Windi влияет на стиль изображений, созданных html2canvas
  • Адаптация стиля меню с вертикальными ползунками
  • [issues/5327] При returnUrl=false в компоненте Upload передается '[object Object]'
  • [issues/5357] Проблема с выбором строки при клике
  • Обработка ошибок при поиске в выпадающем списке- Невозможность установки значений для столбцов типа JVxeTypes.hidden при добавлении новой строки в JVxeTable
  • [issues/694] Проблема с перенаправлением на главную страницу при получении ответа Yöntem 404
  • [QQYUN-6424] После скрытия поля в таблице, перемещение его порядка приводит к появлению скрытых полей
  • [issues/5305] Проблема с поиском через JVxeTypes.select
  • Устранение проблемы красных ошибок TypeScript после понижения до версии 4 (Issue #738)
  • [issues/5288] Невозможность заполнения выбранного значения в popup окне
  • [issues/726] Проблема с выбором всех строк в компоненте JPopup
  • Устранение проблемы доступа к Docker образу из-за панели мониторинга, после сборки и развертывания #731
  • Проблема сборки из-за различий в регистре пути на Linux #728
  • [QQYUN-6283] Нажмите на таблицу для очистки, selectedRowKeys в rowSelect не сбрасывается
  • [issues-641] Настройка span конфигурации формы поиска таблицы не работает
  • [issues/668] Ошибка метода getDictItems в util-классе данных JDictSelectUtil
  • Проблемы с пакетной сборкой и запуском образа jeecg-cloud-nacos #5379
  • Проблема с доступом к docker-образу после сборки и развертывании · Issue #731
  • Проблема с выбором всех записей в таблице внутри компонента JPopup · Issue #726
  • Проблема с выбранными данными в компоненте JPopup при использовании режима component · Issue #627- Появление ошибок после обновления и отсутствие подсказок кода · Issue #738
  • Проблема с поиском при type: JVxeTypes.select · Issue #5305
  • Проблема с автоматическим появлением скрытых колонок при перемещении · Issue #740
  • Проблема с отображением значков helpMessage в label компонента формы · Issue #744
  • Проблема с компонентом JPopup · Issue #5357
  • Замедленный вызов Persistent.getLocal в рабочей среде · Issue #732
  • Проблема с возвратом значения поля при returnUrl: false в компоненте JUpload · Issue #5327
  • Отсутствие прав доступа к плану подписки · Issue #5368
  • Проблема с компонентом JPopup · Issue #5357
  • Проблема с отображением результата в компоненте MarkDown · Issue #729
  • Ошибка получения группировок из набора данных во время дизайна панели мониторинга · Issue #5416
  • Проблема, приводящая к ошибкам на всех страницах · Issue #770
  • Ошибки при запуске проекта после установки · Issue #747
16.03.2025 10:46
GitLife Service Account

Текущая версия: v3.5.3 | 2023-07-24

Журнал обновлений

Обновление темы Online формы и отчетов, основное исправление проблем серии online, а также исправление некоторых багов платформы, улучшение производительности и закрытие уязвимостей. Последнее обновление функции Online было в версии 3.4.4 (2022-12-12), что довольно долго. Все промежуточные версии можно обновлять плавно. При возникновении проблем обратитесь за срочной помощью.

Обновление функции Online

Перевод:

Последнее сообщение коммита: 3.5.3 版本发布,升级Online 前端依赖(修复新版发现的小问题)
16.03.2025 10:44
GitLife Service Account

Дата: 2023-06-06

Журнал: Версия 3.5.1 — последняя версия, в которой исправлены некоторые ошибки

Последнее сообщение коммита: 【issues/556】JImageUpload组件value赋初始值没显示图片
16.03.2025 10:43
GitLife Service Account

Журнал обновлений

Мелкие обновления, исправление известных ошибок, рефакторинг документации и исправление уязвимостей Spring.#### Обработка проблем

  • Невидимость данных компонента JAreaLinkage для провинций, городов и районов #382
  • Добавлено уведомление о публикациях с указанием пользователя, которое имеет значение undefined #289
  • Ошибка при сохранении конфигурации главной страницы в управлении правами роли, связанная с отсутствием конструктора без параметров в классе SysRoleIndex #4594
  • Поле с подчеркиванием в столбце формы дерева приводит к ошибкам в SQL-запросах файла mapper.xml #4649
  • Проблема с выбором времени в условиях генерируемого кода #417
  • Дублирование одинаковых данных при редактировании арендатора #4747
  • Отсутствие уникального ограничения для таблицы sys_user_tenant может привести к повторному добавлению по умолчанию арендатора #4698
  • Проблема с выпадающим списком для поиска #286
  • В Spring Cache используется ключ "keys" для очистки кэша #4358
  • Исправление регрессии ошибки, возникшей после внесения изменений в JPopupOnlReportModal.vue #426
  • Утрата информации о департаменте после выбора всех его элементов и нажатия кнопки подтверждения #4646com/jeecgboot/jeecg-boot/issues/4646 "#4646")
  • Проблема логики при удалении пользователя из списка справа после выбора его из списка слева в jeecgboot-vue3 #424
  • Предупреждение браузера при использовании компонента JDictSelectTag: Invalid prop: тип проверки не прошёл для свойства "onUpdate:value". Ожидаемый тип — функция, получено массив #4507
  • Не работает выбор всех элементов в дереве департаментов #394
  • Проблема с решением проблемы аутентификации без токена между микрослужбами #4683
  • При использовании онлайн-форм для разработки, после выбора генерации кода с использованием Vue3 native, функционал экспорта формы больше не работает с условиями поиска #425
  • Проблема с загрузкой файла #4672
  • Внутри oConvertUtils метод проверки пустоты строки имеет проблемы #292
  • Избыточное количество данных в словарях категорий может привести к увеличению времени запроса данных, что вызывает сообщение «Запрос API превышает время ожидания, пожалуйста, обновите страницу и попробуйте снова!» #4550
  • При использовании v-model:value для связывания компонента JSelectDept в форме, невозможно очистить выбранные данные! #397- Автоматическое выделение границ при экспорте таблицы с подзаголовками с помощью autopoi отсутствует слева #4342
  • Открывающееся окно автоматически закреплено сверху, его нельзя перемещать или показывать заголовок #430
  • Версия auto-poi 1.3.6 не может импортировать файлы XLSX формата 2007, но успешно импортирует файлы XLS формата 2003 #4225
  • Темная тема незавершена, есть ошибки #448
  • Для онлайн-форм (один ко многим) при создании или редактировании записей подтаблицы, форма не получает информацию #4655
  • Небольшие расширения для JImageUpload и JselectUserByDept #452
  • Ограничение типа загружаемого файла через атрибут accept не работает #455
  • При создании нового пользователя он автоматически получает роль #454
  • При импорте изображений с помощью autopoi-web невозможно указать путь сохранения #4415
  • При использовании j-editable-table в popup-окне отсутствуют данные строк #4798
  • Можно ли исправить проблему с автоматическим выбором всех чекбоксов и радиокнопок при печати с помощью vue-print-nb-jeecg? #4416- Частое использование кнопки экспорта в онлайн-формах приводит к переполнению памяти #4523
  • JVxeTypes.hidden не может принимать значения #423
  • Конфигурация нескольких арендаторов и отделов для пользователя, при входе в систему нет запроса выбора арендатора и отдела #453
  • Возможность экспорта таблицы BaseTable не работает с учётом сортировки #409
  • Уязвимость SQL-инъекции в проверке дубликата в sys/duplicate/check #4737
  • Виджет vxe-table не реагирует на изменения высоты #461
  • Ошибка ESLint версии 8.13.0 в IDEA #395
  • Частое нажатие кнопки экспорта в онлайн-формах приводит к переполнению памяти #4523
  • Невозможность подключения к Redis после обновления до версии 3.5.0, а версия 3.4.3 работала корректно #4817
  • Уязвимость обхода аутентификации в Spring Framework (CVE-2023-20860) #4824
  • Проблема чтения конфигураций маршрутизации из Nacos в gateway, с методом исправления #4762
  • Как указать пространство имён Nacos в версии 3.4.3, ранее это делалось в pom.xml, теперь требуется ли добавление конфигурации вручную? #4743
Последнее сообщение коммита: 群满,新增QQ群 ⑦791696430
16.03.2025 10:41
GitLife Service Account

Текущая версия: v3.5.0 | 2023-03-08

Скачивание исходного кода

Журнал обновлений

Важное обновление: Великое обновление до версии VUE3. В этом выпуске произошли значительные изменения, особенно в части логики арендатора, которая была полностью переработана. Теперь система поддерживает однокнопочный смену арендатора для модулей управления системой.

Обратите внимание, что версия vue2 несовместима с этим выпуском backend-кода. Пользователям, использующим версию vue2, рекомендуется не обновлять backend.

SQL-обновления

Изменений слишком много, см. ссылку

Несовместимые изменения

  • Логика арендатора была полностью переработана, все таблицы системы теперь содержат поле ID арендатора.
  • Отношения между пользователями и арендаторами реализованы через промежуточную таблицу.
  • Имя ключа арендатора в заголовке арендатора переименовано в X-Tenant-Id.
  • На чувствительные API модулей системы добавлены аннотации доступа, требующие авторизации для доступа к ним.#### Основные изменения
  • Полная переработка логики арендатора, позволяющая осуществлять однокнопочный переход между модулями SaaS системы без необходимости самостоятельной доработки.
  • Добавлен пример использования оптимистической блокировки.
  • Все таблицы модулей системы теперь содержат поле ID арендатора.#### Большие изменения в UI
  • Предоставлен новый экран входа.
  • Предоставлен новый компонент выбора пользователей, обеспечивающий лучший опыт выбора пользователей через несколько измерений, таких как отделы и роли.
  • Предоставлены компоненты выбора должностей, ролей и диапазона времени.
  • Предоставлен компонент отображения аватара пользователя.
  • Реализована возможность просмотра онлайн-пользователей.
  • Улучшен экран управления арендаторами, поддерживающий управление пакетами арендаторов.
  • Предоставлен новый функционал настройки пользователей.
  • Добавлен новый функционал меню ролей арендатора.
  • Улучшен шаблон генератора кода.##### ISSUE и некоторые мелкие исправления
  • При первом входе значение ID арендатора пользователя может не быть правильно установлено #260
  • Проблема с RangePicker контроллером, где начальное значение begin не получается, а конечное значение end берётся из первого значения #268
  • Предложено, чтобы при disabled=true JUpload компонент мог бы менять цвет кнопки загрузки или использовать другой стиль, чтобы было понятно, что она больше недоступна для клика #4250
  • В jeecg-boot3.4.4 найдена уязвимость SQL-инъекции #4393
  • Уязвимость Spring Framework RFD (CVE-2020-5398) #4457
  • https://github.com/jeecgboot/jeecg-boot/issues/4487— В многопользовательском режиме при смене пользователя отображается ошибка. #4509
  • В модуль управления отделами добавлена функциональность многопользовательского режима. При создании новых данных в базе данных поле sys_depart, tenant_id имеет значение 0 #4505
  • 【ОШИБКА】— управление источниками данных, при создании нового источника данных возвращается неверный результат #4294
  • Используя метод useForm.getFieldsValue, массив преобразуется в строку, что делает невозможной загрузку файла #4330com/jeecgboot/jeecg-boot/issues/4330 "#4330")
  • 【ОШИБКА】в последней версии jeecgboot версия auto-poi некорректна, что приводит к ошибкам при распознавании выражений в Excel #4328
  • После добавления условий в таблицу словарей выпадающего списка поле словаря не загружается в область поиска #4306
  • В Online форме основного и вложенного формы выпадающий список множественного выбора не может выполнять поиск #271
  • В frontend-jeecgboot-vue3 версии 3.4.4 функция автоматической адаптации высоты BasicTable не работает, установка параметра maxHeight не действует; причина найдена, подробности см. #355
  • Проблемы с пагинацией онлайн-отчетов #356
  • При активации многопользовательского режима в одном браузере при смене аккаунта используется всё ещё один и тот же tenant ID #4349
  • В VUE повторное сохранение роли авторизации issues/352
  • При генерации кода проверка наличия del_flag приводит к автоматическому созданию логического удаления кода [issues/4196]
  • При использовании компонента изображения в нативной форме закрытие окна не очищает значение компонента изображения [issues/248]- В форме поиска страницы (поле выбора даты) установка начального времени приводит к ошибке конвертации типа даты при переходе на страницу issues/215
  • Удалены бесполезные кнопки синхронизации пользователей с WeCom
  • Обработаны предупреждения и ошибки 【<Suspense> слоты ожидают единственного корневого узла. Vite & Vue】
  • 【Генерация кода】при добавлении новой записи в нативной форме jvxe одно-множество подформ не отображаются, что делает невозможным сохранение формы
  • 【Генерация кода】в режиме ERP одно-одиночное множество можно добавить несколько записей
  • 【Генерация кода】в стиле Tab при неудачной проверке одной-множественной подформы при отправке формы она становится пустой, также возникает эта проблема на дополнительной странице процесса
  • Добавлено поле «есть ли подузлы» в таблицу отделов для повышения производительности
  • Проблема с префиксом https в интеграции DingTalk [issues/I5WRIN]
  • Недопустимое имя ключа арендатора в заголовке, tenant-id заменено на X-Tenant-Id
  • Утрачена функциональность автоматической адаптации высоты BasicTable, установка maxHeight для компонента BasicTable не работает
  • Изменён пример ERP
  • Проблема с отправкой сообщений через DingTalk #4499
Последнее сообщение коммита: JeecgBoot 3.5.0 版本发布,开源的企业级低代码平台
16.03.2025 10:40
GitLife Service Account

Дата: 2023-03-04

Журнал: Версия 3.4.4 — последняя версия, в которой исправлены некоторые ошибки

Последнее сообщение коммита: 1
16.03.2025 10:40
GitLife Service Account

Журнал обновлений

Внесены исправления для серии ошибок, что обеспечивает стабильность текущей версии. Проект Vue3 был обновлен до Vite3, а модуль низкого уровня кодирования получил новые функциональные возможности.

1. Исправление проблем в фронтенде Vue3

  • Установка зависимостей с помощью pnpm
  • Обновление до Vite3
  • Оптимизация системы UI
  • Локализация иконок, что позволяет использовать изображения даже при отсутствии доступа к интернету
  • Исправление проблемы повторного показа сообщений при пустом кодировании в центре сообщений и шаблонах информации issues/218
  • Исправление проблем, возникших после обновления Antd3, что привело к невозможности поиска в выпадающих списках всех форм issues/218
  • Исправление проблемы, связанной с невозможностью выбора страниц в таблицах после обновления Antd3 issues/4185
  • Критическая производительность: решение проблемы перезагрузки главной страницы при тестировании функции онлайн issues/I5XBZF
  • Проблема проверки полей формы при входе в форму
  • Новый параметр в онлайн-отчетах не работает в последней версии Vue3
  • Проверка обязательных полей формы была перевернута issues/4189
  • Все выпадающие списки поиска в формах не работают issues/218
  • Проблема отображения JDictSelectTag issues/226
  • Проблема поиска JSelectMultiple issues/227
  • Функция изменения темы не работает при версии "3.4.3" issues/236- При создании новых страниц в онлайн-формах отображается сообщение о недействительном токене issues/4132
  • Новые страницы в онлайн-формах не могут корректно отобразить связанные контроллеры в новой версии Vue3 issues/4008
  • Администратор отдела может получить все роли системы issues/4122
  • Предупреждение v-deep issues/143
  • Ошибка TypeError при вызове clearSubRows issues/166
  • При генерации кода для онлайн-форм выбран стиль Vue3, но сгенерирован код для Vue2 issues/4151
  • Графический интерфейс для генерации кода issues/4150
  • Добавление колонок со скользящими границами в базовой таблице issues/185
  • Добавление колонок со скользящими границами в базовой таблице issues/I5571O
  • Проблема сортировки полей в базовых таблицах при перемещении через базу данных issues/191
  • Ошибка при запуске фронтенда: тип не найден issues/200
  • Проблема с отображением формы "online" после просмотра в меню issues/201
  • При установке задачи на сервере, нажатие кнопки "Выполнить немедленно" вызывает ошибку issues/204
  • При использовании компонента выбора отдела в режиме "online", несколько значений по умолчанию приводят к проблемам. Нажатие кнопки "Подтвердить" не работает issues/4166
  • Возможность перетаскивания столбцов в настройках таблицы недоступна issues/181- При использовании динамического словаря в выпадающем списке поиска, страница онлайн не выдает ошибку, но генерируемый код даёт ошибку issues/183
  • При конфигурировании адреса агрегированной маршрутизации, система выдает ошибку существования значения issues/176
  • При неудачной попытке входа пользователя, аккаунт пользователя блокируется issues/4109
  • В версии VUE3 3.4.3 параметры отчета "online" становятся недействительными issues/225
  • Проблема с методом changeOptions контроллера JTreeSelect в режиме "online" issues/4173
  • При создании формы "online" в виде вложенной формы, связывающие компоненты или компоненты провинций, городов и районов отсутствуют issues/194
  • При отключении компонента JFormContainer невозможно скачать файл issues/224
  • При редактировании пользователя, поля "отдел" и "ответственный отдел" показывают только ID отдела вместо его имени issues/163
  • Проблемы с настройками таблицы в стиле ERP issues/127
  • При создании отчета "online" в стиле Tab, новые данные в панели вкладок могут быть некорректно отображены issues/4117- После скрытия нижнего уровня меню как маршрута, вторичное меню становится недоступным и отображает треугольник issues/4013
  • Возможность использования ключевых слов "张" для расплывчатого поиска вместо "张*" в отчетах "online" issues/I5VC3M
  • При использовании нескольких расширенных параметров в компоненте выбора отдела, если поле хранения меняется на код отдела, форма может не работать issues/I5V6L3
  • Конфигурация колонок в онлайн-отчетах с использованием SQL-словарей не позволяет создать выпадающий список issues/I5JCIV
  • NullPointerException issues/I5M2QM
  • Проблема условной стилистики компонента времени в онлайн-формах issues/I5RWTV
  • Проблемы со списками меню issues/I5JJTL
  • При нажатии на маршруты с параметрами в правом верхнем углу происходит ошибка при обновлении issues/I5VXTW
  • Проблема RangePicker выбора дат issues/I5X0J0
  • После входа в новую версию открывается ошибка при тестировании функции online issues/I5XBZF
  • Свойства, введенные самостоятельно в форме online, не сохраняются issues/I5W9BW- При множественном выборе отделов в управлении пользователями кнопка редактирования исчезает при полном выборе всех отделов issues/3972
  • BasicTable вызывает функцию вставки по умолчанию, которая вставляет две записи issues/136
  • Значение по умолчанию для строки JVxeTable игнорируется issues/4019
  • Проблема отображения раскрывающегося списка в разделе "Подробнее" issues/169
  • JEditableTable компонент не показывает данные при их превышении девяти записями issues/I5IGXC
  • Баг jvxetoolbar issues/I5E385
  • Проблема экспорта данных в онлайн-отчетах, где сумма не может корректно обрабатывать отрицательные значения issues/I5LL7W
  • [JVxeTable] setValues должно принимать массив issues/I5RAXT
  • При подключении авторизации через DingTalk возникают ошибки при отправке запроса issues/I5WRIN
  • Ошибка при импорте с помощью AutoPOI issues/4144#### Второй раздел: решения проблем серверной части
  • Уязвимость обхода аутентификации Apache Shiro issues/4222
  • Недействительность параметров в онлайн-отчетах [jeecgboot-vue3/issues/225]
  • Оптимизация шаблонов генератора кода Vue3
    • Исправление известных уязвимостей безопасности
  • Исправление отображения документации Swagger при запуске шлюза с пространством имен
  • Исправление проблемы использования --spring.profiles.active методов использования конфигурационных профилей
  • Устранение проблем запуска приложения из-за некорректной формы yml файла
  • Наследование Log4j версии 2.13.3 в Nacos содержит уязвимости
  • Устранение проблемы с недействительностью установки labelWidth, удалены значения по умолчанию, заменено на адаптивное значение
  • Обработка логики сортировки по умолчанию для обеспечения совместимости
  • Ограничение типов файлов для загрузки через API для защиты от атак с использованием злонамеренных скриптов
  • Код генерации онлайн-форм создается в стиле Vue3, но фактический код является vue2 [issues/4151]
  • Восстановление после проблемы CVE-2022-2647 issues/4096
  • При импорте Excel с формулами происходит потеря точности issues/3369
  • Проблема SQL-инъекции в проверках issues/4129
  • Проблема SQL-инъекции в deleteRecycleBin issues/4125 - Проблема SQL-инъекции в putRecycleBin issues/4126
  • Изменение синхронизации контактной информации корпоративного WeChat issues/4058
  • Проблема SQL-инъекции в queryTableData issues/4128
  • Здесь есть несколько мест, где не используется подготовленный запрос, хотя рекомендовано его использование issues/4127
  • Проблема с экспортом шаблона Excel, если шаблон содержит несколько объединённых ячеек в цикле таблиц, вторая таблица считается неправильно issues/4142
  • Отсутствие кэширования словаря внешнего входа issues/3998
  • Ошибка оптимистического блока v3.2.0 требует аннотации issues/3847
  • Частичная недействительность внешних ссылок OSS после декодирования issues/4023
  • Проект разделён на пакеты, что приводит к ошибкам при генерации кода онлайн во время выполнения issues/4084
  • Проблема с @Dict аннотацией, которая вызывает ошибку NoSuchBeanDefinitionException при отображении commonApi issues/4192
  • Ошибочное завершение загрузки на Alibaba Cloud OSS, но передача успешной загрузки клиенту issues/I5JOXL
  • Ошибка синхронизации базы данных Oracle при работе с онлайн-формами issues/I5KJUJcom/jeecg/jeecg-boot/issues/I5KJUJ) — Проблема с массовым удалением меню: при попытке одновременного удаления главного меню и его подменю возникает ошибка (хотя данные фактически уже удалены) issues/I5LCXS

— Обновление монолита до последней версии микросервисов 3.4.3 привело к ошибке запуска jeecg-demo-cloud-start issues/4190

— При генерации кода проверяется наличие del_flag для автоматической генерации логического удаления issues/4196#### Третье: обновление модуля низкого кодирования

  • Поддержка связанных записей и полей других таблиц в контролах
  • Поддержка трехуровневых связанных контролов
  • Поиск отчетов онлайн поддерживает поиск по словарю с использованием выпадающего списка
  • Поиск отчетов онлайн, тип данных строки по умолчанию поддерживает размытое поисковое слово, нет необходимости вводить *
  • Генерация кода онлайн поддерживает выбор типа фронтенд-кода (vue3/vue2/vue3 native)
Последнее сообщение коммита: jeecgboot 3.4.4版本发布
16.03.2025 10:36
GitLife Service Account

Версия: v3.4.3 | 2022-10-18

Журнал обновлений

Впервые выпущена полная версия модуля низкого кодирования на основе Vue3 с расширенными возможностями. Обновлены онлайн-формы и отчеты, добавлены новые функции.
Уведомление: данная версия онлайн-интерфейса несовместима с UI на базе Vue2. Для Vue2 обновление пока не требуется.

Обновление SQL

ALTER TABLE `onl_cgform_field`
MODIFY COLUMN `field_show_type` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Тип элемента формы' AFTER `dict_text`;
ALTER TABLE `onl_cgform_field` 
ADD COLUMN `db_is_persist` TINYINT(1) NULL COMMENT 'Необходимость синхронизации данных в БД, 1 — да, 0 — нет' AFTER `db_is_null`; 
UPDATE onl_cgform_field SET db_is_persist = 1;

Онлайн-формы

  • Поддержка предварительного просмотра кода при генерации
  • Поддержка комментариев справа от формы (сообщения, история, вложения)
  • Поддержка внесения изменений в подчинённые формы через всплывающие окна
  • Исправление проблемы отображения пользовательских колонок BasicTable
  • Поддержка усиленной JavaScript
  • Новый дизайн страницы детального просмотра онлайн-форм
  • Оптимизация использования интегрированных отчётов, добавлены кнопки печати
  • Исправление проблемы маскировки даты в форме
  • Поддержка всплывающих окон
  • Улучшение работы выпадающего списка совместимости со словарём данных
  • Поддержка фиксированного положения операционных столбцов слева
  • Улучшение дизайна форм, если метка превышает четыре символа, она будет скрыта#### Онлайн-отчеты
  • Улучшение внешнего вида условий поиска
  • Проблема применения параметров маршрутизации и динамических параметров
  • Уязвимость JDBC-соединения адреса
  • Добавлена возможность экспорта выбранных данных##### Исправление проблем
  • Ошибка парсинга LIMIT в SQL запросах MySQL issues/#4072
  • Отсутствие поддержки подзапросов в SQL запросах issues/#4040
  • Ошибка парсинга SQL при использовании подзапросов issues/I5M1DD
  • Проблема отображения пользовательских полей в списке онлайн-форм issues/I5HZ60
  • Проблема отображения полей в таблице issues/#110
  • Проблема зависания после тестирования функциональности онлайн-форм issues/#I5E7YX
  • Проблема удаления кнопок управления при ограничении прав доступа issues/#I5GXS3
  • Ошибка JavaScript при усилении функциональности подстраниц онлайн-форм issues/#I5FRVI
  • Интеграция формы Online с отчетами JEECG issues/#3887
  • Улучшение JavaScript для вычисления полной стоимости путем умножения единичной цены на количество issues/#3980
  • Улучшение JavaScript, встроенные методы улучшения списка не работают issues/#3976
  • После обновления версии проблема с выпадающим списком поиска в режиме Online не решена issues/#I5IG3G
  • Проблемы с формой Online при разработке в версии 3.0 issues/#3354- Проблема с точностью типа double при онлайн-разработке issues/#I5B20H
  • При обязательном синхронизированном обновлении формы Online потеряются индексы issues/#3693
  • При импорте EXCEL в форме Online возникают проблемы с проверкой обязательных полей issues/#3778
  • Ошибка TypeError [ERR_INVALID_ARG_TYPE]: аргумент "path" должен быть строкой или экземпляром URL. Получено значение undefined issue #158
  • Ошибка при использовании функции блокировки экрана issues/I5TCGE
  • Проблема синхронизации JVxeTypes.selectDictSearch issues/I5QRT8
  • В онлайн-отчетах Vue3 недействительность динамических параметров #140
  • Ошибка кода issues/I5UMML
  • Как сделать международное оформление левой динамической панели меню issues/I5N2PN
  • Проблема запроса из-за отсутствия слеша в url в коде для пункта меню "Изменение пароля" issues/I5V187
  • Проблемы с методом doMultiFieldsOrder() для многополевых сортировок issues/I5FJU6### Обновленные версии

Эта часть содержит исправления и новые функции за последнюю неделю.#### Новые возможности низкого кодирования

  • Поддержка связанных записей и полей других таблиц в форме Online
  • Поддержка трехуровневых связанных компонентов в форме Online
  • Поддержка выбора типа генерации фронтенд-кода (Vue3/Vue2/Vue3 native) при создании кода Online
  • Онлайн-отчеты, поиск отчетов с поддержкой выпадающего списка поиска словаря
  • Онлайн-поиск отчетов, строки по умолчанию поддерживают фильтрацию по частичному совпадению, нет необходимости вводить *

Исправление серьезных ошибок

  • Устранение проблемы перезагрузки главной страницы при нажатии на тестирование онлайн-функций [issues/I5XBZF]
  • При попытке доступа к меню разработки онлайн-форм сообщается о недействительности токена #4132
  • Устранение ошибки при клике на маршруты со параметрами и перезагрузке верхнего правого угла
  • Проблема невидимости кнопки добавления пользователя
  • Выбор Vue3 стиля при генерации кода онлайн, но сгенерированный код является vue2 #4151
  • Ошибка в графическом интерфейсе генератора кода #4150
  • В версии vue3, новые страницы онлайн-форм не могут отображать связанные контроллеры #4008
  • Устранение проблемы мешанины стилей при раскрывании дополнительных пунктов вкладок
Последнее сообщение коммита: 解决: token过期退出重新登录,online菜单还是提示token过期
16.03.2025 10:34
GitLife Service Account

Журнал обновлений

Важные обновления: переход ant-design-vue до версии OnClickListener 3.2.12, обновление vite и других фронтенд зависимостей; оптимизация базовых функций, исправление ошибок и багов; в данном выпуске не было обновлено онлайн-функциональности.

Обновление UI для Vue 3

  • Переход ant-design-vue до версии 3.2.12, обновление vite и других фронтенд зависимостей
  • После обновления antd3, все моменты замены выполнены с помощью dayjs
  • Оптимизация работы с WebSocket
  • Поддержка правого встраивания комментариев и прикреплённых файлов в форме
  • Адаптация формата кода
  • Автоматическая проверка vue3, автоматическое переключение на таблицы библиотеки vue3
  • Поддержка поиска меню через расплывчатый поиск названий
  • Поддержка годового контроля
  • Интеграция части кода vben
  • Серия работ по совместимости после обновления antd3
  • Поддержка пользовательского количества символов для label формы, отрезание длинных меток
  • Примеры пользовательской сортировки полей таблицы (лист роли)
  • Решение проблемы с загрузкой аватара пользователя
  • Проблема с полноэкранным режимом таблицы, дефолтное отключение
  • Отображение непрочитанных системных уведомлений сверху
  • Проблема с переключением темы после компиляции, черный экран
  • Изменение системы уведомлений, отсутствие изменения значков с изменением темы
  • Исправление проблемы с невалидной шириной label - Поддержка установки ширины label формы, дефолтное удаление некоторых ширинах форм, дефолтное адаптивное отображение
    #### Проблемы совместимости после обновления antd3 (в случае возникновения проблем требуется модификация)
  • Устаревшие слоты slots в Table, требуются изменения в записи (текущий старый метод можно использовать дальше, будет предупреждение)
  • Form.item может собирать данные только одного поля формы, если есть несколько полей формы, это приведёт к сбору некорректных данных (item внутри имеет несколько элементов, будет предупреждение)
  • antd3 использует dayjs вместо moment, при обновлении требуется найти момент и заменить его на dayjs (синтаксис dayjs и moment почти одинаковый, замена не трудная)
  • По поводу устаревших slots в Table и возможности Form.item собирать только одно поле формы, код ещё не полностью модифицирован, хотя есть предупреждения, но использование не затруднено (antd3 обеспечивает обратную совместимость)
  • По умолчанию анимация Tab отключена, если возникают проблемы, требуется добавить параметр animated
  • Переименование стилей .ant-tabs-bar -> .ant-tabs-nav
  • Переименование типов SelectTypes в SelectValue
  • Больше информации об обновлениях см. Переход от ant-design-vue 2.x до 3.x версий
    #### Новые функции
  • Новая система уведомлений (поддержка открытия бизнес-форм)
  • Добавление типа шаблона сообщений Markdown - Онлайн-хранение файлов, просмотр документов в PDF-формате
  • Поддержка отправки в формате Markdown через DingTalk и корпоративный WeChat
  • Проблемы сохранения токенов в документах Swagger2
  • Ошибка при загрузке файла в хранилище MinIO некорректна (запрещены специальные типы файлов)
  • Переработка кода WebSocket для системных уведомлений, упрощение логики
  • Изменение правила генерации ID новых отделов на IdWorker
  • Устранение уязвимости в JDBC-соединении
  • /actuator/shiro по умолчанию не отключено, что создаёт риск уязвимости

    Внесение исправлений

  • После скачивания кода нет подсказок issues/I5PCKT
  • Обновление версии Vue3 issues/I5LXZA
  • Обновление версии Vue3 issues/I5BFTY
  • Обновление выпадающего списка с множественным выбором и компонента выбора года issues/I5C9BY
  • Недействие проверки роли admin в списке пользователей issues/I5N591
  • Проблема с появлением данных в модальном окне выбора отдела issues/I5IWFM
  • Ошибка при создании шаблона Vue3 issues/I5MU66
  • Проблема с переходом на главную страницу после анимации issues/I5MTLQ
  • Проблема с заменой аватара issues/I5Q2W8- При выборе трехполосного формы в генераторе кода, метки имеют слишком маленькую ширину issues/I5L3SK
  • Проблема с пустыми опциями столбцов при отображении таблицы issues/139
  • JVxeTable не позволяет вводить десятичные значения в поле типа JVxeTypes.inputNumber issues/I5R7ZI
  • Ошибка при добавлении нового онлайн-форма issues/I5ITL3
  • Проблема с настройкой динамических параметров в онлайн-отчетах в версии Vue3 issues/I5HB7P
  • Проблема с импортом данных после активации объединенного запроса для основной и связанной таблицы issues/111
  • JVxeTable не позволяет вводить десятичные значения в поле типа inputNumber issues/I5IHN7
  • Проблема с сохранением сборочных отчетов issues/I5J3QO
  • Поддержка гиперссылок в аннотациях Excel отсутствует, хотя документация ее поддерживает issues/I5I840
  • Ошибка при работе с основной и связанной таблицами в генераторе кода issues/I5I5EL
  • Проблема конфигурации пула соединений Redis issues/I5KQMA
  • Исправление уязвимостей версий Shiro и драйвера PostgreSQL issues/3882
  • Невозможность использования диапазона выбора лет issues/153
Последнее сообщение коммита: ---author:scott---date:2022-09-27---for:【jeecgboot-vue3/issues/158】...
16.03.2025 10:30
GitLife Service Account

Журнал обновлений

Выпуск значимой версии, все функции становятся более стабильными и надежными.

Обновление SQL

UPDATE sys_permission 
SET del_flag = 1 
WHERE id IN (
    '1438108182116425729',
    '1438108183219527682',
    '1438108185660612609',
    '1438108185815801858',
    '1438108185958408193',
    '1438108186289758209'
)

Основные обновления

  • Генератор кода предоставляет шаблоны встроенной формы Vue3
  • Генератор кода поддерживает генерацию SQL для меню
  • Поймано исключение превышения времени выполнения запроса, переход на страницу входа
  • Проблема сброса компонента JSwitch при использовании режима query
  • Улучшение примеров использования и оптимизация ошибок
  • Исправлено начальное значение модального окна отдела
  • Улучшена функциональность выбора арендатора и отдела после входа
  • Добавлены примеры использования нативных компонентов для одиночной таблицы
  • Проблема с отсутствием актуализации значения выпадающего списка при добавлении дерева категорий
  • В BasicTable добавлен слот alertAfter
  • В JVxeTable исправлен пример "невидимого обновления" checkbox, который не обновляется автоматически
  • При первом запуске, клик по первому полю ввода отправляет курсор в поле ввода rich text
  • В JSelectMultiple при поиске данные не находятся
  • [issues/54] Проблема удаления выбранных элементов дерева словарей, вызывает системную ошибку
  • Изменено правило проверки уникальности (проверка обязательности)- Исправлена проблема добавления пути при добавлении маршрута
  • Обработка специальных случаев выбора одного или нескольких пользователей
  • Невозможность загрузки изображений в формате markdown
  • Кэширование конфигураций списков
  • Интегрирована последняя версия vben для решения проблемы сортировки столбцов таблицы
  • Правила системы кодирования, последнее поле ввода нельзя удалить
  • После изменения ответственного отдела пользователя информация отдела не обновляется
  • [issues/69] Проблема с демонстрационным примером моментальной записи JVxeTable
  • [issues/I57GNY] После массового удаления кнопка массовых действий остается видимой
  • Исправлена проблема лишнего разделителя в расширенных действиях списка, когда есть только один пункт меню

    Обработка проблем

  • Для jeecg-boot V3 тип RangePicker не может быть экспортирован в Excel #I54815
  • Проблема с диапазоном времени RangePicker #I554DN
  • Отделы — добавление существующего пользователя не работает #62
  • Проблема работы одного ко многим в локальном тестировании после сборки #I55RB0
  • Проблема загрузки по умолчанию аватара пользователя при его отсутствии #I559WB
  • Проблема с обновлением капчи на странице входа #41
  • [WebSocket] Проблема соединения #I56UQP- Управление пользователями: при двойном нажатии на "Редактировать конфигурацию арендатора" данные теряются #I56C5I
  • Сортировка меню больше не поддерживает десятичные значения #56
  • Цвет тега задачи с расписанием указан неверно #I5773O
  • Пример jvxeTable: ошибка при моментальном сохранении данных #69
  • После массового удаления таблица обновляется, но текущий выбранный ряд теряется, а кнопка массовых действий остаётся видимой #I57GNY
  • Конфигурация столбцов таблицы (отображение, заморозка) теряется после закрытия страницы #66
  • Добавление внешнего меню со значением "#" приводит к невозможности перехода на внешнюю страницу #I58YS9
  • Управление пользователями: кнопка "Детали" #I58HCG
  • Выбор отдела JSelectDept: проблема отображения пользовательских значений #I4ZEZA
  • В меню моего отдела при попытке добавить существующего пользователя выдаётся ошибка #I59UHC
  • Изменение иконки кнопки невозможно, все кнопки submitButtonOptions отображаются как иконка поиска #3737- При редактировании ответственного отдела пользователя в управлении пользователями таблица не обновляется #3650
  • При редактировании отдела пользователя в управлении пользователями таблица не обновляется #53
  • Автоматическое обновление чекбоксов в jvxetable #84
  • Экран редактора Markdown не работает в браузере Edge #89
  • Ошибка системы при выборе строки в дереве словарей и последующем массовом удалении #54
  • Возможность оптимизации процесса обновления дерева словарей после удаления строки без полной перезагрузки страницы issues/#55
  • Пример JPopup по-прежнему недоступен #I5B1QB
  • Небольшие проблемы в фронтенде Vue3 #I50ODG — онлайн форма разработки — при нажатии на [Настроить адрес] возникает ошибка — Uncaught ReferenceError: React is not defined #I5BFJT
  • Когда пользователь принадлежит к нескольким отделам, каждый раз при обновлении браузера появляется диалоговое окно [Выберите отдел] #I53LB9
  • Проблема с кнопками в шаговой форме #I5BQM1- функциональность импорта/экспорта данных словарей, после выполнения операции отображается сообщение о том, что не переданы параметры export.url или import.url #I5AMDD
  • OAuth2 DingTalk невозможно использовать для входа #I5BOUF
  • пользовательский выборник недоступен #93
  • имя открываемой вкладки всегда отображает "AUTO онлайн форма", а не название конфигурированного меню #I5C1F7
Последнее сообщение коммита: v1.3.0版本发布——重大版本,全功能趋于稳定健壮。
16.03.2025 10:24
GitLife Service Account

Проект

Jeecgboot-Vue3 использует новые технологии, такие как Vue3.0, Vite, Ant-Design-Vue, TypeScript и другие. Включает в себя переопределённые компоненты, utils, hooks, динамическое меню, проверку прав доступа, контроль уровня кнопок и другие функции. Разработан на основе Vben-Admin и предназначен для нового фронтенда JeecgBoot на базе Vue3.

  • Новый набор технологий Vue3, который не просто следует за трендами, но также имеет преимущества для крупных проектов.
  • Предоставлено подробное видео-руководство для новичков нулевой уровень входа, чтобы те, кто не знаком с Vue3, могли быстро освоиться.
  • Это не простое обновление от Vue2, а полное перепроектирование, призванное сделать каждую строчку кода идеальной.

Текущая версия: v1.0.0 | 2021-03-21

Исходный код

  • Важно! — Переход на Vue3 маршруты: http://vue3.jeecg.com/2671576
  • Требования к версии backend: jeecgboot v3.0+, версия 3.0 адаптирована для совместимости с фронтендом Vue3.0.
Исходный код фронтенда Vue3 Исходный код backend
GitHub https://github.com/jeecgboot/jeecgboot-vue3 https://github.com/jeecgboot/jeecg-boot
Gitee https://gitee.com/jeecg/jeecgboot-vue3 https://gitee.com/jeecg/jeecg-boot

Техническая документация- Официальный сайт: http://www.jeecg.com

git clone https://github.com/jeecgboot/jeecgboot-vue3.git
  • Установка зависимостей
cd jeecgboot-vue3
yarn install
  • Запуск
yarn serve
  • Сборка
yarn build

Функциональные модули

Версия Vue3 уже реализовала систему управления, мониторинг системы, отчеты, различные компоненты, управление правами доступа, генерацию GUI кода и другие основные модули платформы (Online формы, Online отчеты еще не выпущены).

├─Главная страница
│  ├─Главная страница (четыре варианта главной страницы для удовлетворения различных потребностей)
│  ├─Рабочий стол
├─Система управления
│  ├─Управление пользователями
│  ├─Управление ролями
│  ├─Управление меню
│  ├─Настройка прав доступа (поддерживает права доступа кнопок, данных)
│  ├─Форма прав (управление отключением, скрытием полей)
│  ├─Управление отделами
│  ├─Мой отдел (второй уровень управления)
│  ├─Управление словарями
│  ├─Классификатор словарей
│  ├─Системные объявления
│  ├─Управление должностями
│  ├─Адресная книга
│  ├─Объектное хранение
│  ├─Управление многими арендаторами
```|- Системный мониторинг
|- Настройка шлюза (шлюз)
|- Расписание задач
|- Управление источниками данных
|- Журнал системы
|- Центр сообщений (поддерживает SMS, электронную почту, push-уведомления WeChat и т.д.)
|- Журнал данных (фиксирует снимки данных, позволяет сравнивать снимки и просматривать изменения данных)
|- Системные уведомления
|- Мониторинг SQL
|- Мониторинг производительности
|  |- Мониторинг Redis
|  |- Tomcat
|  |- JVM
|  |- Информация сервера
|  |- Отслеживание запросов
|  |- Мониторинг жёсткого диска|- Центр сообщений
|- Мои сообщения
|- Управление сообщениями
|- Управление шаблонами

|- Конструктор отчетов
|- Примеры отчетов
|  |- Графики
|  |- Круговые диаграммы
|  |- Столбчатые диаграммы
|  |- Линейные графики
|  |- Области
|  |- Радарные диаграммы
|  |- Цифровые приборы
|  |- Прогресс-бары
|  |- Таблицы ранжирования
|  |- И т.д.

|- Шаблоны больших экранов
|  |- Шаблон центра боевых действий
|  |- Шаблон центра логистической службы

|- Генератор кода (GUI)
|- Функциональность генератора кода (однокликовый генератор кода для клиентской и серверной части, после генерации нет необходимости в модификациях, что является истинным благом для разработчиков backend)
|- Шаблоны генератора кода (предоставляет  Yöntem 4 шаблона, поддерживающие одностраничные модели и модели один ко многим, различные стили выбора)
|- Шаблоны генератора кода (генерирует код, включающий импорт/экспорт Excel)
|- Фильтры запросов (логика запросов не требует кодирования, система автоматически создает запросы согласно конфигурации страницы)
|- Высокоуровневый поиск (автоматическое сочетание условий поиска в окне)
|- Интегрированный инструмент импорта/экспорта Excel (поддерживает одностраничные модели и модели один ко многим)
|- Поддержка мобильной адаптивности платформы|- Часто используемые примеры
|- Примеры пользовательских компонентов
|- Пример JVxeTable (сложные размещения для ERP-индустрии)
|- Примеры одностраничных моделей
|- Примеры моделей один ко многим
|- Примеры печати
|- Внутренние примеры моделей один ко многим
|- Асинхронные деревья таблиц
|- Перетаскивание изображений для сортировки
|- Перелистывание изображений
|- Предварительный просмотр изображений
|- Предварительный просмотр PDF|- Универсальные компоненты
|- Таблица с редактированием строки `JVxeTable`
|- Компонент скрытых значений```
## Введение в проект
Для работы над этим проектом требуется базовая подготовка в области фронтенд-разработки. Убедитесь, что вы знакомы с основами Vue, чтобы иметь возможность решать некоторые распространенные проблемы. Рекомендуется ознакомиться с материалами ниже перед началом разработки; это поможет лучше понять проект:

- [Документация Vue3](https://v3.vuejs.org/)
- [TypeScript](https://www.typescriptlang.org/)
- [Vue-router](https://next.router.vuejs.org/)
- [Ant-Design-Vue](https://2x.antdv.com/docs/vue/introduce-cn/)
- [Документация Vben](https://vvbin.cn/doc-next)
- [ES6](https://es6.ruanyifeng.com/)
- [Vitejs](https://vitejs.dev/)
- [Pinia (альтернатива Vuex)](https://pinia.esm.dev/introduction.html)
- [Vue-RFCs](https://github.com/vuejs/rfcs)
- [Переход от Vue2 к Vue3](https://v3.vuejs.org/guide/migration/introduction.html)## Эффект системы
![Введите описание изображения](https://jeecgos.oss-cn-beijing.aliyuncs.com/files/site/vue3_20220310142327.png "Введите название изображения") ![Введите описание изображения](https://jeecgos.oss-cn-beijing.aliyuncs.com/files/site/vue3_20220310142354.png "Введите название изображения") ![Введите описание изображения](https://jeecgos.oss-cn-beijing.aliyuncs.com/files/site/vue3_20220310142339.png "Введите название изображения") ![Введите описание изображения](https://jeecgos.oss-cn-beijing.aliyuncs.com/files/site/vue3_20220310142409.png "Введите название изображения")

## Поддержка браузеров
**Локальное развитие** рекомендует использовать последнюю версию браузера `Chrome`. **Не поддерживает** версии `Chrome 80` и ниже.
**Производственная среда** поддерживает современные браузеры, не поддерживает IE.| [![IE](https://raw.githubusercontent.com/alrra/browser-logos/master/src/archive/internet-explorer_9-11/internet-explorer_9-11_48x48.png)](http://godban.github.io/browsers-support-badges/)IE | [![Edge](https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png)](http://godban.github.io/browsers-support-badges/)Edge | [![Firefox](https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png)](http://godban.github.io/browsers-support-badges/)Firefox | [![Chrome](https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png)](http://godban.github.io/browsers-support-badges/)Chrome | [![Safari](https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png)](http://godban.github.io/browsers-support-badges/)Safari |
| --- | --- | --- | --- | --- |
| не поддерживается | последние две версии | последние две версии | последние две версии | последние две версии |
Последнее сообщение коммита: 入门视频
1
https://api.gitlife.ru/oschina-mirror/jeecg-jeecgboot-vue3.git
git@api.gitlife.ru:oschina-mirror/jeecg-jeecgboot-vue3.git
oschina-mirror
jeecg-jeecgboot-vue3
jeecg-jeecgboot-vue3