这不是本文重点,自己百度弄下吧。
新建项目目录,cd 项目目录/
安装
go install github.com/GoAdminGroup/go-admin/adm
生成
在项目文件夹下执行:
adm generate
然后根据你的实际情况 按space 或者回车,
结果是你的项目目录下 会出现数据库表对应go文件,和tables.go 文件。
在你github.com/GoAdminGroup/go-admin/data下面, 我用的是mysql,所以是 admin.sql 那个数据库文件。
adminPlugin := admin.NewAdmin(datamodel.Generators).AddDisplayFilterXssJsFilter()
修改之后的
adminPlugin := admin.NewAdmin(Generators).AddDisplayFilterXssJsFilter()
其他的数据库配置弄一下,就没啥事了
在根目录下 运行
go run .
怕下次又要出啥问题,源码留在这里当demo了
package main
import (
"log"
"os"
"os/signal"
_ "github.com/GoAdminGroup/go-admin/adapter/beego"
_ "github.com/GoAdminGroup/go-admin/modules/db/drivers/mysql"
"github.com/GoAdminGroup/go-admin/template"
"github.com/GoAdminGroup/go-admin/template/chartjs"
"github.com/GoAdminGroup/themes/adminlte"
_ "github.com/GoAdminGroup/themes/adminlte"
"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/admin"
"github.com/GoAdminGroup/go-admin/plugins/example"
"github.com/GoAdminGroup/go-admin/template/types"
"github.com/astaxie/beego"
"github.com/astaxie/beego/context"
)
func main() {
app := beego.NewApp()
eng := engine.Default()
cfg := config.Config{
Databases: config.DatabaseList{
"default": {
Host: "127.0.0.1",
Port: "3306",
User: "root",
Pwd: "root",
Name: "wordhelpapi",
MaxIdleCon: 50,
MaxOpenCon: 150,
Driver: config.DriverMysql,
},
},
Store: config.Store{
Path: "./uploads",
Prefix: "uploads",
},
UrlPrefix: "admin",
IndexUrl: "/",
Debug: true,
Language: language.CN,
ColorScheme: adminlte.ColorschemeSkinBlack,
}
// !!!!!!!!!!!!!无限FuckFuckFuckFuckFuckFuckFuckFuckFuck!!!!!!!!!!!
adminPlugin := admin.NewAdmin(Generators).AddDisplayFilterXssJsFilter()
// !!!!!!!!!!!!!无限FuckFuckFuckFuckFuckFuckFuckFuckFuck!!!!!!!!!!! 单个Generators
template.AddComp(chartjs.NewChart())
examplePlugin := example.NewExample()
beego.SetStaticPath("/uploads", "uploads")
if err := eng.AddConfig(cfg).AddPlugins(adminPlugin, examplePlugin).Use(app); err != nil {
panic(err)
}
app.Handlers.Get("/admin", func(ctx *context.Context) {
eng.Content(ctx, func(ctx interface{}) (types.Panel, error) {
return datamodel.GetContent()
})
})
beego.BConfig.Listen.HTTPAddr = "127.0.0.1"
beego.BConfig.Listen.HTTPPort = 9087
go app.Run()
quit := make(chan os.Signal)
signal.Notify(quit, os.Interrupt)
<-quit
log.Print("closing database connection")
eng.MysqlConnection().Close()
}