GoAdmin 项目教程
1. 项目的目录结构及介绍
GoAdmin 项目的目录结构如下:
go-admin/
├── cmd/
│ ├── admin/
│ └── generate/
├── config/
├── database/
├── Dockerfile
├── go.mod
├── go.sum
├── pkg/
│ ├── logger/
│ ├── modules/
│ └── template/
├── README.md
├── template/
└── web/
├── src/
└── package.json
目录介绍
cmd/
: 包含项目的入口文件,分为admin
和generate
两个子目录。config/
: 存放项目的配置文件。database/
: 存放数据库相关的文件。pkg/
: 包含项目的核心功能包,如日志、模块和模板等。template/
: 存放模板文件。web/
: 前端项目的目录,包含源代码和依赖管理文件。
2. 项目的启动文件介绍
项目的启动文件位于 cmd/admin/main.go
。以下是该文件的主要内容:
package main
import (
"github.com/GoAdminGroup/go-admin/context"
"github.com/GoAdminGroup/go-admin/modules/config"
"github.com/GoAdminGroup/go-admin/modules/db"
"github.com/GoAdminGroup/go-admin/modules/language"
"github.com/GoAdminGroup/go-admin/plugins"
"github.com/GoAdminGroup/go-admin/template"
"github.com/GoAdminGroup/go-admin/template/chartjs"
"github.com/GoAdminGroup/go-admin/template/types"
"github.com/GoAdminGroup/go-admin/engine"
"github.com/gin-gonic/gin"
"io/ioutil"
"os"
)
func main() {
r := gin.Default()
// 初始化GoAdmin引擎
eng := engine.Default()
// 配置
cfg := config.Config{
Databases: config.DatabaseList{
"default": {
Host: "127.0.0.1",
Port: "3306",
User: "root",
Pwd: "root",
Name: "goadmin",
MaxIdleCon: 50,
MaxOpenCon: 150,
Driver: "mysql",
},
},
UrlPrefix: "admin",
Store: config.Store{
Path: "./uploads",
Prefix: "uploads",
},
Language: language.CN,
}
// 加载插件
plugins.Add(admin.NewAdmin(tables.Generators)).
Add(examples.NewExamples())
// 启动引擎
if err := eng.AddConfig(cfg).AddPlugins(plugins.GetPlugins()...).Use(r); err != nil {
panic(err)
}
r.Static("/uploads", "./uploads")
_ = r.Run(":9033")
}
启动文件介绍
main.go
是项目的入口文件,负责初始化 Gin 框架和 GoAdmin 引擎。- 配置数据库连接、URL 前缀、文件存储路径和语言等。
- 加载插件并启动引擎。
3. 项目的配置文件介绍
项目的配置文件位于 config/settings.yml
。以下是该文件的主要内容:
# 数据库配置
database:
driver: mysql
host: 127.0.0.1
port: 3306
user: root
pwd: root
name: goadmin
max_idle_con: 50
max_open_con: 150
# URL前缀
url_prefix: admin
# 文件存储配置
store:
path: ./uploads
prefix: uploads
# 语言配置
language: cn
配置文件介绍
database
: 配置数据库连接信息,包括驱动、主机、端口、用户名、