Skip to content

使用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

PS

有任何疑问,欢迎加qq群 756664859 交流