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

OSCHINA-MIRROR/guojf-springboot-manager

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

springboot-manager

Описание

Панель управления на основе SpringBoot + Thymeleaf + Layui + Apache Shiro + Redis + Mybatis Plus
Поддерживает права доступа к меню и данным
Поддерживает базы данных MySQL, Oracle, sqlServer и другие основные базы данных
Предоставляет генератор кода, базовые операции добавления, удаления, изменения и выборки не требуют написания кода, что позволяет быстро завершить задачу.
Интерфейсы RESTful стиля, поддерживают разделение фронтенда и бэкенда, могут использоваться вместе с приложением, используя одну и ту же API.
Минимальная настройка для разработки, может использоваться как стартовая площадка, подходит для самостоятельной настройки.
Если вам нравится проект, чтобы не потеряться, пожалуйста, добавьте звездочку проекту. Ваша поддержка добавляет еще больше мотивации! Спасибо~## Основные характеристики

  • Интерфейсы RESTful стиля, поддерживают разделение фронтенда и бэкенда, могут использоваться вместе с приложением
  • Использует RBAC для управления правами доступа, поддерживает права доступа к данным (см. ниже)
  • Общие средства для упаковки и генерации ответов
  • Общие средства для обработки исключений
  • Shiro + Redis для реализации аутентификации токенов и ролей
  • Использует Drunk Spring Boot Starter для интеграции Drunk с пула подключений к базе данных и мониторинга
  • Использует MyBatis-Plus для реализации одиночных таблиц без SQL
  • Поддерживает несколько источников данных, свободное переключение, достаточно использовать аннотацию @DS для переключения источника данных
  • Использует китайский стиль knife4j для автоматического создания документации API
  • Предоставляет генератор кода (для MySQL, Oracle, SQL Server и других основных баз данных), генерирует код от HTML до Mapper, очень удобно## Кодовый репозиторий Адрес на Gitee: https://gitee.com/zwens/springboot-manager
    Адрес на GitHub: https://github.com/aitangbao/springboot-manager
    Для более простой версии, перейдите по адресу: https://gitee.com/zwens/springboot-manager/tree/simple/## Разработка документации и демонстрация проекта
  • Адрес документации: http://doc.aitangbao.cn
  • Адрес демонстрации: http://manager.aitangbao.cn
  • Логин/пароль: guest/123456
  • Ширина канала 1 м, не очень мощная, извините :joy:

Структура кода

├─main
│  ├─java
│  │  └─com
│  │      └─company
│  │          └─project
│  │              ├─CompanyProjectApplication.java Класс запуска проекта
│  │              ├─common Общие ресурсы, такие как аннотации, аспекты, планирование, глобальное обработки исключений, интеграция Shiro, общие утилиты и т. д.
│  │              ├─controller Контроллерный слой
│  │              ├─entity Энтити классы
│  │              ├─mapper Слой DAO
│  │              ├─service Слой сервисов
│  │              │  └─impl Реализация слоя сервисов
│  └─resources
│      ├── application-dev.yml Файл конфигурации для среды разработки
│      ├── application-test.yml Файл конфигурации для среды тестирования
│      ├── application-prod.yml Файл конфигурации для среды продакшена
│      ├── application.yml Общий файл конфигурации
│      ├── logback-spring.xml Файл конфигурации логирования
│      ├─mapper Файлы XML для MyBatis
│      ├─static Статические файлы
│      │  ├─css Общие файлы CSS
│      │  ├─images Статические изображения
│      │  ├─js Общие файлы JS
│      │  ├─layui Библиотека layui
│      │  └─layui-ext Библиотека плагинов layui
│      ├─template Шаблоны для генерации кода
```│      └─templates              Директория страниц проекта
 │          ├─depts              Управление отделами
 │          ├─error              Страницы ошибок
 │          ├─generator          Управление генерацией кода
 │          ├─logs               Управление логами
 │          ├─menus              Управление меню
 │          ├─roles              Управление ролями
 │          ├─syscontent         Управление контентом
 │          ├─sysdict            Управление словарями
 │          ├─sysfiles           Управление файлами
 │          ├─sysjob             Управление задачами планирования
 │          ├─sysjoblog          Управление логами задач планирования
 │          └─users              Управление пользователями
 └─test
     └─java
         └─com
             └─company
                 └─project
                     ├── CompanyFrameApplicationTests.java Юнит-тесты
 ```## Рекомендации для разработки
 - Внутри класса Model рекомендуется использовать переменные экземпляра, соответствующие количеству полей в таблице. Если требуется расширить переменные экземпляра (например, для запросов с соединением таблиц), рекомендуется создать класс VO. В противном случае, расширенные переменные экземпляра должны быть помечены аннотацией @TableField(exist = false).
 - Рекомендуется выбрасывать исключение бизнес-логики напрямую с помощью throw new BusinessException("ErrorMessage"), чтобы обработка исключения происходила через единый обработчик исключений. Это приведет к тому, что исключение будет обернуто в объект {"code":500002,"message":"ErrorMessage"} и возвращено.
 ```- Поддержка токена осуществляется через заголовок или параметр запроса:
     - В ajax можно установить заголовок: ```beforeSend: function(request) {request.setRequestHeader("authorization", "действительный токен");}```
     - В параметре запроса: ```? authorization=действительный токен```## Инструкции по использованию
- Импортируйте проект в IDE, установив плагин Lombok.
- Установите и запустите Redis.
- Создайте базу данных и импортируйте ***.sql.
- Настройте Redis и подключение к базе данных в application-dev.yml.
- Запустите проект:
    1. Запустите CompanyProjectApplication.java напрямую.
    2. В корневой директории выполните `mvn -X clean package -Dmaven.test.skip=true` для сборки проекта, затем выполните `java -jar manager.jar`.
- Документация API доступна по адресу http://localhost:8080/doc.html.
- Адрес входа http://localhost:8080/index/login, имя пользователя и пароль: admin/123456.
- Использование генерации кода:
    1. Для логического удаления используйте поле deleted: 1 - не удалено, 0 - удалено; для первичного ключа используйте формат `id` varchar(50); избегайте использования ключевых слов базы данных в качестве имен столбцов.
    2. В application.yml настройте проект для указания базы данных, в которой находятся таблицы для генерации кода: project.database=mysql.
    3. Нажмите на меню [Генерация кода], чтобы сгенерировать код для одного или нескольких таблиц и загрузить его на локальный компьютер.
    4. Распакуйте загруженный код и скопируйте папку main в папку src вашего локального проекта.
    5. Выполните SQL-запросы для создания меню.
    6. Нажмите на меню [Управление ролями], чтобы изменить права доступа для роли, связанной с меню, и обновите страницу для просмотра изменений.- Настройка и использование прав доступа к данным. Пример: управление списком статей.
    1. Таблица, требующая настройки прав доступа (например, sys_content), должна содержать поле создателя.
    2. Настройте диапазон данных для роли (например, текущий отдел, другие отделы и т.д.) и связанное с ней подразделение.
    3. В списке добавьте аннотацию @DataScope (для запроса множества ролей пользователя и получения связанных подразделений на основе прав доступа).
    4. При запросе списка или страницы используйте queryWrapper.in(createId, связанные пользователи).

## Техническая документация
* Основной фреймворк: [Spring Boot](https://spring.io/projects/spring-boot)
* Фронтенд-фреймворк: [Layui](https://www.layui.com/)
* Фреймворк для работы с базами данных: [MyBatis-Plus](https://mybatis.plus)
* Пагинация: [Page](https://mybatis.plus/guide/page.html)
* Подключение к базе данных: [Alibaba Druid](https://github.com/alibaba/druid/)
* Фреймворк безопасности: [Apache Shiro](http://shiro.apache.org/)
* Фреймворк кэширования: [Redis](https://redis.io/)
* Документация API: [Knife4j](https://doc.xiaominfo.com/)
* Шаблонизатор: [Thymeleaf](https://www.thymeleaf.org/)
* Руководство по разработке на Java от Alibaba [последняя версия](https://github.com/alibaba/p3c)

## Участие в проекте
1. Fork этого проекта
2. Создайте ветку feature_xxx
3. Подайте код
4. Подайте Pull Request

## Примеры отображения
![введите описание изображения здесь](https://images.gitee.com/uploads/images/2020/0929/142027_57d18746_997722.png "home1.png")
![введите описание изображения здесь](https://images.gitee.com/uploads/images/2020/0521/110629_7526055a_997722.png "home2.png")### Донат
> Развитие проекта невозможно без вашей поддержки. Если у вас есть возможность, поддержите автора, купив ему кофе!

![image-20200506154143271](https://images.gitee.com/uploads/images/2020/0521/110630_6be55411_997722.png)

### Общение
> Если у вас есть вопросы или вы хотите обсудить технические аспекты, свяжитесь со мной, чтобы я добавил вас в группу. Обязательно укажите: Open Source
![微信截图_20210812150831](https://images.gitee.com/uploads/images/2021/0812/150909_069903b5_997722.png "微信截图_20210812150831.png")

Комментарии ( 0 )

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

Введение

Основанная на Spring Boot, Shiro, Redis, Knife4j, MyBatis Plus, Thymeleaf и Layui система управления сайтом, с RESTful стилем backend интерфейсов, поддерживает разделение front и backend, а также общие интерфейсы для мобильного приложения. Предоставляет генератор кода, что позволяет выполнять основные операции CRUD без написания кода, быстро зав... Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/guojf-springboot-manager.git
git@api.gitlife.ru:oschina-mirror/guojf-springboot-manager.git
oschina-mirror
guojf-springboot-manager
guojf-springboot-manager
master