基于 Gin + GORM 的现代化Web开发框架
🇨🇳 中文版本 • 🇺🇸 English
Dilu是一套基于Gin + GORM封装的现代化Web快速开发框架,专为提升Go语言Web应用开发效率而设计。经过长期实践和优化迭代,现已发展为稳定可靠的开发解决方案。
- Dilu Core: 核心简化版本,专注于基础Web开发功能
- Dilu All: 完整版,包含所有插件和高级功能
- Dilu Plugin: 插件库,扩展功能模块
- Dilu Ctl: 脚手架工具,快速搭建项目
- 核心框架: Gin + GORM 组合,性能优异且生态完善
- 代码生成: 内置命令行代码生成器,支持快速CRUD开发
- SaaS设计: 支持多租户架构,灵活的权限管理体系
- 现代化: 基于Vue3 + Element Plus的前后端分离架构
- ⚡ 高性能HTTP服务引擎
- 🗃️ 完善的数据库ORM操作
- 🔐 JWT认证和权限控制
- 📊 Swagger API文档自动生成
- 🐳 Docker容器化部署支持
- 📱 RESTful API设计规范
使用 Dilu Ctl 脚手架工具可以一键创建项目:
# 安装脚手架工具
go install github.com/baowk/dilu-ctl@latest
# 创建基础Dilu项目
dilu-ctl -n myproject
# 创建完整项目(包含admin前端)
dilu-ctl -n myproject -a
# 进入项目目录并启动
cd myproject
go run main.go start -c resources/config.dev.yaml- 获取源码
git clone https://github.com/baowk/dilu.git
# 或者
git clone https://gitee.com/walkbao/dilu.git- 安装依赖
cd dilu
go mod tidy- 数据库配置
-- 创建数据库
CREATE DATABASE `dilu-db` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;修改配置文件 resources/config.dev.yaml:
dbcfg:
driver: mysql
dns: root:password@tcp(127.0.0.1:3306)/dilu-db?charset=utf8&parseTime=True&loc=Local- 代码生成示例
# 生成sys_user表的代码
go run main.go gen -c resources/config.dev.yaml -d sys -t sys_user -f false- 启动服务
go run main.go start -c resources/config.dev.yaml服务默认运行在 http://localhost:8000
dilu/
├── cmd/ # 命令行工具
├── common/ # 公共组件
├── docs/ # 文档资料
├── modules/ # 业务模块
├── resources/ # 配置文件和资源
├── temp/ # 临时文件
├── main.go # 程序入口
└── go.mod # 依赖管理
# 查看帮助
go run main.go --help
# 启动服务
go run main.go start -c config.yaml
# 生成代码
go run main.go gen -c config.yaml -d database -t table -f true
# 构建项目
go build -o dilu main.go启动服务后访问: http://localhost:8000/swagger/index.html
Dilu Ctl 是专门为Dilu框架设计的脚手架工具,主要功能包括:
- ✅ 通过命令行快速创建 Dilu 项目
- ✅ 支持选择不同的模板仓库(Core/All版本)
- ✅ 智能包名替换和配置文件更新
- ✅ 自动生成正确的 go.mod 文件
- ✅ 支持SSH和HTTPS两种Git协议
- ✅ 可选择是否创建配套的 admin 前端项目
安装和使用:
# 安装
go install github.com/baowk/dilu-ctl@latest
# 创建项目
dilu-ctl -n 项目名称 [-a] [--https] [-u username]
# 查看帮助
dilu-ctl -h欢迎加入我们的技术交流群!
我们欢迎任何形式的贡献:
- 🐛 提交Bug报告
- 💡 提出功能建议
- 🔧 提交代码改进
- 📝 完善文档内容
- Dilu Admin - 前端管理界面
- Dilu All - 完整功能版本
- Dilu Plugin - 插件扩展库
- Dilu Ctl - 项目脚手架工具 ⭐
- 在线演示 - 系统演示环境
本项目采用 MIT 许可证,详情请参见 LICENSE 文件。
Made with ❤️ by baowk

