id | title | sidebar_label |
---|---|---|
README |
Английский документ |
Английский документ |
Английский | Китайский язык
логин: guest
пароль: 123456
Привет! Благодарим вас за выбор gin-admin. Gin-admin — это полнослоистый (разделение фронтенда и бэкенда) фреймворк, предназначенный для систем управления. Он объединяет множество функций, таких как аутентификация JWT, динамическое маршрутизация, динамическое меню, аутентификация Casbin и прочее. Это позволяет вам сосредоточиться на ваших бизнес-требованиях.
- версия Node.js > v8.6.0
- версия Go >= v1.14
- Рекомендованное средство разработки: Goland
git clone https://github.com/coderchiang/gin-admin
cd gin-admin
sudo chmod a+x up.sh
./up.sh
>`up.sh` содержит скрипты запуска всех конфигураций процесса старта проекта, конкретная логика может быть аннотирована в соответствии с вашими потребностями; вы также можете отдельно входить в веб и сервер для сборки и настройки запуска проекта. Конкретные действия следуют:
```html
<ul>
<li>Добавьте права доступа к файлу `up.sh`:</li>
<ul><code>sudo chmod a+x up.sh</code></ul>
<li>Выполните скрипт `up.sh`:</li>
<ul><code>./up.sh</code></ul>
</ul>
```### 2.1 Веб
```bash
# войти в директорию проекта
cd web
# установить зависимости
yarn install
# запустить
yarn run serve
# сборка
yarn run build
# войти в директорию проекта
cd server
# использовать go.mod
go env -w GO111MODULE=on
# На территории КНР доступ к go.org/x запрещён, рекомендуется [goproxy.io](https://goproxy.io/zh/)
go env -w GOPROXY=https://goproxy.io,direct
# установить модули Go
go mod tidy
go build
### 2.3 Инструкция по начальной конфигурации
- Конфигурационный файл [config.yaml](./server/conf/config.yaml)
- Импортировать файл инициализации SQL (по умолчанию MySQL) [init.sql](./server/data/init.sql)
### 2.4 Генерация документации API
cd server swag init
После выполнения вышеуказанной команды, в директории `server/` появится папка `docs`. Откройте ваш браузер и перейдите по адресу `http://localhost/swagger/index.html`, чтобы просмотреть документацию Swagger.
## 3. Технический выбор
- Frontend: использование `Vben` на основе Vue для написания страниц.
- Backend: использование `Gin` для быстрого создания базовых RESTful API. `Gin` — это веб-фреймворк, написанный на Go (Golang).
- БД: `MySQL`(5.7), используя `gorm` для реализации манипуляций с данными, добавлена поддержка SQLite баз данных.
- Кэш: использование `Redis` для записи токена JWT активного пользователя и ограничения множественного входа.
- API: использование Swagger для автоматической генерации документации API.
- Конфигурация: использование `fsnotify` и `viper` для реализации конфигурационного файла `yaml`.
- Логи: использование `zap` для записи логов.## 4. Архитектура проекта
### 4.1 Схема архитектуры
<p align="center">
<img src="https://gitee.com/Chris_Chiang/gin-admin/raw/main/server/data/gin-admin-en.png" width="936px" height="491px"/>
</p>
### 4.2 Расположение проекта
```
├── server (сервер, Gin)
│ ├── app (приложение, backend API)
│ ├── common (общие константы, переменные, утилиты)
│ ├── conf (конфигурация)
│ ├── dao (Data Access Object)
│ ├── data (глобальные данные)
│ ├── docs (документация, сгенерированная Swagger)
│ ├── dto (Data Transfer Object)
│ ├── initialize (инициализация системы)
│ ├── log (логи)
│ ├── middleware (папка middleware)
│ ├── resource (ресурс Casbin)
│ ├── routers (папка конфигурации маршрутов)
│ └── service (папка сервисов)
└── web (фронтенд, Vue-Vben-Admin)
├── build (Vite)
├── dist (распределённые файлы)
├── mock (mock данные)
├── public (публичные файлы)
├── src
├── test
└── types
```
## 5. Возможности- Управление правами доступа: управление правами на основе `JWT` и `Casbin`.
- Управление отделами: конфигурирование позиций системных пользователей.
- Управление пользователями: системный администратор назначает роли пользователям и права этих ролей.
- Управление ролями: создание основного объекта управления правами, а затем назначение различных прав доступа к API и меню для роли.
- Управление меню: реализация динамической конфигурации меню пользователя, назначение различных меню различным ролям.
- Управление API: различные пользователи могут вызывать различные права доступа к API.
- Управление конфигурациями: файл конфигурации может быть изменён в веб-странице (в тестовой среде эта функция недоступна).## 6. Как принять участие
Вы очень приветствуем ваше участие! [Открыть вопрос](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`: В разработке
## Список методов
- [ ] Загрузка и экспорт Excel
- [ ] Загрузка файлов
## 8. Контакты
### 8.1 Группы
#### Группа QQ: 1055067008
| Группа QQ |
| :---: |
| <img src="https://gitee.com/Chris_Chiang/gin-admin/raw/main/server/data/qq.png" width="180"/> |
Присоединиться к группе QQ, пожалуйста, не рекламируйте
#### Группа WeChat: напишите "присоединиться к обменной группе gin-admin"
| 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. Поддержка проекта
Если вы считаете этот проект полезным, вы можете купить автору чашку сока :tropical_drink: [здесь](http://2wm.top/about/)
```markdown
## 10. Коммерческие соображения
Этот проект использует лицензию MIT, а также фронтендовый фреймворк Vben, основанный на лицензии MIT. Это полностью открытый и бесплатный проект, который можно использовать без ограничений.
```
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )