---
id: README.zh-CN
title: Русский документ
sidebar_label: Русский документ
---
<div align="center">
<p align="center">
  <a href="https://github.com/coderchiang/gin-admin">
    <img width="48%" alt="gin-admin" src="https://gitee.com/Chris_Chiang/gin-admin/raw/main/server/data/logo.png" />
  </a>
</p>
<img src="https://img.shields.io/badge/go-1.16-blue"/>
<a href="https://github.com/coderchiang/gin-admin">
<img src="https://img.shields.io/github/license/mashape/apistatus.svg" alt="лицензия"/>
</a>
<img src="https://img.shields.io/badge/$-пожертвовать-ff69b4.svg" alt="пожертвование"/>
</div>

# Проектная документация
Русский | [Английский](./README.md)

[gitee адрес: https://gitee.com/Chris_Chiang/gin-admin](https://gitee.com/Chris_Chiang/gin-admin)

[github адрес: https://github.com/coderchiang/gin-admin](https://github.com/coderchiang/gin-admin)

- Передняя UI-фреймворк: [vue-vben-admin](https://github.com/anncwb/vue-vben-admin)
- Задний фреймворк: [Gin](https://github.com/gin-gonic/gin)

## 1. Основное описание

### 1.1 Проектное описание

[Онлайн просмотр http://2wm.top/](http://2wm.top/)

Тестовое имя пользователя: guest

Тестовый пароль: 123456

> Привет! Сначала спасибо за использование gin-admin. Gin-admin — это проект, основанный на Vue и Gin, который предоставляет полный стек переднего и заднего концов управления системой, предназначен для быстрого создания системы управления задним концом; включает JWT-аутентификацию, динамическое маршрутизирование, динамическое меню, аутентификацию Casbin, управление пользователями, управление отделами и другие функции, предоставляющие множество примеров файлов, чтобы вы могли сосредоточиться на разработке бизнеса.## 2. Инструкция использования

```
- Версия Node.js > v14.10
- Версия Go >= v1.14
- Рекомендованное средство разработки: Goland
```

- Используйте Git для клонирования этого проекта
```git
git clone https://github.com/coderchiang/gin-admin
```

- Войдите в директорию проекта
```bash
cd gin-admin
```

- Дайте одному нажатию кнопки запустить скрипт правам доступа и выполните его.

```bash
# Дать права доступа
sudo chmod a+x up.sh
# Выполнить скрипт запуска
./up.sh
```
> `up.sh` содержит все скрипты запуска конфигураций проекта, конкретная логика может быть откомментирована по требованию; вы также можете разделить вход в веб-конец и сервер для отдельной сборки и конфигурации запуска проекта, конкретные действия следуют ниже.


### 2.1 Веб-конец

```bash
# Войдите в веб-конец проекта
cd web

# Установите зависимости
yarn install

# Запустите локальный тестовый сервер
yarn run serve

# Соберите проект
yarn run build
```

### 2.2 Серверный конец

Используйте средства редактирования, такие как Goland, чтобы открыть директорию `server`, нельзя открывать корневую директорию `gin-admin`.

```bash
# Войти в проект
cd server

# Запустить Go Modules функцию
go env -w GO111MODULE=on
# Если вы находитесь в Китае, настройте переменные окружения GOPROXY
go env -w GOPROXY=https://goproxy.io,direct
# Используйте go.mod для установки зависимостей Go
go mod tidy

# Собрать проект
go build
```

### 2.3 Инструкция по начальной конфигурации- Конфигурационный файл находится в [config.yaml](./server/conf/config.yaml)
- Импортировать SQL-файл для инициализации (по умолчанию используется MySQL) [init.sql](./server/data/init.sql)### 2.4 Автоматизация документации Swagger

#### 2.4.1 Установка Swagger

````
go get -u github.com/swaggo/swag/cmd/swag
````

#### 2.4.2 Создание документации API

````
cd server
swag init
````

Выполнение указанных выше команд приведёт к появлению папки `docs` в директории сервера. Откройте `http://localhost/swagger/index.html`, чтобы просмотреть документацию Swagger.


## 3. Технологический выбор

- Передний край: использует `vue` с использованием `vben` для создания базовых страниц.
- Задний край: использует `Gin` для быстрого создания базового RESTful API; `Gin` — это веб-фреймворк, написанный на Go.
- База данных: использует версию `MySQL` (5.7) с использованием `gorm` для выполнения основных операций над базами данных.
- Кэш: использует `Redis` для отслеживания активных пользователей.
- Управление правами доступа: использует `JWT` токены для ограничения многопользовательского входа.
- Документация API: использует `Swagger` для автоматизации документации.
- Конфигурационные файлы: используют `viper` для парсинга конфигурационных файлов в формате `YAML`.
- Логирование: использует `zap` для записи логов.


## 4. Архитектура проекта
### 4.1 Системная архитектура

<p align="center">
  <img src="https://gitee.com/Chris_Chiang/gin-admin/raw/main/server/data/gin-admin.png" width="936px" height="491px"/>
</p>### 4.2 Структура каталогов
```
├── сервер           (server directory)
│   ├── app          (application, backend API)
│   ├── common       (common constants, variables, utility method directory)
│   ├── conf         (configuration directory)
│   ├── dao          (Data Access Object directory for data access objects)
│   ├── data         (directory for global data)
│   ├── docs         (directory for generated Swagger documents)
│   ├── dto          (Data Transfer Object directory for data transfer objects)
│   ├── initialize   (directory for initialization of various components)
│   ├── log          (log directory)
│   ├── middleware   (middleware directory)
│   ├── resource     (resource directory for Casbin)
│   ├── routers      (route configuration directory)
│   └── service      (service level directory)
└── web              (frontend directory, uses Vue-Vben-Admin)
    ├── build        (Vite directory)
    ├── dist         (completed build directory)
    ├── mock         (mock data directory)
    ├── public       (public resources directory)
    ├── src          (source code project directory)
    ├── test
    └── types
```

## 5. Основные функции- Управление правами доступа: реализовано с использованием JWT и Casbin
- Управление отделами: конфигурирование должностей, которыми пользуются пользователи системы
- Управление пользователями: системные администраторы назначают роли пользователям и права этих ролей
- Управление ролями: создание основных объектов управления правами, которым можно назначать различные API-права и меню-права
- Управление меню: реализация динамической конфигурации меню пользователей, позволяющая различным ролям иметь разные меню; одновременно объединяет управление API, при этом различные пользователи имеют разные права доступа к API-интерфейсам.
- Управление логами: регистрация и поиск обычных операционных логов; регистрация и поиск логов системных ошибок, а также логов входа.

## 6. Как внести свой вклад

Очень рад приветствовать вас! [Откройте Issue](https://github.com/coderchiang/gin-admin/issues/new/choose) или отправьте Pull Request.

**Pull Request:**

1. Создайте форк проекта!
2. Создайте свою ветку: `git checkout -b feat/xxxx`
3. Отправьте свои изменения: `git commit -am 'feat(функционал): добавить xxxxx'`
4. Отправьте вашу ветку: `git push origin feat/xxxx`
5. Отправьте pull request### Нормы оформления коммитов Git
  - `feat`: добавление нового функционала
  - `fix`: исправление проблем/багов
  - `style`: изменения стиля кода, не влияющие на его выполнение
  - `perf`: оптимизация/повышение производительности
  - `refactor`: рефакторинг
  - `revert`: откат изменений
  - `test`: тестирование
  - `docs`: документация/комментарии
  - `chore`: обновление зависимостей/конфигураций сборочной среды
  - `workflow`: улучшение рабочего процесса
  - `ci`: непрерывная интеграция
  - `types`: изменения типовых определений
  - `wip`: работа в процессе
  
## 7. План задач- [ ] Импорт/Экспорт Excel
- [ ] Загрузка файлов

## 8. Контакты

### Группа QQ: 1055067008
| Группа QQ |
|  :---:  |
| <img src="https://gitee.com/Chris_Chiang/gin-admin/raw/main/server/data/qq.png" width="180"/> |
Присоединиться к группе QQ, пожалуйста, не распространяйте рекламу

### Группа WeChat
| WeChat |
|  :---:  |
| <img src="https://gitee.com/Chris_Chiang/gin-admin/raw/main/server/data/wechat.png" width="180"/> |
Добавьте WeChat, укажите "вступить в группу общения gin-admin"

### [О нас](http://2wm.top/about/)

## 9. Донат

Если вы считаете этот проект полезным для вас, вы можете поддержать автора, заказав ему кофе! [Здесь](http://2wm.top/about/)

## 10. Вопросы использования в коммерческих целях

Проект использует лицензию MIT, фронтенд-фреймворк Vben также основан на лицензии MIT, это полностью открытый и бесплатный проект, который можно использовать без ограничений в коммерческих целях.