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

OSCHINA-MIRROR/Chris_Chiang-gin-admin

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

Английский | Китайский язык

  • Веб-интерфейсная платформа: vue-vben-admin
  • Серверная платформа: Gin

Проектный документ

1. Основное введение

1.1 Введение проекта

Онлайн демо

логин: guest

пароль: 123456

Привет! Благодарим вас за выбор gin-admin. Gin-admin — это полнослоистый (разделение фронтенда и бэкенда) фреймворк, предназначенный для систем управления. Он объединяет множество функций, таких как аутентификация JWT, динамическое маршрутизация, динамическое меню, аутентификация Casbin и прочее. Это позволяет вам сосредоточиться на ваших бизнес-требованиях.

2. Начало работы

- версия Node.js > v8.6.0
- версия Go >= v1.14
- Рекомендованное средство разработки: Goland
  • клонировать проект
git clone https://github.com/coderchiang/gin-admin
  • войти в директорию проекта
cd gin-admin
  • добавить права доступа и выполнить```bash

добавить права доступа

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

2.2 Сервер

# войти в директорию проекта
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 )

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

Введение

Gin-admin — это бэкенд-система управления с полным разделением фронтенда и бэкенда, разработанная на основе Vue и Gin. Развернуть Свернуть
TypeScript и 6 других языков
MIT
Отмена

Обновления

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

Участники

все

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

Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/Chris_Chiang-gin-admin.git
git@gitlife.ru:oschina-mirror/Chris_Chiang-gin-admin.git
oschina-mirror
Chris_Chiang-gin-admin
Chris_Chiang-gin-admin
main