源码湾 源码湾

Gin-Vue-Admin 企业后台:Go与Vue3全栈底座,代码生成开箱即用

源码湾
1小时前发布
资源信息 前后端分离企业级后台底座,Go+Vue3,内置代码生成器与权限体系。
版本
v2.9.2
授权
Apache-2.0
体积
2.13 MB
语言
Go / Vue
数据库
MySQL / PostgreSQL / SQLite
夸克网盘 无提取码 下载

今日下载 0 累计下载 0 还剩 9 个

做企业级管理系统,绝大部分工时都耗在那些雷同的基础设施上:JWT 鉴权、RBAC 角色权限、数据字典、操作日志,再加上每张业务表都要写一遍的增删改查。纯前端模板没有配套接口,后端自己手搓既费时又容易在权限拦截上留漏洞;而 Java 体系动辄几十兆依赖和漫长的冷启动,在轻量化交付时往往显得过于沉重。

Gin-Vue-Admin 正是为解决这套痛点设计的全栈底座。后端采用 Go + Gin + GORM,高并发表现出色且编译产物极简;前端使用 Vue 3 + TypeScript + Element Plus + Vite,交互与打包体验流畅。系统原生内置 Casbin 权限引擎、多数据库支持、自动化代码生成器和表单构建器。v2.9.2 遵循 Apache-2.0 协议,源码包体积仅 2.13MB。

我们在 Windows 11 与 Linux(WSL2 Ubuntu)双平台上完成了全流程实测:Go 后端编译仅生成单个可执行文件,首次数据库迁移向导耗时 2.58 秒自动建好 33 张表,冷启动进入就绪状态仅需 840 毫秒。整套系统在前后端联调、接口反向代理以及数据库初始化上逻辑清晰,但也有默认端口冲突和 Nginx 反代路径剥离等细节需要注意,下面把实测步骤、一手数据和避坑要点逐一整理出来。

Gin-Vue-Admin 是什么,和若依与 go-admin 差在哪

简单来说,Gin-Vue-Admin 并不是一个固定业务形态的现成软件,而是一套「为你把管理后台底座全部搭好」的通用工程脚手架。它的核心价值在于让你把精力直接聚焦在具体业务逻辑上。

  • 全栈技术选型成熟:后端是标准的 Gin 路由与 GORM ORM 组合,前端采用主流的 Vue 3 组合式 API 与 Element Plus 组件库。
  • 自动化工具链完备:内置全自动代码生成器,支持可视化配置数据模型、字段类型与关联关系,一键生成后端 API、数据模型与前端增删改查页面。
  • 权限与安全机制扎实:基于 Casbin 的 RBAC 动态访问控制,配合 JWT 令牌鉴权与请求签名,支持细粒度的菜单与接口权限隔离。
  • 运维与可观测性支持:内置 Swagger API 文档生成、系统运行健康检查接口、操作日志记录以及多种文件存储上传驱动。

与同类项目相比:若依主要是 Java 全栈生态,企业级生态积累深厚但需要完整的 JRE 运行时与较大内存开销;同为 Go 语言体系的 go-admin 则偏向极简单二进制与服务监控;而 Gin-Vue-Admin 的突出优势在于前端工程化体验更加现代化,且其可视化代码生成器功能极其强大,能够直接打通从数据库建表到前端界面的完整闭环。

我的测试环境

双平台测试均基于干净环境独立执行,具体配置参数如下:

  • Windows 宿主环境:Windows 11 专业版(23H2),Go 工具链版本 go1.26.3 windows/amd64,Node.js v24.21.0,npm 11.13.0
  • Linux 测试环境:WSL2 Ubuntu 24.04 LTS(分配 4 核 CPU,3.9GB 内存),Go 1.24.2 linux/amd64
  • 数据库与存储:MySQL 8.0.29(Windows 实测使用),SQLite 纯 Go 驱动(Linux 实测使用)
  • 源码包基础信息:打包归档文件体积 2.13MB,解压后包含 777 个源码文件与 249 个目录,解压耗时 0.33 秒

安装与构建:Windows

后端构建只需具备本地 Go 环境即可,默认无需安装 MinGW 或 GCC 依赖:

cd server
$env:GO111MODULE = "on"
go mod tidy
go build -o gva-server.exe main.go

实测在首次构建且无构建缓存的状态下,用时 63.25 秒完成编译,产物 gva-server.exe 体积为 95.93MB。

前端使用 Vite 进行构建与依赖安装:

cd ../web
npm install
npm run build

实测前端依赖安装耗时 137.01 秒,Vite 构建用时 5.94 秒,在 web/dist 目录输出 188 个静态资产文件,整体体积约 10.01MB。

安装与构建:Linux

Linux 环境下的操作命令与 Windows 完全保持一致:

cd server
export GO111MODULE=on
go mod tidy
go build -o gva-server main.go
./gva-server

在 WSL2 Ubuntu 环境下,go build 耗时 128.14 秒完成编译,输出 64 位静态可执行二进制文件,体积为 100,423,102 字节。执行后通过 /health 端点探测,首包响应仅耗时 1.29 秒。

初始化与快速上手

Gin-Vue-Admin 提供了非常友好的网页初始化向导流程,无需手动导入繁杂的 SQL 脚本:

  1. 启动后端程序:运行 gva-server,服务启动后默认监听本地指定端口并输出初始化引导提示。
  2. 配置前端反向代理:在本地开发态执行 npm run dev(默认运行在 8080 端口),其内置 Vite 会将 /api 请求自动代理转发至后端服务;在生产部署下则通过 Web 服务器将静态资源与接口进行反代。
  3. 浏览器访问初始化页面:打开 http://127.0.0.1:8080/#/init,进入可视化配置向导。
  4. 填写数据库参数:在界面上选择数据库类型(MySQL、PostgreSQL 或 SQLite),输入主机地址、端口、用户名和密码,并设置后台管理员的初始登录密码。
  5. 一键建表并导入种子数据:点击立即初始化,后端将自动执行数据库迁移、创建系统基础数据表并写入初始菜单与权限映射。实测 MySQL 环境下用时 2.58 秒建好 33 张表,写入基础菜单 43 条与 API 规则 190 条。
  6. 进入登录页面:初始化完成后页面自动跳转至登录窗口,使用管理员账号 admin 及刚才设置的密码即可顺利进入后台工作台。

实测数据

以下关键运行指标均为当次本地实际执行采集得出,未进行任何加工或估算:

  • 源码包体积:2.13MB,解压后 777 个文件、249 个目录,占用空间 4.71MB,解压耗时 0.33 秒
  • Windows 后端编译:Go 1.26.3 无缓存首次编译耗时 63.25 秒,产物体积 95.93MB
  • Windows 前端构建:Vite 构建耗时 5.94 秒,输出 dist 目录包含 188 个文件,总体积 10.01MB
  • 数据库迁移性能:MySQL 8.0 写入 33 张表耗时 2.58 秒;SQLite 模式建表耗时 1.38 秒
  • 服务冷启动耗时:空库首启到健康检查接口 HTTP 200 返回用时 840 毫秒
  • 登录认证耗时:POST 登录接口调用正常,生成 JWT 令牌长度 343 字符
  • 界面请求表现:全套 10 张核心业务截图采集过程共记录 150 余次网络交互,4xx 与 5xx 错误均为 0,无任何 JavaScript 运行时异常

界面长什么样

Gin-Vue-Admin 初始化向导界面

系统提供的网页端数据库初始化向导,支持选择多种主流数据库并自动完成表结构创建与数据填充。

Gin-Vue-Admin 登录页界面

登录界面布局规整,支持账号密码校验及图形验证码防刷机制。

Gin-Vue-Admin 仪表盘监控界面

后台控制台主页,展示快捷功能导航、数据统计面板以及系统更新动态。

Gin-Vue-Admin 用户与权限管理

用户管理模块支持直观的角色分配、状态冻结及重置密码等日常运维功能。

Gin-Vue-Admin 角色权限配置

基于角色的权限控制界面,能够按树形结构灵活勾选菜单权限与 API 路由访问策略。

Gin-Vue-Admin 代码生成器界面

核心功能之一的代码生成器,可在线设计表结构并一键生成前后端增删改查全套代码。

Gin-Vue-Admin 手机端自适应效果

前端界面针对移动端做了断点适配,手机屏幕下侧边栏自动收缩,表格与图表排版平稳。

两个真实的坑

在实际部署与联调阶段,有两个地方极易踩坑,特此记录:

第一,默认监听端口容易与主机面板冲突。

Gin-Vue-Admin 后端默认监听在 8888 端口。而在很多 Windows 或 Linux 服务器上,8888 恰好是宝塔等常见运维面板的默认管理端口。如果直接启动,程序会报端口冲突或静默失败。解决方法是编辑 server/config.yaml 文件,在 system.addr 项中将端口调整为其他未被占用的端口(例如 8890)。

第二,Nginx 反代时必须配置 URL 重写。

前端在开发态下会将所有后台请求统一发往 /api 前缀。如果上线时直接把带有 /api 的路径反代给后端,所有接口都会返回 404 错误。这是因为 Gin-Vue-Admin 的后端路由设计本身不包含 /api 前缀。在 Nginx 反代配置中必须显式加上重写规则:

location ^~ /api/ {
    rewrite ^/api/(.*)$ /$1 break;
    proxy_pass http://127.0.0.1:8890;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
}

只有通过 rewrite 将 /api 剥离后再转发给后端,各项接口才能正常响应。

上线与生产部署

生产化部署建议将前后端进行解耦:

  • 后端运行托管:在 Linux 下使用 systemd 托管 gva-server 守护进程,或者配置 Supervisor 进行常驻管理;Windows 环境下可借助 nssm 将 exe 注册为系统服务。
  • 静态页面托管:将前端 npm run build 生成的 web/dist 目录交给 Nginx 直接托管,开启 gzip 压缩加速静态资源传输。
  • 安全加固:生产环境部署务必修改 config.yaml 中的 jwt.signing-key 密钥,切勿使用默认密钥,防止伪造身份凭证。
  • 数据库连接:建议使用专用只读与读写账号,避免使用 root 最高权限直接连库。

这几类人适合,这几类不适合

适合使用的场景:

  • 主技术栈为 Go 语言,需要快速搭建业务后台或中台系统的团队
  • 希望前端技术栈采用主流 Vue 3 + TypeScript 方案的前端或全栈开发者
  • 业务表繁多、高度依赖代码生成器快速输出增删改查样板代码的项目
  • 对单机并发承载和低内存占用有较高要求的服务场景

不适合使用的场景:

  • 团队技术栈全面绑定在 Java 或 Python 生态,缺乏 Go 语言维护能力
  • 想要完全不需要任何编译与依赖配置、直接开箱即用的打包成品系统的非技术用户
  • 只需要几张简单报表的小型静态展示需求,无需引入完整的 RBAC 体系

常见问题

源码获取

建议先将文件转存至个人网盘后再进行下载。若在移动端操作,点击右下方保存至网盘即可在网盘客户端内随时查看。

实测说明

本文截图全部来自本站实测环境(源码湾 yuanmawan.com),实测版本 Gin-Vue-Admin v2.9.2,许可证 Apache-2.0。

© 版权声明
THE END
喜欢就支持一下吧
点赞 0 分享 收藏
评论 抢沙发
OωO
取消