2022-06-02 23:12 发表于湖南
一、开源项目简介GoAdmin是一个基于 golang 面向生产的数据可视化管理平台搭建框架,可以让你使用简短的代码在极短时间内搭建起一个管理后台。
一般开发一套管理后台需要至少一个后台工程师,一个前端工程师,花费至少一周时间才能搭建完成,搭建完成后我们需要分别去部署前端代码和后端代码。而利用 GoAdmin,只需要一名golang后端工程师。在先花一点点时间了解掌握GoAdmin后,即可开发好一个面向生产环境的管理后台。而且所有的框架代码(包括前端文件)都将编译成一个二进制文件,直接部署到正式服务器即可运行,测试分发和部署十分便捷。
在功能需求方面,GoAdmin目前内置支持对主流SQL数据库(
mysql/postgresql/sqlite/mssql)增删改查的管理插件,更多的功能插件如:服务器文件管理,数据监控系统等等会陆续开发并开放。
对于前端个性化需求,GoAdmin目前官方免费支持Adminlte、Sword两个主题,更多主题正在制作中以及对应更多的登录界面组件也在制作中,敬请期待。
二、开源协议使用Apache-2.0开源协议
三、界面展示四、功能概述特征高生产效率: 10分钟内做一个好看的管理后台
主题: 默认为adminlte,更多好看的主题正在制作中,欢迎给我们留言
插件化: 提供插件使用,真正实现一个插件解决不了问题,那就两个
认证: 开箱即用的rbac认证系统
框架支持: 支持大部分框架接入,让你更容易去上手和扩展
Datetimepicker
font-awesome
bootstrap-fileinput
jquery-pjax
Nestable
toastr
bootstrap-number-input
fontawesome-iconpicker
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 |
GoAdmin通过各种适配器使得你在各个web框架中使用都十分的方便。目前支持的web框架有:
gin / beego / fasthttp / buffalo / echo / gorilla/mux / iris / chi / gf
您可以选择拿手的或者业务项目正在用的框架开始。
使用提示:现在你也可以这样做。
$ mkdir new_project && cd new_project$ go install github.com/GoAdminGroup/go-admin/adm$ adm init -l cn
或者:(使用v1.2.16的adm)
$ mkdir new_project && cd new_project$ go install github.com/GoAdminGroup/go-admin/adm$ adm init web -l cn
通过以下三步运行:
第一步:导入 sqlmysql
mssql
postgresql
sqlite
main.go
详见示例
更多框架的例子: /go-admin/tree/master/examples
第三步:运行GO111MODULE=on go run main.go
访问:http://localhost:9033/admin
账号: admin 密码: admin
六、源码地址访问一飞开源:/