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
项目体验
传送门
开源协议:Apache2.0
开源地址:https://github.com/flipped-aurora/gin-vue-admin
项目合集:https://github.com/OpenTechCol/OpenTechCol
-END-
原文始发于微信公众号(开源技术专栏):基于 vue 和 gin 开发的全栈前后端分离的开发基础平台
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/155268.html