Files
Quincy_admin/main.go
2026-03-26 22:13:03 +08:00

58 lines
1.5 KiB
Go

// main.go
package main
import (
"Quincy_admin/config"
_ "Quincy_admin/docs"
"Quincy_admin/register"
"log"
"github.com/gin-gonic/gin"
)
// @title Quincy_admin
// @version 1.0
// @description 打造一款综合性接口平台.
// @termsOfService http://swagger.io/terms/
// @contact.name API Support
// @contact.url http://www.swagger.io/support
// @contact.email support@swagger.io
// @license.name Apache 2.0
// @license.url http://www.apache.org/licenses/LICENSE-2.0.html
// @host localhost:8080
// @BasePath /quin
// @securityDefinitions.apikey ApiKeyAuth
// @in header
// @name X-Access-Token
func main() {
//===================================加载配置====================================
cfg := config.LoadConfig()
// 根据配置决定运行模式
if cfg.Server.Mode == "release" {
gin.SetMode(gin.ReleaseMode)
} else {
gin.SetMode(gin.DebugMode)
}
// =================================初始化服务====================================
services, err := register.InitializeServices(cfg)
if err != nil {
log.Fatalf("Failed to initialize services: %v", err)
}
defer services.Cleanup()
// =================================创建Gin引擎====================================
router := gin.New()
router.Use(gin.Recovery())
// 注册所有中间件和路由
register.MiddlewaresAndRoutes(services.DB, router, services.CronManager)
// 启动服务器
if err := router.Run(":" + cfg.Server.Port); err != nil {
log.Fatalf("Failed to start server: %v", err)
}
}