41 lines
828 B
Go
41 lines
828 B
Go
package main
|
|
|
|
import (
|
|
"exam_registration/internal/dao"
|
|
"exam_registration/internal/middleware"
|
|
"exam_registration/internal/routes"
|
|
"exam_registration/pkg/config"
|
|
"fmt"
|
|
"github.com/gin-gonic/gin"
|
|
"log"
|
|
)
|
|
|
|
func main() {
|
|
// 加载配置
|
|
if err := config.Init("config/config.yaml"); err != nil {
|
|
log.Fatalf("Failed to load config: %v", err)
|
|
}
|
|
|
|
// 初始化数据库
|
|
if err := dao.InitMySQL(config.Config); err != nil {
|
|
log.Fatalf("Failed to init database: %v", err)
|
|
}
|
|
|
|
// 创建 Gin 引擎
|
|
r := gin.Default()
|
|
|
|
// 全局中间件
|
|
r.Use(middleware.Cors())
|
|
|
|
// 设置路由
|
|
routes.SetupRouter(r)
|
|
|
|
// 启动服务器
|
|
port := config.Config.GetString("server.port")
|
|
if err := r.Run(":" + port); err != nil {
|
|
log.Fatalf("Failed to start server: %v", err)
|
|
}
|
|
|
|
fmt.Printf("Server started on port %s\n", port)
|
|
}
|