|
package main |
|
|
|
import ( |
|
"log" |
|
"net/http" |
|
"os" |
|
"os/signal" |
|
"time" |
|
|
|
_ "github.com/GoAdminGroup/go-admin/adapter/buffalo" |
|
_ "github.com/GoAdminGroup/go-admin/modules/db/drivers/mysql" |
|
|
|
"github.com/GoAdminGroup/go-admin/engine" |
|
"github.com/GoAdminGroup/go-admin/examples/datamodel" |
|
"github.com/GoAdminGroup/go-admin/modules/config" |
|
"github.com/GoAdminGroup/go-admin/modules/language" |
|
"github.com/GoAdminGroup/go-admin/plugins/example" |
|
"github.com/GoAdminGroup/go-admin/template" |
|
"github.com/GoAdminGroup/go-admin/template/chartjs" |
|
"github.com/GoAdminGroup/themes/adminlte" |
|
"github.com/gobuffalo/buffalo" |
|
) |
|
|
|
func main() { |
|
bu := buffalo.New(buffalo.Options{ |
|
Env: "test", |
|
Addr: "127.0.0.1:9033", |
|
}) |
|
|
|
eng := engine.Default() |
|
|
|
cfg := config.Config{ |
|
Env: config.EnvLocal, |
|
Databases: config.DatabaseList{ |
|
"default": { |
|
Host: "127.0.0.1", |
|
Port: "3306", |
|
User: "root", |
|
Pwd: "root", |
|
Name: "godmin", |
|
MaxIdleConns: 50, |
|
MaxOpenConns: 150, |
|
ConnMaxLifetime: time.Hour, |
|
Driver: config.DriverMysql, |
|
}, |
|
}, |
|
UrlPrefix: "admin", |
|
Store: config.Store{ |
|
Path: "./uploads", |
|
Prefix: "uploads", |
|
}, |
|
Language: language.EN, |
|
IndexUrl: "/", |
|
Debug: true, |
|
ColorScheme: adminlte.ColorschemeSkinBlack, |
|
} |
|
|
|
template.AddComp(chartjs.NewChart()) |
|
|
|
|
|
|
|
examplePlugin := example.NewExample() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if err := eng.AddConfig(&cfg). |
|
AddGenerators(datamodel.Generators). |
|
AddDisplayFilterXssJsFilter(). |
|
|
|
|
|
|
|
|
|
|
|
AddGenerator("user", datamodel.GetUserTable). |
|
AddPlugins(examplePlugin). |
|
Use(bu); err != nil { |
|
panic(err) |
|
} |
|
|
|
bu.ServeFiles("/uploads", http.Dir("./uploads")) |
|
|
|
|
|
|
|
eng.HTML("GET", "/admin", datamodel.GetContent) |
|
|
|
go func() { |
|
_ = bu.Serve() |
|
}() |
|
|
|
quit := make(chan os.Signal, 1) |
|
signal.Notify(quit, os.Interrupt) |
|
<-quit |
|
log.Print("closing database connection") |
|
eng.MysqlConnection().Close() |
|
} |
|
|