vgo(基于 gin 开发的开源服务端框架)[20240909更新]增加表单验证器、自定义翻译 | go 技术论坛-大发黄金版app下载
介绍 📖
vgo 是一款基于 gin 开发的开源服务端框架。
- 使用了redis、mysql、jwt、队列、等技术栈。
- 比较适合golang初学者作为学习项目学习。
- 当前框架内实现了基本的rbac权限管理(使用casbin)、队列、websocket、文件日志等功能。
- 后续将陆续增加更多功能,欢迎大家共同参与进来。
- 本项目主要是为了学习 golang 而开发的,所以代码中难免有不足之处,还请大家多多包涵。
代码仓库 ⭐(记得 star⭐)
- vgo-github:
- vgo-gitee:
- vgoadmin-github:
- vgoadmin-gitee:
安装使用步骤 📔
- 下载:
git clone -b https://github.com/xuewuzhiijngych/vgo.git```
- **安装:**
- 使用mysql8,导入根目录的go_study.sql文件。
- 准备redis
- 修改根目录下的config.yaml文件,配置mysql、redis、jwt等信息。
- 根目录的asynq.yml文件是配置asynq命令工具的,不使用,忽略即可。
- 执行以下命令安装依赖包:
```shell
go mod tidy```
- **运行:**
```shell
go run main.go```
### 项目目录 📚
```shell
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项目。
- 前端项目地址:
功能
代码生成 🏢
- 开发时go版本:go version go1.22.5 windows/amd64
- 版本兼容未测试,预想问题不大。
- 生成基本增删改查的golang代码,可使用命令:
- curd:
go run vtools/vtools.go --method=curd --module=product --note=产品
- 执行代码后,会在app目录下生成一个product模块,里面包含了增删改查的相关代码。
- 随后需要自己在根目录route/router.go文件中注册路由。【后期实现自动注册】
权限管理 🔐
- 基于casbin实现的权限管理,可实现用户角色、角色权限、用户权限等多种权限控制。
- 具体使用方法请参考vgoadmin项目。
map结合模型验证 🏭
- 见app/user/api/user.go 的 register方法
自定义翻译器 📝
- 翻译文字定义在根目录lang下
- 使用:
trans.trans("手机号不能为空", ""),
- 具体见:app/user/api/user.go 的 register方法
后续计划 🔮
- 后续将陆续增加更多功能,欢迎大家共同参与进来。
- 如有任何问题,请联系作者:[email protected]
本作品采用《cc 协议》,转载必须注明作者和本文链接
推荐文章: