48 lines
1.3 KiB
Go
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
|
|
}
|