-
Notifications
You must be signed in to change notification settings - Fork 6
/
main.go
84 lines (65 loc) · 1.47 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
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
package main
import (
"apioak-admin/cores"
"embed"
"github.com/gin-gonic/gin"
"html/template"
"io/fs"
"net/http"
)
//go:embed html/*
var htmlFS embed.FS
func main() {
// 全局配置
var conf cores.ConfigGlobal
// 全局配置初始化
if err := cores.InitConfig(&conf); err != nil {
panic(err)
}
// 初始化框架
if err := cores.InitFramework(&conf); err != nil {
panic(err)
}
// 初始化Logger
if err := cores.InitLogger(&conf); err != nil {
panic(err)
}
// 初始化数据库
if err := cores.InitDataBase(&conf); err != nil {
panic(err)
}
//初始化Token
if err := cores.InitToken(&conf); err != nil {
panic(err)
}
// 初始化参数验证器
if err := cores.InitValidator(&conf); err != nil {
panic(err)
}
// 初始化路由
if err := cores.InitRouter(&conf); err != nil {
panic(err)
}
initStatic(&conf)
// 协程处理额外事件
cores.InitGoroutineFunc()
// 服务启动
if err := cores.RunFramework(&conf); err != nil {
panic(err)
}
}
/**
* 初始化静态文件服务
*/
func initStatic(conf *cores.ConfigGlobal) {
// 引入静态文件模板
conf.Runtime.Gin.SetHTMLTemplate(template.Must(template.New("").ParseFS(htmlFS, "html/*.html")))
// 静态文件系统目录
assetsFs, _ := fs.Sub(htmlFS, "html/assets")
// 路由匹配并加载静态文件系统
conf.Runtime.Gin.StaticFS("/assets", http.FS(assetsFs))
// 访问入口
conf.Runtime.Gin.GET("/", func(c *gin.Context) {
c.HTML(200, "index.html", nil)
})
}