|
package main |
|
|
|
import ( |
|
"log" |
|
"os" |
|
"os/signal" |
|
"time" |
|
|
|
_ "github.com/GoAdminGroup/go-admin/adapter/gear" |
|
_ "github.com/GoAdminGroup/go-admin/modules/db/drivers/mysql" |
|
_ "github.com/GoAdminGroup/themes/sword" |
|
"github.com/teambition/gear" |
|
|
|
"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" |
|
) |
|
|
|
func main() { |
|
|
|
app := gear.New() |
|
|
|
e := 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, |
|
|
|
|
|
|
|
}, |
|
}, |
|
Store: config.Store{ |
|
Path: "./uploads", |
|
Prefix: "uploads", |
|
}, |
|
UrlPrefix: "admin", |
|
Language: language.CN, |
|
IndexUrl: "/", |
|
Debug: true, |
|
AccessAssetsLogOff: true, |
|
Animation: config.PageAnimation{ |
|
Type: "fadeInUp", |
|
}, |
|
ColorScheme: adminlte.ColorschemeSkinBlack, |
|
BootstrapFilePath: "./../datamodel/bootstrap.go", |
|
} |
|
|
|
template.AddComp(chartjs.NewChart()) |
|
|
|
|
|
|
|
examplePlugin := example.NewExample() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if err := e.AddConfig(&cfg). |
|
AddGenerators(datamodel.Generators). |
|
|
|
|
|
|
|
|
|
|
|
AddGenerator("user", datamodel.GetUserTable). |
|
AddDisplayFilterXssJsFilter(). |
|
AddPlugins(examplePlugin). |
|
Use(app); err != nil { |
|
panic(err) |
|
} |
|
|
|
|
|
|
|
e.HTML("GET", "/admin", datamodel.GetContent) |
|
|
|
go func() { |
|
app.Start(":8099") |
|
}() |
|
|
|
quit := make(chan os.Signal, 1) |
|
signal.Notify(quit, os.Interrupt) |
|
<-quit |
|
log.Print("closing database connection") |
|
e.MysqlConnection().Close() |
|
} |
|
|