基于 vue 和 gin 开发的全栈前后端分离的开发基础平台
《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个基于vite+vue3+gin搭建的开发基础平台——Gin-vue-admin。
Gin-vue-admin是一个基于 vue 和 gin 开发的全栈前后端分离的开发基础平台,集成 jwt 鉴权,动态路由,动态菜单,ca**in 鉴权,表单生成器,代码生成器等功能,提供多种示例文件,让您把更多时间专注在业务开发上。
Gin-vue-admin 团队会对以下四个版本持续维护,请选择适合自己的版本使用。最新技术栈为组合式 api 版本,已支持多语言(I18N):
组合式API版(主) 组合式API多语言(i18n)版声明式API版声明式API多语言(i18n)版主要功能
权限管理:基于 jwt 和 ca**in 实现的权限管理。文件上传下载:实现基于七牛云、阿里云、腾讯云 的文件上传*作(请开发自己去各个平台的申请对应 token 或者对应 key)。分页封装:前端使用 mixins 封装分页,分页方法调用 mixins 即可。用户管理:系统管理员分配用户角色和角色权限。角色管理:创建权限控制的主要对象,可以给角色分配不同 api 权限和菜单权限。菜单管理:实现用户动态菜单配置,实现不同角色不同菜单。api 管理:不同用户可调用的 api 接口的权限不同。配置管理:配置文件可前台修改(在线体验站点不**此功能)。条件搜索:增加条件搜索示例。restful 示例:可以参考用户管理模块中的示例 API。多点登录**:需要在 config.yaml 中把 system 中的 use-multipoint 修改为 true (需要自行配置 Redis 和 Config 中的 Redis 参数,测试阶段,有 bug 请及时反馈)。分片上传:提供文件分片上传和大文件分片上传功能示例。表单生成器:表单生成器借助 @form-generator 。代码生成器:后台基础逻辑以及简单 c**d 的代码生成器。技术选型
前端:用基于 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推荐:Golandserver项目使用 Goland 等编辑工具,打开server目录,不可以打开 gin-vue-admin 根目录。
# **项目 git clone https://github.com/flipped-a**ora/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-a**ora/gin-vue-admin