You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
765 B
39 lines
765 B
package main
|
|
|
|
import (
|
|
"log"
|
|
"task-track-backend/internal/config"
|
|
"task-track-backend/internal/router"
|
|
"task-track-backend/pkg/database"
|
|
"task-track-backend/pkg/logger"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func main() {
|
|
// 初始化配置
|
|
cfg := config.Load()
|
|
|
|
// 初始化日志
|
|
logger.Init(cfg.Log.Level)
|
|
|
|
// 初始化数据库
|
|
db, err := database.Init(cfg.Database)
|
|
if err != nil {
|
|
log.Fatal("Failed to initialize database:", err)
|
|
}
|
|
|
|
// 设置 Gin 模式
|
|
if cfg.Server.Mode == "release" {
|
|
gin.SetMode(gin.ReleaseMode)
|
|
}
|
|
|
|
// 初始化路由
|
|
r := router.Setup(db)
|
|
|
|
// 启动服务器
|
|
log.Printf("Server starting on port %s", cfg.Server.Port)
|
|
if err := r.Run(":" + cfg.Server.Port); err != nil {
|
|
log.Fatal("Failed to start server:", err)
|
|
}
|
|
}
|
|
|