main.go 853 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package main
  2. import (
  3. "log/slog"
  4. "os"
  5. "github.com/gin-gonic/gin"
  6. )
  7. // main 是后端入口。
  8. //
  9. // 配置全部来自环境变量,见 docs/architecture.md 第四节;
  10. // 本期只完成启动骨架:读取配置、初始化日志、注册健康检查。
  11. // 数据库连接、鉴权中间件与各领域路由按 TODO.md 后续条目接入。
  12. func main() {
  13. if err := run(); err != nil {
  14. slog.Error("服务启动失败", "err", err)
  15. os.Exit(1)
  16. }
  17. }
  18. func run() error {
  19. cfg, err := loadConfig()
  20. if err != nil {
  21. return err
  22. }
  23. logger := newLogger(cfg.LogLevel)
  24. slog.SetDefault(logger)
  25. gin.SetMode(gin.ReleaseMode)
  26. r := gin.New()
  27. r.Use(gin.Recovery())
  28. r.GET("/api/health", func(c *gin.Context) {
  29. c.JSON(200, gin.H{"status": "ok"})
  30. })
  31. logger.Info("后端启动", "listen_addr", cfg.ListenAddr)
  32. return r.Run(cfg.ListenAddr)
  33. }
苏ICP备2026082406号
苏公网安备 待审核