Base Admin: простая универсальная система управления бэкендом
Base Admin — это простая универсальная система управления бэкендом, которая включает в себя следующие основные функции: управление правами доступа, управление меню, управление пользователями, системные настройки, журналы в реальном времени, мониторинг в реальном времени, шифрование API, а также изменение пароля для входа и настройка индивидуального меню.
Технологический стек:
- Фронтенд: layui;
- Бэкенд на Java: SpringBoot + Thymeleaf + WebSocket + Spring Security + SpringData-Jpa + MySql.
Эффект работы:
[Рисунок Base Admin]
Репозитории:
Для получения более подробной информации посетите мой блог «Разработка открытой простой универсальной системы управления бэкендом».
Часто задаваемые вопросы:
- Почему загрузка jar-файла из maven занимает много времени и не отвечает?
Ответ: Это может быть связано с проблемами подключения к сети или другими неизвестными причинами, которые могут привести к сбою IDE при загрузке jar-файлов через интернет.
Решение: Если проблема связана с сетью, попробуйте решить её самостоятельно. Если сеть работает нормально, не стоит ждать бесконечно — перезапустите IDE, чтобы она могла повторно подключиться к интернету и загрузить файлы.
- В IDE возникает ошибка компиляции, и она не может найти методы set и get для сущностей.
Ответ: Проект разработан с использованием Lombok, который автоматически генерирует методы set и get при создании байт-кода класса. Однако в файлах Java нет методов set и get, поэтому IDE не может их распознать и выдаёт ошибку компиляции.
Решение: Установите плагин Lombok в IDE, чтобы он мог распознавать соответствующие методы set и get. После установки перезапустите IDE для активации плагина.
- Где находятся файлы базы данных?
Ответ: Рекомендуется внимательно изучить документацию. Подробные инструкции можно найти в блоге в разделе «Код открыт».
Решение: Файл base_admin.sql находится в папке resources/static/sql.
- Как запустить программу?
Ответ: Вы не знакомы со Springboot. Рекомендуется изучить Springboot и ознакомиться с моим открытым проектом SpringBoot.
Решение: После того как IDE распознает проект как Springboot, запустите функцию main() в классе BaseAdminApplication для запуска программы.
- Какие учётные данные используются для тестирования? (Примечание: это среда разработки dev, по умолчанию проверка подлинности отключена.)
Ответ:
| Имя пользователя | Пароль |
| --- | --- |
| sa | 123456 |
- Как создать код бэкенда для таблицы с помощью обратного проектирования? У меня есть инструмент AutoGenerator.java, который генерирует базовый код для одной таблицы.
Ответ: Сначала создайте таблицу данных, настройте источник данных и путь проекта в классе AutoGenerator. Затем укажите таблицы, для которых нужно сгенерировать код, в массиве tables в функции main(). Запустите функцию main(), чтобы сгенерировать полный набор кода для операций CRUD и разбиения на страницы.
Дополнительная информация доступна в блоге: https://www.cnblogs.com/huanzi-qch/p/10281773.html.
Обновление от 24 июня 2021 года: Я улучшил код AutoGenerator.java и выпустил версию V2.0 генератора кода. Теперь поддерживается использование шаблонов для генерации кода с помощью AutoGeneratorPlus.java.
- Как пропустить авторизацию и напрямую протестировать интерфейс?
Ответ: Некоторые пользователи сообщают, что они настроили тестовый интерфейс в разделе «Доступ без прав», но всё равно перенаправляются на страницу входа, например, /sys/sysUser/getUserById.
Причина: Конфигурация URL-адреса интерфейса в разделе «Управление правами» конфликтует с конфигурацией тестового интерфейса (например, /sys/, /sys/sysUser/* и т. д.), и приоритет конфигурации «Управление правами» выше, поэтому происходит перенаправление на страницу входа.
Решение: Удалите все конфликтующие URL-интерфейсы «Управление правами», такие как /sys/.
Обновление от 25 января 2021 года: Некоторые пользователи всё ещё сталкиваются с проблемой невозможности тестирования интерфейсов без авторизации. Я добавил новый модуль OpenApi в проект, который можно использовать в качестве справочного материала. После запуска проекта перейдите к интерфейсу OpenApi для тестирования: http://localhost:8888/openApi/test.
- Не хочу использовать JPA, как быстро перейти на MyBatis-Plus?
Ответ: И JPA, и MyBatis-Plus были упакованы и имеют высокий уровень согласованности в стиле кодирования. Оба предоставляют инструменты автоматического создания кода, и этот проект использует упаковку JPA. Для быстрого перехода можно обратиться к предыдущим блогам.
MP: Серия SpringBoot — интеграция и упаковка MyBatis-Plus (https://www.cnblogs.com/huanzi-qch/p/13561164.html)
JPA: Серия SpringBoot — автоматическая генерация базового кода CRUD для одной таблицы (https://www.cnblogs.com/huanzi-qch/p/10281773.html)
- Я хочу разделить переднюю и заднюю части проекта. Сложно ли это сделать? Как мне начать?
Ответ: Сложность определённо существует, но если вы хорошо знакомы с этим проектом, у вас уже должна быть стратегия. Если нет, вы можете обратиться к следующим блогам:
Springboot + spring security +oauth2.0 demo, разделение аутентификации и авторизации на два модуля (режим пароля) (https://www.cnblogs.com/hetutu-5238/p/10022963.html), GitHub адрес (https://github.com/hetutu5238/zmc_security_oauth2).
Кроме того, я разработал простую структуру для разделения передней и задней частей проекта, включая портал переднего конца и администратора заднего конца, которые можно легко использовать для вторичного развития и разделения передней и задней частей.
Подробности см. в блоге (https://www.cnblogs.com/huanzi-qch/p/13933461.html), адрес GitHub (https://github.com/huanzi-qch/fast-scaffold).
- При запуске jar-пакета происходит сбой запуска?
Ответ: Скорее всего, проблема в созданном jar-файле. Обратитесь к блогу для повторной упаковки. Серия SpringBoot — упаковка jar и war (https://www.cnblogs.com/huanzi-qch/p/9948060.html).
Выяснилось, что многие пользователи неправильно создают jar-файлы. Я уже изменил конфигурацию упаковки в pom.xml, указав путь для создания пакета. Выполните команду maven package, и файл jar будет создан в каталоге package на том же уровне, что и pom.xml.
Также обратите внимание:
../package pom.xml файл на один уровень выше каталога package
/package C диск каталог package папка
package pom.xml файл того же уровня каталог package
Реклама AD (долгосрочная аренда, пожалуйста, свяжитесь со мной, если вам нужно)
[Alibaba Cloud] Alibaba Cloud предлагает самые полные скидки! (https://www.aliyun.com/activity?userCode=ckkryd9h)
[Tencent Cloud] Tencent Cloud предлагает последние скидки! (https://cloud.tencent.com/act/cps/redirect?redirect=11447&cps_key=e1c9db729edccd479fc902634492bf53)
QQ группа
Если у вас есть какие-либо вопросы, присоединяйтесь к группе QQ для общения!
Пожертвование
Поддержка проекта способствует его дальнейшему развитию и улучшению. Если вам нравится этот проект, вы можете поддержать его.
Опубликовать ( 0 )