Files
2025-12-06 11:26:05 +08:00

48 lines
1.3 KiB
Go

package routes
import (
"cmii-uav-watchdog/controllers"
"cmii-uav-watchdog/middleware"
"github.com/gin-gonic/gin"
)
// SetupRouter 设置路由
func SetupRouter() *gin.Engine {
r := gin.Default()
// 注册中间件
r.Use(middleware.CORSMiddleware())
// API分组
api := r.Group("/api")
{
// 授权相关路由
auth := api.Group("/authorization")
{
authController := controllers.NewAuthController()
auth.GET("/generate", authController.GenerateAuthFile) // 授权文件生成
auth.POST("/auth", authController.ReceiveAuthCode) // 授权码接收
auth.POST("/info", authController.NotifyAuthInfo) // 授权信息通知
auth.GET("/hosts", authController.GetAllAuthorizedHosts) // 获取所有已授权主机信息
}
// 心跳检测路由
heartbeat := api.Group("/heartbeat")
{
heartbeatController := controllers.NewHeartbeatController()
heartbeat.POST("", heartbeatController.HandleHeartbeat) // 心跳检测
heartbeat.GET("/hosts", heartbeatController.GetAllHeartbeatHosts) // 获取所有心跳主机信息
}
// 暴露CMII的接口
cmii := api.Group("/cmii")
{
cmiiController := controllers.NewCMIIController()
cmii.POST("/host/info/all", cmiiController.HandleHostInfo) // 处理主机信息
}
}
return r
}