-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathmain.go
55 lines (51 loc) · 1.37 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
package main
import (
"time"
global "QA-System/internal/global/config"
"QA-System/internal/middleware"
"QA-System/internal/pkg/database/mongodb"
"QA-System/internal/pkg/database/mysql"
"QA-System/internal/pkg/log"
"QA-System/internal/pkg/session"
"QA-System/internal/pkg/utils"
"QA-System/internal/router"
"QA-System/internal/service"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
)
func main() {
var loc *time.Location
loc, err := time.LoadLocation("Asia/Shanghai")
if err != nil {
zap.L().Error("Failed to load location, using fixed zone instead", zap.Error(err))
loc = time.FixedZone("CST", 8*60*60)
}
time.Local = loc
// 如果配置文件中开启了调试模式
if !global.Config.GetBool("server.debug") {
gin.SetMode(gin.ReleaseMode)
}
// 初始化日志系统
log.ZapInit()
// 初始化数据库
db := mysql.Init()
mdb := mongodb.Init()
// 初始化dao
service.Init(db, mdb)
if err := utils.Init(); err != nil {
zap.L().Fatal(err.Error())
}
// 初始化gin
r := gin.Default()
r.Use(middleware.ErrHandler())
r.NoMethod(middleware.HandleNotFound)
r.NoRoute(middleware.HandleNotFound)
r.Static("public/static", "./public/static")
r.Static("public/xlsx", "./public/xlsx")
session.Init(r)
router.Init(r)
err = r.Run(":" + global.Config.GetString("server.port"))
if err != nil {
zap.L().Fatal("Failed to start the server:" + err.Error())
}
}