-
Notifications
You must be signed in to change notification settings - Fork 0
/
gf.go
94 lines (71 loc) · 2.23 KB
/
gf.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package gf
import (
// add gf adapter
"reflect"
"github.com/agiledragon/gomonkey"
_ "github.com/alesjr/go-admin/go-admin/adapter/gf2"
// add mysql driver
"github.com/alesjr/go-admin/go-admin/modules/config"
_ "github.com/alesjr/go-admin/go-admin/modules/db/drivers/mysql"
"github.com/alesjr/go-admin/go-admin/modules/language"
// add postgresql driver
_ "github.com/alesjr/go-admin/go-admin/modules/db/drivers/postgres"
// add sqlite driver
_ "github.com/alesjr/go-admin/go-admin/modules/db/drivers/sqlite"
// add mssql driver
_ "github.com/alesjr/go-admin/go-admin/modules/db/drivers/mssql"
// add adminlte ui theme
"github.com/alesjr/go-admin/themes/adminlte"
"net/http"
"os"
"github.com/alesjr/go-admin/go-admin/engine"
"github.com/alesjr/go-admin/go-admin/plugins/admin"
"github.com/alesjr/go-admin/go-admin/plugins/admin/modules/table"
"github.com/alesjr/go-admin/go-admin/template"
"github.com/alesjr/go-admin/go-admin/template/chartjs"
"github.com/alesjr/go-admin/go-admin/tests/tables"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
)
func internalHandler() http.Handler {
s := g.Server()
eng := engine.Default()
adminPlugin := admin.NewAdmin(tables.Generators).AddDisplayFilterXssJsFilter()
template.AddComp(chartjs.NewChart())
adminPlugin.AddGenerator("user", tables.GetUserTable)
if err := eng.AddConfigFromJSON(os.Args[len(os.Args)-1]).
AddPlugins(adminPlugin).
Use(s); err != nil {
panic(err)
}
eng.HTML("GET", "/admin", tables.GetContent)
s.SetPort(8103)
gomonkey.ApplyMethod(reflect.TypeOf(new(ghttp.Request).Session), "Close",
func(*ghttp.Session) error {
return nil
})
return s
}
func NewHandler(dbs config.DatabaseList, gens table.GeneratorList) http.Handler {
s := g.Server(8103)
eng := engine.Default()
adminPlugin := admin.NewAdmin(gens)
if err := eng.AddConfig(&config.Config{
Databases: dbs,
UrlPrefix: "admin",
Store: config.Store{
Path: "./uploads",
Prefix: "uploads",
},
Language: language.EN,
IndexUrl: "/",
Debug: true,
ColorScheme: adminlte.ColorschemeSkinBlack,
}).
AddPlugins(adminPlugin).Use(s); err != nil {
panic(err)
}
template.AddComp(chartjs.NewChart())
eng.HTML("GET", "/admin", tables.GetContent)
return s
}