Golang Go语言 Vgo(基于 Gin 开发的开源服务端框架)[20240907 更新]增加代码生成工具、增加雪花 ID 算法(扩展)、集成 ws
Vgo
介绍 📖
Vgo 是一款基于 Gin 开发的开源服务端框架。
- 使用了 Redis 、Mysql 、JWT 、队列、等技术栈。
- 比较适合 Golang 初学者作为学习项目学习。
- 当前框架内实现了基本的 Rbac 权限管理(使用 casbin )、队列、websocket 、文件日志等功能。
- 后续将陆续增加更多功能,欢迎大家共同参与进来。
- 本项目主要是为了学习 Golang 而开发的,所以代码中难免有不足之处,还请大家多多包涵。
代码仓库 ⭐(记得 Star⭐)
- Vgo-Github: https://github.com/xuewuzhiijngych/vgo.git
- Vgo-Gitee: https://gitee.com/yan_chunhao_admin/vgo.git
- VgoAdmin-Github: https://github.com/xuewuzhiijngych/vgo-admin.git
- VgoAdmin-Gitee: https://gitee.com/yan_chunhao_admin/vgo-admin.git
安装使用步骤 📔
- 下载:
git clone -b https://github.com/xuewuzhiijngych/vgo.git
-
安装:
-
使用 Mysql8 ,导入根目录的 go_study.sql 文件。
-
准备 redis
-
修改根目录下的 config.yaml 文件,配置 Mysql 、Redis 、JWT 等信息。
-
根目录的 asynq.yml 文件是配置 asynq 命令工具的,不使用,忽略即可。
-
执行以下命令安装依赖包:
go mod tidy
- 运行:
go run main.go
项目目录 📚
Vgo
├─ app # Vite 配置项
├─ AdminUser # 模块
│ ├─ Bapi # Bapi 后台接口
│ ├─ Api # Api 前台接口
│ ├─ Model # Model 模型
│ ├─ Router # Router 路由
├─ bootstrap # 框架启动文件
├─ core # 框架核心文件
│ ├─ ... # 后续出详细介绍(亦可以自己通过源码了解)
├─ job # 队列
├─ route # 路由
├─ storage # 日志或静态资源
│ ├─ logs # 日志
├─ asynq.yml # asynq 配置文件
├─ config.yaml # 框架配置文件
前台使用 🌎
- 基于本框架的接口,实现了一个拥有简单 Rbac 的后台管理系统,具体使用方法请参考 VgoAdmin 项目。
- 前端项目地址: https://github.com/xuewuzhiijngych/vgo-admin.git
代码生成 🏢
- 生成基本增删改查的 golang 代码,可使用命令:
go run vTools.go --module=Product --note=产品
- 执行代码后,会在 app 目录下生成一个 Product 模块,里面包含了增删改查的相关代码。
- 随后需要自己在根目录 route/router.go 文件中注册路由。 [后期实现自动注册]
后续计划 🔮
- 后续将陆续增加更多功能,欢迎大家共同参与进来。
- 如有任何问题,请联系作者:[email protected]
Golang Go语言 Vgo(基于 Gin 开发的开源服务端框架)[20240907 更新]增加代码生成工具、增加雪花 ID 算法(扩展)、集成 ws
会有相关的文档或者设计说明吗
更多关于Golang Go语言 Vgo(基于 Gin 开发的开源服务端框架)[20240907 更新]增加代码生成工具、增加雪花 ID 算法(扩展)、集成 ws的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
在写
针对帖子中提到的“Golang Go语言 Vgo(基于 Gin 开发的开源服务端框架)[20240907 更新]”,以下是我的专业回复:
Vgo作为一款基于Gin开发的开源服务端框架,近期更新了多项功能,包括增加代码生成工具、雪花ID算法扩展以及集成ws等,这为开发者提供了更为便捷和强大的开发支持。
首先,代码生成工具能够自动生成基本的增删改查等代码,极大地提高了开发效率。开发者只需通过简单的命令,即可快速生成所需模块的代码,并轻松在项目中注册路由。
其次,雪花ID算法的扩展为分布式系统提供了高效、安全的唯一ID生成方案。这有助于解决在分布式环境下,如何生成全局唯一且趋势递增的ID的问题。
最后,集成ws(WebSocket)使得Vgo框架能够支持实时通信功能,这对于需要实时数据交互的应用场景尤为重要。
综上所述,Vgo框架的这次更新为开发者带来了诸多便利和强大功能,无论是提高开发效率,还是增强系统的安全性和实时性,都有着显著的提升。对于Golang初学者来说,Vgo框架无疑是一个值得学习和实践的项目。