# Perfect-Vue-Admin
**Repository Path**: zhangyafeii/perfect-vue-admin
## Basic Information
- **Project Name**: Perfect-Vue-Admin
- **Description**: Perfect Admin的新版本
- **Primary Language**: Go
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 5
- **Forks**: 3
- **Created**: 2020-10-10
- **Last Updated**: 2023-04-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 项目文档
## 基本介绍
基于 Gin 和 Vue 开发的前后端分离的后台管理系统, 前端基于 Vue 的 Element-UI 构建基础 页面,后端基于 Gin 搭建 Web 服务端,采用 Gorm 对 MySQL 数据库进行 CURD 操作,使用 Redis 实现记录当前活跃用户的 jwt 令牌并实现多点登录限制,使用 swagger 构建自动化文档,使用 viper 实现配置文件的解析,使用 go-loggging 实现日志记录。 集成角色权限管理、 jwt 鉴权、动态路由、动态菜单、 casbin 鉴权、表单生成器、代码生成器等功能,可以让开发者花更多时间专注在业务上。
## 1. 技术选型
- 前端:用基于`vue`的`Element-UI`构建基础页面。
- 后端:用`Gin`快速搭建基础restful风格API,`Gin`是一个go语言编写的Web框架。
- 数据库:采用`MySql`(5.7.17)版本,使用`gorm`实现对数据库的基本操作,已添加对sqlite数据库的支持。
- 缓存:使用`Redis`实现记录当前活跃用户的`jwt`令牌并实现多点登录限制。
- API文档:使用`Swagger`构建自动化文档。
- 配置文件:使用`fsnotify`和`viper`实现`yaml`格式的配置文件。
- 日志:使用`go-logging`实现日志记录。
## 2. 项目结构
```
server
│ config.yaml
│ go.mod
│ go.sum
│ main.go
├─api
├─config
├─core
├─docs
├─global
├─initialize
├─log
├─middleware
├─model
├─resource
├─route
├─service
├─static
│ └─upload
└─utils
└─web (前端文件)
├─public (发布模板)
└─src (源码包)
├─api (向后台发送ajax的封装层)
├─assets (静态文件)
├─components(组件)
├─router (前端路由)
├─store (vuex 状态管理仓)
├─style (通用样式文件)
├─utils (前端工具库)
└─view (前端页面)
```
## 3. 主要功能
- 用户管理:系统管理员负责用户基本信息增删改查,角色与对应权限的分配。
- 角色管理:创建权限控制的主要对象,可以给角色分配不同api权限和菜单权限。
- 菜单管理:实现用户动态菜单配置,实现不同角色不同菜单。
- api管理:不同用户可调用的api接口的权限不同。
- 权限管理:基于`jwt`和`casbin`实现的权限管理
- 字典管理:字典可以自定义设置
- 配置管理:配置文件可前台修改(测试环境不开放此功能)
- 富文本编辑器:Quill和MarkDown编辑器功能嵌入。
- 文件上传下载:本地和远程。
- 表单生成器:表单生成器借助 [@form-generator](https://github.com/JakHuang/form-generator)。
- 代码生成器:后台基础逻辑以及简单curd的代码生成器。
- 发送邮件
## 4. 主要功能截图











.png)















