feat: 增加基础模块,登录、退出登录等接口
This commit is contained in:
1 parent
5f39264dbc
commit
eb3b9b9fc1
28 files changed
+2960
-43
No files matched your search
@@ -0,0 +1,63 @@
|
||||
package routes
|
||||
|
||||
import (
|
||||
_ "license-manager/docs/swagger" // swagger docs
|
||||
"license-manager/internal/api/handlers"
|
||||
"license-manager/internal/api/middleware"
|
||||
"license-manager/internal/service"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
swaggerFiles "github.com/swaggo/files"
|
||||
ginSwagger "github.com/swaggo/gin-swagger"
|
||||
)
|
||||
|
||||
func SetupRouter() *gin.Engine {
|
||||
router := gin.New()
|
||||
|
||||
// 全局中间件
|
||||
router.Use(middleware.CustomLoggerMiddleware())
|
||||
router.Use(gin.Recovery())
|
||||
router.Use(middleware.CORSMiddleware())
|
||||
|
||||
// 初始化服务
|
||||
authService := service.NewAuthService()
|
||||
systemService := service.NewSystemService()
|
||||
|
||||
// 初始化处理器
|
||||
authHandler := handlers.NewAuthHandler(authService)
|
||||
systemHandler := handlers.NewSystemHandler(systemService)
|
||||
|
||||
// 健康检测接口(无需认证)
|
||||
router.GET("/health", systemHandler.HealthCheck)
|
||||
|
||||
// Swagger文档路由
|
||||
router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
||||
|
||||
// API v1 路由组
|
||||
v1 := router.Group("/api/v1")
|
||||
{
|
||||
// 公开接口(无需认证)
|
||||
public := v1.Group("")
|
||||
{
|
||||
public.POST("/login", authHandler.Login)
|
||||
}
|
||||
|
||||
// 需要认证的接口
|
||||
auth := v1.Group("")
|
||||
auth.Use(middleware.AuthMiddleware())
|
||||
{
|
||||
// 认证相关
|
||||
auth.POST("/logout", authHandler.Logout)
|
||||
auth.POST("/auth/refresh", authHandler.RefreshToken)
|
||||
}
|
||||
|
||||
// 管理员接口
|
||||
admin := v1.Group("/admin")
|
||||
admin.Use(middleware.AuthMiddleware(), middleware.AdminOnlyMiddleware())
|
||||
{
|
||||
admin.GET("/system/info", systemHandler.GetSystemInfo)
|
||||
}
|
||||
}
|
||||
|
||||
return router
|
||||
}
|
||||
Reference in new issue
Block a user