《开源精选》是我们分享github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个基于vite vue3 gin搭建的开发基础平台——Gin-vue-admin。
Gin-vue-admin是一个基于 vue 和 gin 开发的全栈前后端分离的开发基础平台,集成 jwt 鉴权,动态路由,动态菜单,casbin 鉴权,表单生成器,代码生成器等功能,提供多种示例文件,让您把更多时间专注在业务开发上。
Gin-vue-admin 团队会对以下四个版本持续维护,请选择适合自己的版本使用。最新技术栈为组合式 api 版本,已支持多语言(I18N):
- 组合式API版(主)
- 组合式API多语言(i18n)版
- 声明式API版
- 声明式API多语言(i18n)版
- 权限管理:基于 jwt 和 casbin 实现的权限管理。
- 文件上传下载:实现基于七牛云、阿里云、腾讯云 的文件上传操作(请开发自己去各个平台的申请对应 token 或者对应 key)。
- 分页封装:前端使用 mixins 封装分页,分页方法调用 mixins 即可。
- 用户管理:系统管理员分配用户角色和角色权限。
- 角色管理:创建权限控制的主要对象,可以给角色分配不同 api 权限和菜单权限。
- 菜单管理:实现用户动态菜单配置,实现不同角色不同菜单。
- api 管理:不同用户可调用的 api 接口的权限不同。
- 配置管理:配置文件可前台修改(在线体验站点不开放此功能)。
- 条件搜索:增加条件搜索示例。
- restful 示例:可以参考用户管理模块中的示例 API。
- 多点登录限制:需要在 config.yaml 中把 system 中的 use-multipoint 修改为 true (需要自行配置 Redis 和 Config 中的 Redis 参数,测试阶段,有 bug 请及时反馈)。
- 分片上传:提供文件分片上传和大文件分片上传功能示例。
- 表单生成器:表单生成器借助 @form-generator 。
- 代码生成器:后台基础逻辑以及简单 curd 的代码生成器。
- 前端:用基于 Vue 的 Element 构建基础页面。
- 后端:用 Gin 快速搭建基础 restful 风格 API,Gin 是一个 go 语言编写的 Web 框架。
- 数据库:采用 MySql > 5.7 版本 数据库引擎 InnoDB,使用 gorm 实现对数据库的基本操作。
- 缓存:使用 Redis 实现记录当前活跃用户的 jwt 令牌并实现多点登录限制。
- API 文档:使用 Swagger 构建自动化文档。
- 配置文件:使用 fsnotify 和 viper 实现 yaml 格式的配置文件。
- 日志:使用 zap 实现日志记录。
前端架构图
项目体验
安装运行
- node版本 > v16.8.3
- golang版本 >= v1.16
- IDE推荐:Goland
- server项目
使用 Goland 等编辑工具,打开server目录,不可以打开 gin-vue-admin 根目录。
# 克隆项目
git clone https://github.com/flipped-aurora/gin-vue-admin.git
# 进入server文件夹
cd server
# 使用 go mod 并安装go依赖包
go generate
# 编译
go build -o server main.go (windows编译命令为go build -o server.exe main.go )
# 运行二进制
./server (windows运行命令为 server.exe)
- web项目
# 进入web文件夹
cd web
# 安装依赖
npm install
# 启动web项目
npm run serve
-END-
开源协议:Apache2.0
开源地址:https://github.com/flipped-aurora/gin-vue-admin
,