项目架构


GoAdmin的项目模块如下:

模块名 模块功能 模块位置
engine engine是GoAdmin最核心的模块,此模块的功能是利用web框架适配器将插件的路由与控制器方法的映射关系注入到框架中 ./engine/engine.go
adapter adapter的功能是实现web框架的context与GoAdmin的context的相互转换 ./adapter/adapter.go
context context是一个请求的上下文,记录包括了请求的路由参数与方法信息,context会被传入到插件的方法中 ./context/context.go
plugin plugin有自己的路由与控制器方法,在接收由adapter转换过来的context后经控制器方法处理返回给adapter再输出到web框架中去 ./plugins/plugins.go
template template是前端代码对应的golang实体化,前端代码对应的组件部分,比如表单,行,列等实体化为golang的一个接口,因此可以通过调用接口方法获取到该组件的html代码,此功能提供给插件去调用 ./template/template.go
auth auth实现了对cookie的管理,将前端的cookie存储并转换为登录的用户,同时实现了对权限的拦截 ./modules/auth/auth.go
config config是系统的全局配置 ./modules/config/config.go
db db是一个sql连接库,连接了sql数据库提供查询等帮助方法,支持多个driver ./modules/db/connection.go
language language实现了简单的语言映射,从而支持语言本地化 ./modules/language/language.go
file file实现了一个文件上传引擎 ./modules/file/file.go
logger logger是项目的日志模块 ./modules/logger/logger.go
menu menu是对项目菜单的管理 ./modules/menu/menu.go
cli cli命令行模块,包括生成文件和开发的一些基本命令 ./adm/cli.go