架构介绍

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