GVA(gin-vue-admin)项目阅读

date
Feb 24, 2023
slug
gofast
author
status
Public
tags
Golang
summary
type
Post
thumbnail
category
updatedAt
Mar 15, 2023 10:01 AM

开始之前

最近看了一些go的管理框架,发现国内类似GVA的平台还挺多,以下排名不分先后:
Go-admin:
Gin-vue-admin:
GoFast:
IrisAdmin
Gmanager:
 
还有还多这里就不一一列举了,有点百花齐放的感觉,但是粗略看下了,功能基本上都差不多。认证、鉴权、监控、日志、便捷的UI操作。着实都是干活的好工具🙅
 

关于使用

使用教程,官方教程已经很详细了,这里不再赘述。
 

感兴趣的点

 
  • 前端菜单自定义
  • 自动化生成后端代码
 
一般来讲,线上程序都是构建成二进制打包成docker image运行的,如何在前端定义一个model,并且自动生成对应的CRUD操作,再到让代码生效,这个流程是我比较好奇的。
 
 

自动化代码的逻辑

这个是直接改代码,前端封装元数据调用后端autocode API,生成代码前端展示,可以下载至本地,然后手动copy到项目指定位置,其实这一步自动化就是省去了CRUD过程中复制粘贴的操作,当然这种情况适用于线上二进制运行,生成代码后在重新打包构建上线。
 
还有一种方式是本地调试的时候,在配置文件中指定好代码生成路径(项目路径),生成后文件会自动更新到指定位置,重新build然后运行实现代码更新
 
效果图大致如下:
notion image
 
实现方式: API调用go template..
整体逻辑实现:server/service/system/sys_auto_code.go

其他

项目整体上没啥好说的 Gin框架+casbin鉴权
 

缺陷

自动就代表的灵活性较差,不能够满足一些复杂的需求。例如不同结构存在不同的数据库,当然这个也能通过go-template实现,但是维护成本远大于开发成本。
 

总结

  • 小项目干活利器
  • 前端设计优秀