888 字
4 分钟
GManager - 基于 GoFrame V2 的后台管理系统
项目简介
GManager 是一个基于 GoFrame V2 框架开发的后台管理系统。后端采用 Go 语言结合 GoFrame 框架,前端基于 Vue3 + Vite + TypeScript + Element-Plus 构建,是一个完整的前后端分离的管理平台解决方案。
核心特性
- 后端框架: GoFrame V2
- 前端技术栈: Vue3 + Vite + TypeScript + Element-Plus
- 认证方式: 使用 gtoken 支持集群部署
- 数据库: MySQL
功能模块
1. 部门管理
配置系统组织机构信息,支持多层级部门结构管理。
2. 用户管理
- 用户添加与配置
- 用户权限分配
- 帐号状态管理
3. 角色管理
- 角色菜单权限分配
- 支持菜单权限和按钮权限设置
- 灵活的角色权限配置
4. 菜单管理
- 配置系统菜单
- 按钮权限管理
- 动态菜单加载
5. 配置管理
- 系统参数动态配置
- 数据字典配置
- 运行时配置更新
6. 日志管理
- 登录日志记录
- 登出日志记录
- 业务增删改操作记录
- 操作审计追踪
7. 其他功能
- 用户登录/认证/登出
- 访问统计
- 权限验证
快速开始
环境要求
- Go 1.18+
- Node.js 20+
- pnpm 9+
- MySQL 5.7+
- Hugo (可选,用于文档)
后端部署
1. 克隆项目
git clone https://github.com/goflyfox/gmanagercd gmanager2. 数据库配置
安装 MySQL 数据库并运行初始化脚本:
# 运行 SQL 脚本mysql -u root -p < resource/sql/gmanager.sql3. 配置文件
复制配置文件并修改数据库连接:
cd servercp manifest/config/config.example.yaml manifest/config/config.yaml编辑 config.yaml,修改数据库配置:
# 数据库配置database: default: link: "mysql:root:123456@tcp(127.0.0.1:3306)/gmanager"4. 启动后端服务
cd servergo mod tidygo run main.go访问 http://localhost:8000/ping 验证后端服务,返回 pong 表示部署成功。
前端部署
1. 安装依赖
cd webpnpm install2. 启动开发服务器
pnpm run dev3. 访问系统
浏览器访问 http://localhost:3000,使用默认账号登录:
- 账号: admin
- 密码: 123456
项目结构
gmanager/├── server/ # 后端 Go 代码│ ├── manifest/│ │ └── config/ # 配置文件│ ├── api/ # API 接口│ ├── logic/ # 业务逻辑│ └── model/ # 数据模型├── web/ # 前端 Vue3 代码│ ├── src/│ │ ├── api/ # API 调用│ │ ├── components/ # 组件│ │ ├── views/ # 页面│ │ └── utils/ # 工具函数└── resource/ └── sql/ # 数据库脚本技术亮点
1. GoFrame V2 框架
GoFrame 是一款模块化、高性能的 Go 语言开发框架,提供了丰富的基础组件和工具函数,大大提升了开发效率。
2. gtoken 认证
使用 gtoken 实现用户认证,支持集群部署,解决了分布式环境下的会话共享问题。
3. 前后端分离
- 后端: 提供 RESTful API 接口
- 前端: Vue3 + TypeScript 构建响应式界面
- 通信: Axios 进行 HTTP 通信
4. 权限管理
- RBAC(基于角色的访问控制)模型
- 菜单权限和按钮权限双重控制
- 动态权限加载
演示地址
- 在线演示: https://gmanager.jflyfox.com/
- 演示账号: admin / 123456
项目地址
开源协议
本项目采用 Apache License 2.0 开源协议。
总结
GManager 是一个功能完善的后台管理系统,适合学习和实际项目使用。项目代码结构清晰,注释完善,非常适合学习 GoFrame 框架和 Vue3 开发。如果你正在寻找一个后台管理系统的起点,或者想学习 Go 语言全栈开发,GManager 是一个不错的选择。
参考资源
GManager - 基于 GoFrame V2 的后台管理系统
https://www.jflyfox.com/posts/gmanager/