Vgo(基于 Gin 开发的开源服务端框架)[20240909 更新]增加表单验证器(结合 Map 和 Struct)、自定义翻译,使用 json 定义翻译字典 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
yanchunhao58001 V2EX    Go 编程语言

Vgo(基于 Gin 开发的开源服务端框架)[20240909 更新]增加表单验证器(结合 Map 和 Struct)、自定义翻译,使用 json 定义翻译字典

  •  
  •   yanchunhao58001 2024-09-09 15:54:02 +08:00 1742 次点击
    这是一个创建于 446 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Vgo

    介绍

    Vgo 是一款基于 Gin 开发的开源服务端框架。

    • 使用了 Redis 、Mysql 、JWT 、队列、等技术栈。
    • 比较适合 Golang 初学者作为学习项目学习。
    • 当前框架内实现了基本的 Rbac 权限管理(使用 casbin )、队列、websocket 、文件日志等功能。
    • 后续将陆续增加更多功能,欢迎大家共同参与进来。
    • 本项目主要是为了学习 Golang 而开发的,所以代码中难免有不足之处,还请大家多多包涵。

    代码仓库 (记得 Star)

    安装使用步骤

    • 下载:
    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 # 框架配置文件 

    前台使用

    功能

    代码生成

    • 开发时 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]
    1 条回复    2024-09-09 17:35:17 +08:00
    liuyunlong
        1
    liuyunlong  
       2024-09-09 17:35:17 +08:00
    很不错的项目,适合学习 go
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1535 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 16:18 PVG 00:18 LAX 08:18 JFK 11:18
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86