快速开始


GoAdmin通过各种适配器使得你在各个web框架中使用都十分的方便。目前支持的web框架有:

ginarrow-up-right / beegoarrow-up-right / fasthttparrow-up-right / buffaloarrow-up-right / echoarrow-up-right / gorilla/muxarrow-up-right / irisarrow-up-right / chiarrow-up-right / gfarrow-up-right

您可以选择拿手的或者业务项目正在用的框架开始,如果上述没有你喜欢的框架,欢迎给我们提issuearrow-up-right

下面演示一下怎么快速搭建和启动项目。

初始化

首先新建一个项目文件夹,然后进入文件夹中使用最新版命令行工具 adm 执行:

$ adm init -l cn

或者使用以下命令,可以打开一个web界面安装:

$ adm init web -l cn

初始化完成后,在你的项目文件夹下会生成整个项目的骨架。其中有一个main.go文件,内容如下:

package main

import (
	"io/ioutil"
	"log"
	"os"
	"os/signal"

	_ "github.com/GoAdminGroup/go-admin/adapter/gin" // 引入适配器,必须引入,如若不引入,则需要自己定义
	_ "github.com/GoAdminGroup/themes/adminlte" // 引入主题,必须引入,不然报错
	_ "github.com/GoAdminGroup/go-admin/modules/db/drivers/mysql" // 引入对应数据库引擎

	"github.com/GoAdminGroup/go-admin/engine"
	"github.com/GoAdminGroup/go-admin/template"
	"github.com/GoAdminGroup/go-admin/template/chartjs"
	"github.com/gin-gonic/gin"

	"xxx/pages"
	"xxx/tables"
)

func main() {
	startServer()
}

func startServer() {
	gin.SetMode(gin.ReleaseMode)
	gin.DefaultWriter = ioutil.Discard

	r := gin.Default()

	template.AddComp(chartjs.NewChart())

	// 实例化一个GoAdmin引擎对象
	eng := engine.Default()

	// 增加配置与插件,使用Use方法挂载到Web框架中
	if err := eng.AddConfigFromJSON("./config.json").
		// 这里引入你需要管理的业务表配置
		// 后面会介绍如何使用命令行根据你自己的业务表生成Generators
		AddGenerators(tables.Generators).
		Use(r); err != nil {
		panic(err)
	}

	r.Static("/uploads", "./uploads")

	eng.HTML("GET", "/admin", pages.GetDashBoard)
	eng.HTMLFile("GET", "/admin/hello", "./html/hello.tmpl", map[string]interface{}{
		"msg": "Hello world",
	})

	_ = r.Run(":9033")

	quit := make(chan os.Signal)
	signal.Notify(quit, os.Interrupt)
	<-quit
	log.Print("closing database connection")
	eng.MysqlConnection().Close()
}

留意以上代码与注释,对应的步骤都加上了注释,十分好理解:

  • 匿名引入适配器主题数据库驱动(必须)

  • 载入设置好的全局配置项:eng.AddConfig

  • 挂载到Web框架中:eng.Use

接着根据提示依次执行: (以下为mac/linux用户执行命令,windows用户需根据提示执行)

运行代码,访问:http://localhost:9033/admin/loginarrow-up-right 默认登录账号:admin 默认登录密码:admin

注意:golang版本高于1.11强烈建议开启GO111MODULE=on,如果运行下载依赖有问题,这里提供了依赖包下载:

添加业务表管理

详见:

https://github.com/GoAdminGroup/docs/blob/master/zh/plugins/plugins.mdchevron-righthttps://github.com/GoAdminGroup/docs/blob/master/zh/plugins/admin.mdchevron-right

前端模板文件分离

如果对前端功能需要较多自定义,可使用模板文件分离的形式。

假设已经使用adm init初始化一个模板后,那么需要进行以下几步更改:

  • 修改main.go文件,修改导入主题包为分离主题包

  • 下载模板文件夹public到本地

  • 修改config.json文件:

    • 改动主题 theme 配置项:adminlte 改为 adminlte_sep,sword 改为 sword_sep

    • 增加 asset_root_path 配置项,为模板文件夹(public)的地址,建议用绝对路径,末尾需要带上斜杆

  • 重新启动,并在网站右上角进去设置页更改主题

这时修改一下模板文件夹下文件public/pages/header.tmpl试试吧!

main.go

config.json

全局配置项说明

https://github.com/GoAdminGroup/go-admin/blob/master/modules/config/config.goarrow-up-right

注意:配置一旦初始化生成后,后续修改请在网站右上角中进入配置中心修改! 注意:配置一旦初始化生成后,后续修改请在网站右上角中进入配置中心修改! 注意:配置一旦初始化生成后,后续修改请在网站右上角中进入配置中心修改!

日志设置:

Last updated