-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
使用GoAdmin可视化工具搭建golang应用管理平台
cg33 edited this page Sep 19, 2019
·
15 revisions
goAdmin是一个可视化运维工具框架,帮助你的golang应用快速搭建起一个数据管理平台。
官网:http://www.go-admin.cn 文档:http://doc.go-admin.cn
强烈建议开启GO111MODULE=on
go get github.com/chenhg5/go-admin@latest
goAdmin支持多个golang web框架,可以直接在你的web应用中挂载。下面是一个gin的例子。 更多例子:https://github.com/chenhg5/go-admin/tree/master/examples
package main
import (
"github.com/gin-gonic/gin"
_ "github.com/chenhg5/go-admin/adapter/gin"
"github.com/chenhg5/go-admin/engine"
"github.com/chenhg5/go-admin/plugins/admin"
"github.com/chenhg5/go-admin/modules/config"
"github.com/chenhg5/go-admin/examples/datamodel"
"github.com/chenhg5/go-admin/modules/language"
)
func main() {
r := gin.Default()
eng := engine.Default()
// global config
cfg := config.Config{
DATABASE: config.DatabaseList{
"default": {
HOST: "127.0.0.1",
PORT: "3306",
USER: "root",
PWD: "root",
NAME: "godmin",
MAX_IDLE_CON: 50,
MAX_OPEN_CON: 150,
DRIVER: "mysql",
},
},
DOMAIN: "localhost", // 是cookie相关的,访问网站的域名
PREFIX: "admin",
// STORE 必须设置且保证有写权限,否则增加不了新的管理员用户
STORE: config.Store{
PATH: "./uploads",
PREFIX: "uploads",
},
LANGUAGE: language.CN,
// 开发模式
DEBUG: true,
// 日志文件位置,需为绝对路径
INFOLOG: "/var/logs/info.log",
ACCESSLOG: "/var/logs/access.log",
ERRORLOG: "/var/logs/error.log",
}
// Generators: 详见 https://github.com/chenhg5/go-admin/blob/master/examples/datamodel/tables.go
adminPlugin := admin.NewAdmin(datamodel.Generators)
// 增加 generator, 第一个参数是对应的访问路由前缀
// 例子:
//
// "user" => http://localhost:9033/admin/info/user
//
adminPlugin.AddGenerator("user", datamodel.GetUserTable)
_ = eng.AddConfig(cfg).AddPlugins(adminPlugin).Use(r)
_ = r.Run(":9033")
}
执行以下命令会在$GOPATH/bin
下安装命令行工具admincli
go install github.com/chenhg5/go-admin/admincli
安装完后,执行以下命令会当前文件夹生成数据表对应的模型文件。
admincli generate
导入以下数据库
$GOPATH/src/github.com/chenhg5/examples/admin.sql
运行起来后,访问对应端口地址,加上设置的前缀,如:http://localhost:9033/admin/login
默认的账号:admin,密码:admin
有任何疑问,欢迎加qq群 756664859 交流