-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathmain.go
56 lines (50 loc) · 1.45 KB
/
main.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
package main
import (
_ "github.com/GoAdminGroup/go-admin/adapter/gin"
"github.com/GoAdminGroup/go-admin/context"
"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/db/drivers/mysql"
"github.com/GoAdminGroup/go-admin/plugins/admin"
"github.com/GoAdminGroup/go-admin/template/types"
_ "github.com/GoAdminGroup/themes/adminlte"
"github.com/gin-gonic/gin"
"go-admin-demo/module"
"os"
)
func main() {
r := gin.Default()
eng := engine.Default()
cfg := config.ReadFromJson("./config.json")
fillEnv(&cfg)
adminPlugin := admin.NewAdmin(module.Generators)
adminPlugin.AddGenerator("user", datamodel.GetUserTable)
_ = eng.AddConfig(cfg).AddPlugins(adminPlugin).Use(r)
eng.HTML("GET", cfg.PrefixFixSlash(), homePage )
_ = r.Run(":9033")
}
/**
fill env to database config
*/
func fillEnv(cfg *config.Config){
dateConfig := cfg.Databases.GetDefault()
envDefault := func(key string, val *string) {
port, find :=os.LookupEnv(key)
if find{
*val = port
}
}
envDefault("DB_PORT", &dateConfig.Port)
envDefault("DB_HOST", &dateConfig.Host)
envDefault("DB_NAME", &dateConfig.Name)
envDefault("DB_PASS", &dateConfig.Pwd)
cfg.Databases.Add("default", dateConfig )
}
func homePage(ctx *context.Context) (panel types.Panel, err error) {
return types.Panel{
Content: "",
Title: "首页",
Description: "",
}, nil
}