### Тимо v2.0.3

**Лицензия**: Apache 2.0

| Присоединиться к QQ группе №1 | Присоединиться к QQ группе №2 | Звёзды | Форки |
|:--------------------------:|:---------------------------:|:------:|:-----:|
| [![Лицензия](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](LICENSE) | [![Присоединиться к QQ группе ②](https://img.shields.io/badge/QQ%E7%BE%A4②-545633945-brightgreen.svg)](https://jq.qq.com/?_wv=1027&k=5AIEf1E) | [![star](https://gitee.com/aun/Timo/badge/star.svg?theme=dark)](https://gitee.com/aun/Timo/stargazers) | [![fork](https://gitee.com/aun/Timo/badge/fork.svg?theme=dark)](https://gitee.com/aun/Timo/members) |

#### Проект представляет собой
TIMO — это система управления бэкендом, разработанная на основе SpringBoot 2.0, Spring Data Jpa, Thymeleaf и Shiro. Система разделена на модули для удобства разработки и обслуживания. Поддерживает раздельное развёртывание фронтенда и бэкенда. В настоящее время поддерживает следующие функции: управление правами доступа, управление отделами, управление словарями, ведение журнала, загрузка файлов, генерация кода и т. д. Это фреймворк для быстрой разработки бэкенд-систем!

#### Выбор технологий
- Бэкенд: SpringBoot + Spring Data JPA + Thymeleaf + Shiro + Jwt + EhCache.
- Фронтенд: Layui + Jquery + zTree + Font-awesome.

#### Новая структура проекта

![Структура проекта](https://oscimg.oschina.net/oscnet/4e8e47b3801ba98767dc25a1a6efbb522fe.jpg)

#### Список функций
- Управление пользователями: используется для управления пользователями в системе бэкенда, поддерживает операции добавления, удаления, изменения и проверки.
- Управление ролями: минимальная единица распределения прав доступа, через роли пользователям предоставляются права доступа.
- Управление меню: используется для настройки меню системы, также служит ресурсом прав доступа.
- Управление отделами: управление и разделение пользователей с помощью различных отделов.
- Управление словарями: централизованное управление данными, которые требуют преобразования, такими как пол (мужской, женский).
- Журнал действий: записывает действия пользователя в системе и отслеживает ошибки, возникающие во время работы системы.
- Загрузка файлов: предоставляет встроенный интерфейс загрузки файлов для разработчиков.
- Генерация кода: помогает разработчикам быстро разрабатывать проекты, уменьшая ненужное дублирование работы и позволяя уделять больше внимания реализации бизнес-логики.
- Создание форм: позволяет быстро создавать модуль формы с помощью перетаскивания.
- Интерфейс данных: автоматически генерирует соответствующий API-интерфейс на основе бизнес-кода.

#### Инструкция по установке

- **Требования к среде и плагинам**
   - JDK 8+
   - MySQL 5.5+
   - Maven
   - Lombok (важно)

- **Импорт проекта**
  - IntelliJ IDEA: Import Project -> Import Project from external model -> Maven.
  - Eclipse: Import -> Existing Mavne Project.

- **Запуск проекта**
  - Запустите файл com.linln.BootApplication.java в модуле admin через Java-приложение.
  - Конфигурация базы данных: имя базы данных — timo, пользователь — root, пароль — root.
  - Доступный адрес: http://localhost:8080/.
  - Пароль по умолчанию: admin/123456.

#### Использование
1. Документация по использованию: sdoc/Использование документации.docx.
2. Руководство по разработке: [Руководство по разработке TIMO. Онлайн](http://www.linln.cn/docs).
3. Файл SQL: sdoc/timo.sql (часто забывается синхронизировать!).

#### История обновлений
- 2019-11-06: обновление, переименовать тип меню в каталог, меню, кнопку.
- 2019-10-30: обновление, переписать данные «запомнить меня» в Shiro, уменьшить размер cookie.
- 2019-10-25: обновление, добавить метод получения списка ролей пользователя, исправить проблему с тайм-аутом при получении данных отдела.
- 2019-10-17: обновление, оптимизация проблемы с задержкой загрузки js, решение проблемы с максимальным увеличением окна layui.
- 2019-08-28: обновление, добавление конфигурации, можно напрямую настроить правила Shiro и XSS через файл yml!
- 2019-08-11: обновление, согласно Руководству по разработке Alibaba Java, оптимизируйте код.
- 2019-06-14: обновление, исправление проблемы невозможности множественного наследования интерфейса.
- 2019-04-28: обновление, внедрение механизма аутентификации JWT TOKEN, реализация многосторонней аутентификации!
- 2019-04-07: обновление, выпуск версии 2.0, новая структура проекта!
- 2019-02-11: обновление, устранение проблемы с отображением формата словаря с длинными значениями, добавление технологии офлайн-документации 1.0.
- 2019-01-17: обновление, рефакторинг модуля словаря, изменение mo:dictKey на mo:dict.
- 2018-12-18: обновление, добавлены функции импорта и экспорта.
- 2018-12-13: обновление, исправлена проблема с путём генерации кода, содержащим пробелы.
- 2018-12-10: обновление, добавлено xss-предотвращение, добавлен swagger-документ интерфейса данных.
- 2018-12-09: обновление, добавлена функция QuerySpec динамического запроса, добавлена функция сортировки, улучшено управление пользователями и отделами.
- 2018-12-07: обновление, устранена проблема многократной загрузки файлов, изменено название сущности загрузки.
- 2018-12-05: обновление, поддержка трёхуровневого меню, обновление механизма управления правами администратора, устранение некоторых проблем.
- 2018-12-03: обновление, выпущена версия 1.0!

#### Демонстрационный адрес
Демонстрационный адрес: [http://www.linln.cn](http://www.linln.cn).

#### Предварительный просмотр

![Проектная структура](https://oscimg.oschina.net/oscnet/584b70844227ad813eb8f10bd452fad015c.jpg).

![Страница входа](https://oscimg.oschina.net/oscnet/55b1a88090da20735b67ec91a9bcbafc48a.jpg).

![Управление пользователями](https://oscimg.oschina.net/oscnet/91d2f63ac18b34773ddb7f20b25d0c9c539.jpg).

![Управление меню](https://oscimg.oschina.net/oscnet/ac6c1a0521acb2c22c76130057bd97dfd3f.jpg).

![Управление словарями](https://oscimg.oschina.net/oscnet/ce428dc1a62c6d591ac6bb5ed10e32caf39.jpg).

![Журнал действий](https://oscimg.oschina.net/oscnet/8b41f93fad654f81349d9572c1630f6fe1f.jpg).

![Генерация кода](https://oscimg.oschina.net/oscnet/f355fa74868080440299fa4453e9b7ea399.jpg).