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

OSCHINA-MIRROR/dromara-RuoYi-Vue-Plus

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 43 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 23.04.2025 17:26 4b6d06d

Описание платформы

Gitee GitHub Star License Разработка и поддержка с помощью IntelliJ IDEA
RuoYi-Vue-Plus Spring Boot JDK-17 JDK-21

Dromara RuoYi-Vue-Plus — это переработанный RuoYi-Vue, который полностью обновлен для сценариев распределенных кластеров и многопользовательских систем (не совместим с оригинальной архитектурой).

Исходный код проекта и документация являются открытыми и бесплатными для коммерческого использования, при условии соблюдения условий открытых лицензий.

Система демонстрации: ссылка

Официальный фронтенд проекта: plus-ui
Проект фронтенда участников: на основе vben5 ruoyi-plus-vben5> Документация: plus-doc

Спонсоры

MaxKey — ведущий продукт единого входа в отрасли - https://gitee.com/dromara/MaxKey
CCFlow — низко-кодовое решение для процессов и форм - https://gitee.com/opencc/RuoYi-JFlow
Shuduokeji — разработка программного обеспечения, мобильных приложений и веб-приложений - http://www.shuduokeji.com/
Jnpfsoft — платформа разработки программного обеспечения - https://www.jnpfsoft.com/index.html?from=plus-doc
Qishan Mall System — исходный код многосайтового магазина, который можно использовать бесплатно и дорабатывать - https://www.73app.cn/
Как стать спонсором — присоединяйтесь к группе для обсуждения с автором

Различия функциональных возможностей между этим и RuoYi-фреймворками# Функциональные различия этого фреймворка и фреймворка RuoYi

Функция Этот фреймворк RuoYi
Передний проект Использует Vue3 + TS + ElementPlus Основан на Vue2/Vue3 + JS
Структура проекта Использует плагинизацию + расширяемые пакеты, структура декомпозирована, легко расширяема Модули сильно связаны между собой, что затрудняет расширение
Стиль кода Тщательно следует стандартам Alibaba и проектной конфигурации форматирования кода Стиль написания кода отличается от обычной структуры, что затрудняет чтение
Web-контейнер Использует Undertow, высокопроизводительный контейнер на основе XNIO Использует Tomcat
Проверка прав Использует Sa-Token, Jwt, статическая проверка с полным набором функций, низкая связанность, высокая расширяемость Spring Security, сложная в конфигурации, очень плохая расширяемость
Третье-сторонняя проверка Использует JustAuth, компонент для входа с использованием третьих сторон, поддерживает вход с WeChat, DingTalk и другими десятками сервисов Нет
Поддержка реляционных баз данных Нативная поддержка MySQL, Oracle, PostgreSQL, SQLServer
Поддержка одновременного использования гетерогенных баз (поддерживает все базы, поддерживаемые mybatis-plus, достаточно добавить зависимости JDBC)
Поддержка MySQL, Oracle, одновременное использование не поддерживается, гетерогенные базы не поддерживаются
Кэш-база данных Поддержка Redis 5-7, поддержка большинства новых функциональных возможностей, таких как распределенное ограничение скорости, распределенная очередь Поддержка Redis простых get/set
Кэш-аннотации Использует аннотации Spring-Cache, расширенные для поддержки большего количества функций
Например, срок годности, максимальное время простоя, максимальная длина группы и т. д., всего один аннотация для автоматического кэширования данных
Необходимо ручное написание логики Redis
ORM-фреймворк Использует Mybatis-Plus, основан на объектах, практически не требует написания SQL, полный Java-интерфейс, мощные функции, множество плагинов
Например, плагины многопользовательской аренды, плагины пагинации, плагины оптимистической блокировки и т. д.
Использует Mybatis, основан на XML, требует ручного написания SQL
Мониторинг SQL Использует p6spy, выводит полные SQL и мониторинг времени выполнения Лог-вывод, требуется ручное объединение SQL и параметров, затруднительно быстро просматривать и отлаживать проблемы
Денежные переводы Использует аннотации и Jackson для деанонимизации данных во время сериализации. Поддерживает различные условия деанонимизации для разных модулей. Поддерживает различные стратегии, такие как ИНН, номер телефона, адрес, электронная почта, банковская карта и т. д. Можно расширять самостоятельно. Нет
Шифрование передачи данных Использует динамическое шифрование AES и RSA для шифрования тела запроса. Ключ для каждого запроса уникален, что значительно снижает возможность его взлома. Нет
Перевод данных Использует аннотации и Jackson для динамического изменения данных во время сериализации. Поддерживает различные режимы перевода: "переменная", "прямая", "расширенные условия". Два шага через интерфейс позволяют легко расширяться. Включает множество встроенных реализаций перевода. Нет
Фреймворк для работы с несколькими источниками данных Использует dynamic-datasource для поддержки большинства доступных на рынке баз данных. Управление динамическим изменением различных типов баз данных возможно через конфигурацию YAML или через фронтенд-страницу. Поддерживает выражения SPEL для переключения источников данных на основе параметров заголовка запроса. Основан на druid с ручной конфигурацией данных. Конфигурация сложна и имеет ограниченную поддержку.
Транзакции с нескольким источниками данных Использует dynamic-datasource для поддержки транзакций с несколькими источниками данных различных типов.
База данных первичный ключ Используется снегурID, основанный на отметках времени, упорядоченный рост, уникальный ID, больше не придется беспокоиться о конфликтах и повторениях ключей при разделении базы данных на несколько таблиц Используется автоинкрементный ID базы данных, поддерживает ограниченный объем данных, не поддерживает уникальный ключ для нескольких источников данных
WebSocket протокол Основан на WebSocket протоколе, упакованном в Spring, расширен для аутентификации токенов и синхронизации распределенных сессий, больше не просто бесполезный для одного компьютера Отсутствует
SSE отправка Используется Spring SSE реализация, расширенная для аутентификации токенов и синхронизации распределенных сессий Отсутствует
Сериализация Используется Jackson, официально встроенный в Spring сериализацией, надежна! Используется fastjson, известна своими багами
Распределенная атомарность Вдохновленная система предотвращения повторений в системе GTIS Meituan (подробности см. Тип документации
--- ---
Распределенная блокировка Используется Lock4j, основанная на Redisson Отсутствует
Распределенная задача планирование Используется SnailJob, врожденная поддержка распределения, единый центр управления, поддерживает множество баз данных, поддерживает фрагментацию, повторные попытки DAG задачи и т. д. Используется Quartz, основанный на блоках базы данных, плохая производительность, требуется много настроек и модификаций для кластера
Хранение файлов Использует Minio для распределенного хранения файлов, поддерживает работу на нескольких машинах, нескольких дисках, с несколькими фрагментами и репликами. Поддерживает управление правами доступа, безопасно и надежно, файлы могут быть зашифрованы. Использует локальное хранение файлов, файлы не защищены, легко потерять или утечь, не поддерживает кластеры, имеет одиночную точку отказа
Облачное хранение Использует клиент AWS S3 протокола, поддерживает Qiniu, Alibaba, Tencent и другие производители, поддерживающие протокол S3. Не поддерживается
SMS Использует пакет интеграции SMS4J, поддерживает десятки производителей SMS, достаточно настроить ключи безопасности в yml, можно использовать несколько производителей. Не поддерживается
Документация API Использует SpringDoc, javadoc, без необходимости в дополнительных аннотациях, основан на Java аннотациях. Необходимо только правильно написать аннотации, не нужно писать большое количество дополнительных аннотаций для документации. Использует Springfox, который больше не поддерживается, требуется написать большое количество аннотаций для поддержки генерации документации.
Фреймворк валидации Использует Validation, поддерживает аннотации и классы-инструменты для валидации, аннотации поддерживают интернационализацию. Поддерживает только аннотации, аннотации не поддерживают интернационализацию.
Фреймворк Excel Использует Alibaba EasyExcel, основан на плагинах, к нему добавлены многие функции, такие как автоматическое объединение одинаковых данных, автоматическое расположение, перевод словарей и т. д. Основан на POI, реализован вручную, функции ограничены, сложен, плохая расширяемость.
Поддержка рабочих процессов Поддерживает различные сложные процессы утверждения, передачи, делегирования, добавления/удаления подписей, совместного утверждения, голосования и т. д. Нет.
Мониторинговый фреймворк Использует SpringBoot-Admin, основанный на официальном actuator механизме SpringBoot. В реальном времени отслеживает состояние сервиса, фреймворк также предоставляет возможность просмотра логов в режиме онлайн. Отсутствует.
Трассировка транзакций Использует Apache SkyWalking. Больше не нужно беспокоиться, куда уходят запросы или где возникают проблемы. Оно позволяет в реальном времени просматривать каждый узел, через который проходит запрос. Отсутствует.
Генератор кода Необходимо только правильно спроектировать структуру таблицы, после чего можно сгенерировать все CRUD коды и страницы одним щелчком мыши. Уменьшает объем разработки на 80%, позволяя сосредоточиться на дизайне бизнес-процессов. Фреймворк адаптирован к MP, SpringDoc для нормализации кода, поддерживает генерацию кода для динамических многоданных источников. Генерация исходной структуры кода, поддерживает только генерацию для одного источника данных.
Изменение пути проекта Предоставляет подробное руководство по изменению и делает некоторые изменения, что делает его очень простым для изменения в соответствии с вашими потребностями. Требуется много изменений, ограниченное руководство.
Интернационализация Основана на динамическом возврате контента на разных языках на основе заголовков запроса. Низкая сложность разработки, есть соответствующие инструментальные классы, поддерживающие большинство аннотаций для интернационализации. Предоставляет базовые функции, другие требуют самостоятельного расширения.
Тестирование синглтона кода Предоставляет тестирование синглтона, используя методы написания и плагин Maven для многоканального тестирования в различных средах. Предоставляет только базовые функции, расширения необходимо писать самостоятельно.
-------- ---------------------------------------------------------------------- -----
Управление арендаторами Управление арендаторами в системе, например: пакеты арендаторов, сроки истечения, количество пользователей, информация о компании и т. д. Поддерживается
Управление пакетами арендаторов Управление пакетами, доступными для арендаторов в системе, например: меню, включенные в пакет и т. д. Поддерживается
Управление клиентскими приложениями Управление всеми клиентскими приложениями, подключенными к системе, например: ПК, мини-приложения и т. д.
Поддерживает динамическое авторизованное вход в систему, например: вход по SMS, вход по паролю и т. д. Поддерживает динамическое управление сроком действия токена
Поддерживается
Управление подразделениями Настройка организационной структуры системы (компания, подразделение, группа) с поддержкой структуры дерева и прав доступа к данным Поддерживается
Управление должностями Настройка должностей, занимаемых пользователями в системе Поддерживается
Управление меню Настройка меню системы, прав доступа к операциям, меток прав доступа к кнопкам и т. д. Поддерживается
Управление ролями Распределение прав доступа к меню для ролей, настройка прав доступа к данным по организациям для ролей Поддерживается
Управление словарями Поддержка управления часто используемыми данными в системе, которые являются достаточно статичными Поддерживается
Управление параметрами Поддержка динамической настройки часто используемых параметров в системе Поддерживается
Журналы операций Поддержка записи и поиска журналов нормальной работы системы, записи и поиска журналов нештатных ситуаций Поддерживается
Журналы входа Поддержка записи и поиска журналов входа в систему, включая нештатные ситуации при входе Поддерживается
Файловое управление Управление системными файлами: отображение, загрузка, скачивание, удаление и т. д. Поддерживается
Конфигурация файлов Динамическое добавление, изменение и удаление конфигурационных данных для загрузки и скачивания файлов Поддерживается
Управление онлайн-пользователями Мониторинг информации о онлайн-пользователях и принудительное отключение Поддерживается
Планирование задач Выполнение отчетов, управление задачами (добавление, изменение, удаление), управление логами, управление исполнителями и т. д. Поддерживается
Генерация кода Генерация кода для фронтенда и бэкенда (Java, HTML, XML, SQL) для CRUD-операций Поддерживается
Мониторинг сервисов Мониторинг кластерной системы: CPU, память, жесткий диск, стек, онлайн-логи, конфигурации Spring и т. д. Поддерживается
Мониторинг кэша Поиск информации о кэше системы, статистика команд и т. д. Поддерживается
Онлайн-конструктор Создание HTML-кода с помощью перетаскивания элементов формы Поддерживается
Примеры использования Примеры использования некоторых функций системы Поддерживается

Справочная документацияПеред использованием фреймворка внимательно ознакомьтесь с ключевыми моментами документации


>[Инициализация проекта (обязательно к прочтению)](https://plus-doc.dromara.org/#/ruoyi-vue-plus/quickstart/init) >>[https://plus-doc.dromara.org/#/ruoyi-vue-plus/quickstart/init](https://plus-doc.dromara.org/#/ruoyi-vue-plus/quickstart/init) > >[Статьи и видео (обязательно к просмотру)](https://plus-doc.dromara.org/#/common/column) >>[https://plus-doc.dromara.org/#/common/column](https://plus-doc.dromara.org/#/common/column) > >[Развертывание проекта (обязательно к прочтению)](https://plus-doc.dromara.org/#/ruoyi-vue-plus/quickstart/deploy) >>[https://plus-doc.dromara.org/#/ruoyi-vue-plus/quickstart/deploy](https://plus-doc.dromara.org/#/ruoyi-vue-plus/quickstart/deploy) > >[Как присоединиться к группе](https://plus-doc.dromara.org/#/common/add_group) >>[https://plus-doc.dromara.org/#/common/add_group](https://plus-doc.dromara.org/#/common/add_group) > >[Справочная документация Wiki](https://plus-doc.dromara.org) >>[https://plus-doc.dromara.org](https://plus-doc.dromara.org)

Схема архитектуры программного обеспечения

Схема развертывания Plus

Как участвовать в вкладе

Способы участия в вкладе https://plus-doc.dromara.org/#/common/contribution

Донат автору

Автор занимается открытым исходным кодом в свободное время, поэтому если вам помогло, вы можете пригласить автора на обед ## Примеры демонстрации| | | |--------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------| | ! [Введите описание изображения](https://foruda. gitee. com/images/1680077524361362822/270bb429_1766278. png "Скриншот экрана") | ! [Введите описание изображения](https://foruda. gitee. com/images/1680077619939771291/989bf9b6_1766278. png "Скриншот экрана") | | ! [Введите описание изображения](https://foruda. gitee. com/images/1680077681751513929/1c27c5bd_1766278. png "Скриншот экрана") | ! [Введите описание изображения](https://foruda. gitee. com/images/1680077721559267315/74d63e23_1766278. png "Скриншот экрана") | | ! [Введите описание изображения](https://foruda. gitee. com/images/1680077765638904515/1b75d4a6_1766278. png "Скриншот экрана") | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078026375951297/eded7a4b_1766278. png "Скриншот экрана") | | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078237104531207/0eb1b6a7_1766278. png "Скриншот экрана") | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078254306078709/5931e22f_1766278. png "Скриншот экрана") | | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078287971528493/0b9af60a_1766278. png "Скриншот экрана") | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078308138770249/8d3b6696_1766278. png "Скриншот экрана") | | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078352553634393/db5ef880_1766278. png "Скриншот экрана") | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078378238393374/601e4357_1766278. png "Скриншот экрана") |png "Скриншот экрана") | | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078414983206024/2aae27c1_1766278. png "Скриншот экрана") | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078446738419874/ecce7d59_1766278. png "Скриншот экрана") | | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078475971341775/149e8634_1766278. png "Скриншот экрана") | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078491666717143/3fadece7_1766278. png "Скриншот экрана") | | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078558863188826/fb8ced2a_1766278. png "Скриншот экрана") | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078574561685461/ae68a0b2_1766278. png "Скриншот экрана") || ! [Введите описание изображения](https://foruda. gitee. com/images/1680078594932772013/9d8bfec6_1766278. png "Экранное изображение") | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078626493093532/fcfe4ff6_1766278. png "Экранное изображение") | | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078643608812515/0295bd4f_1766278. png "Экранное изображение") | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078685196286463/d7612c81_1766278. png "Экранное изображение") | | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078703877318597/56fce0bc_1766278. png "Экранное изображение") | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078716586545643/b6dbd68f_1766278. png "Экранное изображение") | | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078734103217688/eb1e6aa6_1766278. png "Экранное изображение") |com/images/1680078759131415480/73c525d8_1766278. png "Экранное изображение") | | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078779416197879/75e3ed02_1766278. png "Экранное изображение") | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078802329118061/77e10915_1766278. png "Экранное изображение") | | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078893627848351/34a1c342_1766278. png "Экранное изображение") | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078928175016986/f126ec4a_1766278. png "Экранное изображение") | | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078941718318363/b68a0f72_1766278. png "Экранное изображение") | ! [Введите описание изображения](https://foruda. gitee. com/images/1680078963175518631/3bb769a1_1766278. png "Экранное изображение") | | ! [Введите описание изображения](https://foruda. gitee. com/images/1735829153637063344/3c21fd4c_1419627. png "Экранное изображение") | ! [Введите описание изображения](https://foruda. gitee. com/images/1735829181303499815/4522cefa_1419627. png "Экранное изображение") | | ! [Введите описание изображения](https://foruda. gitee. com/images/1735829377205259767/76a705d7_1419627. png "Экранное изображение") | ! [Введите описание изображения](https://foruda. gitee. com/images/1722959592856812900/e2d0d342_1419627. png "Экранное изображение") | | ! [Введите описание изображения](https://foruda. gitee. com/images/1680079274333484664/4dfdc7c0_1766278. png "Экранное изображение") | ! [Введите описание изображения](https://foruda. gitee. com/images/1680079290467458224/d6715fcf_1766278. png "Экранное изображение") |

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

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/dromara-RuoYi-Vue-Plus.git
git@api.gitlife.ru:oschina-mirror/dromara-RuoYi-Vue-Plus.git
oschina-mirror
dromara-RuoYi-Vue-Plus
dromara-RuoYi-Vue-Plus
5.X