gin-vue-admin
🚀Vite+Vue3+Gin拥有AI辅助的基础开发平台,企业级业务AI+开发解决方案,内置mcp辅助服务,内置skills管理,支持TS和JS混用。它集成了JWT鉴权、权限管理、动态路由、显隐可控组件、分页封装、多点登录拦截、资源权限、上传下载、代码生成器、表单生成器和可配置的导入导出等开发必备功能。
Links
README
From the repo.
English | 简体中文
一分钟生成前后端基础代码
|
📄 创建基础模板 🤖 AI生成结构 ⏰ 生成代码 🏷️ 分配权限 🎉 基础CURD生成完成 |
项目文档
- 在线文档: https://www.gin-vue-admin.com
- 初始化指南: 点击查看
- 从环境到部署教学视频: bilibili
- 开发教学: 开发教学说明 (贡献者: LLemonGreen And Fann)
- 交流社区: 点击进入
- 插件市场: 点击进入
- 软件著作权证书: 查看证书
重要提示
- 本项目从起步到开发到部署均有文档和详细视频教程。
- 本项目需要您有一定的 golang 和 vue 基础。
- 您完全可以通过我们的教程和文档完成一切操作,因此我们不再提供免费的技术服务,如需服务请进行付费支持。
- 本项目采用 BSL 1.1 授权。非商用、学习、评估等用途请遵循仓库许可证;如将此项目用于商用或生产环境,或需要移除版权与署名信息,请购买授权。您需保留仓库、日志和代码中的版权声明信息。
1. 基本介绍
1.1 项目介绍
Gin-vue-admin是一个基于 vue 和 gin 开发的全栈前后端分离的开发基础平台,集成jwt鉴权,动态路由,动态菜单,casbin鉴权,表单生成器,代码生成器等功能,提供多种示例文件,让您把更多时间专注在业务开发上。
- 在线预览: http://demo.gin-vue-admin.com
- 测试用户名:
admin - 测试密码:
123456
1.2 贡献指南
Hi! 首先感谢你使用 gin-vue-admin。
Gin-vue-admin 是一套为快速研发准备的一整套前后端分离架构式的开源框架,旨在快速搭建中小型项目。
Gin-vue-admin 的成长离不开大家的支持,如果你愿意为 gin-vue-admin 贡献代码或提供建议,请阅读以下内容。
1.2.1 Issue 规范
- issue 仅用于提交 Bug 或 Feature 以及设计相关的内容,其它内容可能会被直接关闭。
- 在提交 issue 之前,请搜索相关内容是否已被提出。
1.2.2 Pull Request 规范
- 请先 fork 一份到自己的项目下,不要直接在仓库下建分支。
- commit 信息要以
[文件名]: 描述信息的形式填写,例如README.md: fix xxx bug。 - 如果是修复 bug,请在 PR 中给出描述信息。
- 合并代码需要两名维护人员参与:一人进行 review 后 approve,另一人再次 review,通过后即可合并。
2. 使用说明
- node版本 > v18.16.0
- golang版本 >= v1.22
- IDE推荐:Goland
2.1 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 run .
2.2 web项目
# 进入web文件夹
cd web
# 安装依赖
npm install
# 启动web项目
npm run serve
2.3 swagger自动化API文档
2.3.1 安装 swagger
go install github.com/swaggo/swag/cmd/swag@latest
2.3.2 生成API文档
cd server
swag init
执行上面的命令后,server目录下会出现docs文件夹里的
docs.go,swagger.json,swagger.yaml三个文件更新,启动go服务之后, 在浏览器输入 http://localhost:8888/swagger/index.html 即可查看swagger文档
2.4 VSCode工作区
2.4.1 开发
使用 VSCode 打开根目录下的工作区文件 gin-vue-admin.code-workspace,在边栏可以看到三个虚拟目录:backend、frontend、root。
2.4.2 运行/调试
在运行和调试中也可以看到三个 task:Backend、Frontend、Both (Backend & Frontend)。运行 Both (Backend & Frontend) 可以同时启动前后端项目。
2.4.3 settings
在工作区配置文件中有 go.toolsEnvVars 字段,是用于 VSCode 自身的 go 工具环境变量。此外在多 go 版本的系统中,可以通过 gopath、go.goroot 指定运行版本。
"go.gopath": null,
"go.goroot": null,
3. 技术选型
- 前端:用基于 Vue 的 Element 构建基础页面。
- 后端:用 Gin 快速搭建基础restful风格API,Gin 是一个go语言编写的Web框架。
- 数据库:采用
MySQL或MariaDB(5.7+),数据库引擎 InnoDB,使用 gorm 实现对数据库的基本操作。 - 缓存:使用
Redis实现记录当前活跃用户的 jwt 令牌并实现多点登录限制。 - API文档:使用
Swagger构建自动化文档。 - 配置文件:使用 fsnotify 和 viper 实现 yaml 格式的配置文件。
- 日志:使用 zap 实现日志记录。
4. 项目架构
4.1 系统架构图

4.2 详细设计图 (提供者:baobeisuper)

4.3 目录结构
(详细目录结构请见源码...)
5. 主要功能
- 权限管理:基于
jwt和casbin实现的权限管理。 - 文件上传下载:实现基于
七牛云,阿里云,腾讯云的文件上传操作。 - 分页封装:前端使用
mixins封装分页,分页方法调用即可。 - 用户管理:系统管理员分配用户角色和角色权限。
- 角色管理:创建权限控制的主要对象,可以给角色分配不同 api 权限和菜单权限。
- 菜单管理:实现用户动态菜单配置,实现不同角色不同菜单。
- api管理:不同用户可调用的 api 接口的权限不同。
- 配置管理:配置文件可前台修改(在线体验站点不开放此功能)。
- 条件搜索:增加条件搜索示例。
- restful示例:可以参考用户管理模块中的示例 API。
- 多点登录限制:借助 Redis 配合对应配置限制多端登录状态。
- 分片上传:提供文件分片上传和大文件分片上传功能示例。
- 表单生成器:表单生成器借助 @Variant Form。
- 代码生成器:后台基础逻辑以及简单 curd 的代码生成器。
6. 知识库
6.1 团队博客
https://www.yuque.com/flipped-aurora 内有前端框架教学视频。如果觉得项目对您有所帮助可以添加我的个人微信: shouzi_1994。
6.2 教学视频
- 手把手教学视频: https://www.bilibili.com/video/BV1Rg411u7xH/
- 后端目录结构调整介绍以及使用方法: https://www.bilibili.com/video/BV1x44y117TT/
- golang基础教学视频: bilibili
- gin框架基础教学: bilibili
- gin-vue-admin 版本更新介绍视频: bilibili
7. 联系方式
- QQ交流群:
971857775 - 关于我们
微信交流群
防止广告进群,添加微信,输入以下代码执行结果(请勿转码为string):
str := "5Yqg5YWlR1ZB5Lqk5rWB576k"
decodeBytes, err := base64.StdEncoding.DecodeString(str)
fmt.Println(decodeBytes, err)
8. 贡献者
感谢您对gin-vue-admin的贡献!
9. 捐赠
如果你觉得这个项目对你有帮助,你可以请作者喝饮料 :tropical_drink: 点我
10. 注意事项
请遵守 BSL 1.1 许可证要求并保留作品声明;商用、生产使用或去除版权信息请务必获取授权
未授权超出许可范围使用将依法追究法律责任。
Collected info
- ★ 24,817 stars
- ⎇ 7,089 forks
- Language: Go
- Source updated: 6/30/2026
Config for your environment
Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "{MCP_ENDPOINT_URL}"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.