我的 Go 脚手架代码生成器开源了!🎉
我的 Go 脚手架代码生成器开源了!🎉
go-scaffolding:一个开箱即用的 Go RBAC 权限管理系统,自带强大代码生成器,让后端开发效率翻倍!
一、项目起源:为什么我要造这个轮子?
作为一名 Go 后端开发者,我几乎每个新项目都要重复做这些事:
- 搭建项目结构
- 集成数据库 ORM
- 实现用户认证与授权(RBAC)
- 编写 CRUD 的 Controller、Service、Model、Request 验证…
- 生成 API 文档
太累了! 而且每做一个新模块(比如“商品管理”、“订单管理”),就要手写一大坨结构类似的代码。这简直是对程序员生命的浪费。
于是,go-scaffolding 诞生了 —— 它不仅是一个现成的 RBAC 权限系统,更能根据数据库表结构,一键生成完整的 Go 业务代码!
二、项目地址
🔗 Gitee 仓库:https://gitee.com/su_zhenhui/go-scaffolding
⚠️ 温馨提示:当前仓库未声明开源许可证(LICENSE),使用前建议联系作者确认授权方式。
三、核心功能亮点 ✨
1. 完整的 RBAC 权限管理
- 用户管理:用户增删改查、状态禁用/启用
- 角色管理:角色绑定权限,支持多级角色
- 权限管理:菜单/接口级权限控制,前端按钮级可见性
- 基于 Casbin:灵活的策略管理,支持 p 和 g 模型
2. 代码生成器 —— 真正的生产力神器 ⚡
CREATE TABLE `product` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `price` decimal(10,2) NOT NULL, `stock` int(11) DEFAULT 0, PRIMARY KEY (`id`) );
然后通过 Web 界面一键生成:
生成的代码自动包含:
- 分页查询、条件筛选
- 参数验证(使用 go-playground/validator)
- 统一响应格式(code, message, data)
- 前端表格、表单、弹窗组件
3. 技术栈一览
Web 框架 | Gin |
ORM | GORM |
权限 | Casbin |
认证 | JWT |
配置 | Viper |
日志 | Zap + Lumberjack |
文档 | Swagger |
前端 | Vue 3 + Element Plus |
代码生成 | Go Template + 反射 |
4. 开箱即用的功能
- ✅ 登录/登出、JWT 刷新
- ✅ 操作日志记录(谁在什么时间做了什么)
- ✅ 跨域配置(CORS)
- ✅ 请求限流(基于令牌桶)
- ✅ 数据库自动迁移
- ✅ 优雅关机(Graceful Shutdown)
四、快速开始 🚀
环境要求
- Go 1.24+
- MySQL 8.0+
- Node.js 16+ (前端开发)
查看10道真题和解析