// gen2d backend 入口 package main import ( "fmt" "log" "gen2d/internal/config" "gen2d/internal/db" "gen2d/internal/handler" "gen2d/internal/model" "github.com/gin-gonic/gin" ) func main() { cfg := config.Load() gin.SetMode(cfg.Mode) // 初始化 SQLite 数据库 if err := db.Init(cfg.DSN, &model.User{}); err != nil { log.Fatalf("db init failed: %v", err) } // 初始化 AuthService,注入 JWT 配置 handler.InitAuthService(cfg.JWTSecret, cfg.JWTExpire) r := gin.New() r.Use(gin.Recovery()) // panic 恢复中间件,防止服务因未捕获异常宕机 // API v1 路由组 v1 := r.Group("/api/v1") { v1.GET("/health", handler.Health) // 健康检查 } // Auth 路由组 auth := r.Group("/auth") { auth.POST("/register", handler.Register) // 用户注册 auth.POST("/login", handler.Login) // 用户登录 } addr := fmt.Sprintf(":%d", cfg.Port) log.Printf("gen2d backend starting on %s", addr) if err := r.Run(addr); err != nil { log.Fatalf("server failed: %v", err) } }