一元网络论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 25|回复: 0

Vgo(基于 Gin 的开源服务端框架)更新:新增表单验证器(支持 Map 和 Struct)、自定义翻译功能,可使用 JSON 文件定义翻译字典。

[复制链接]

1万

主题

1万

帖子

5万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
54603
发表于 2024-9-9 17:55:21 | 显示全部楼层 |阅读模式
Vgo
介绍
Vgo 是一个基于 Gin 开发的开源服务端框架,集成了 Redis、Mysql、JWT、队列等技术栈。它适合 Golang 初学者作为学习项目。框架已实现基础的 RBAC 权限管理、队列、WebSocket、文件日志等功能,并计划陆续增加更多功能。
代码仓库
* Vgo-Github: [GitHub - xuewuzhiijngych/vgo: vgo](https://github.com/xuewuzhiijngych/vgo.git)
* Vgo-Gitee: [https://gitee.com/yan_chunhao_admin/vgo.git](https://gitee.com/yan_chunhao_admin/vgo.git)
* VgoAdmin-Github: [GitHub - xuewuzhiijngych/vgo-admin: vgo-admin](https://github.com/xuewuzhiijngych/vgo-admin.git)
* VgoAdmin-Gitee: [https://gitee.com/yan_chunhao_admin/vgo-admin.git](https://gitee.com/yan_chunhao_admin/vgo-admin.git)
安装使用步骤
1. **下载:**
   ```shell
   git clone -b https://github.com/xuewuzhiijngych/vgo.git
   ```
2. **安装:**
   * 使用 Mysql8,导入根目录的 go_study.sql 文件。
   * 准备 redis。
   * 修改根目录下的 config.yaml 文件,配置 Mysql、Redis、JWT 等信息。
   * 根目录的 asynq.yml 文件是配置 asynq 命令工具的,不使用,忽略即可。
   * 执行以下命令安装依赖包:
     ```shell
     go mod tidy
     ```
3. **运行:**
   ```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 项目。
* 前端项目地址: [GitHub - xuewuzhiijngych/vgo-admin: vgo-admin](https://github.com/xuewuzhiijngych/vgo-admin.git)
功能
代码生成
* 开发时 Go 版本: go version go1.22.5 windows/amd64
* 版本兼容未测试,预想问题不大。
* 生成基本增删改查的 golang 代码,可使用命令:
   * Curd:
     ```shell
     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 下。
* 使用:
   ```shell
   trans.Trans("手机号不能为空", ""),
   ```
* 具体见: app/User/Api/User.go 的 Register 方法
后续计划
* 后续将陆续增加更多功能,欢迎大家共同参与进来。
* 如有任何问题,请联系作者: [email protected]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|一元网络论坛

GMT+8, 2024-9-17 14:38 , Processed in 0.132613 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表