41 lines
1.2 KiB
Go
41 lines
1.2 KiB
Go
package router
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
jwt "github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth"
|
|
|
|
"go-admin/app/admin/apis"
|
|
"go-admin/common/middleware"
|
|
"go-admin/common/middleware/handler"
|
|
)
|
|
|
|
func InitSysRouter(r *gin.Engine, authMiddleware *jwt.GinJWTMiddleware) *gin.RouterGroup {
|
|
g := r.Group("")
|
|
// Bell 骨架只注册认证入口和明确允许的 RBAC 管理路由;
|
|
// 上游静态、Swagger、WebSocket 等默认能力保留源码但默认不暴露。
|
|
sysCheckRoleRouterInit(g, authMiddleware)
|
|
return g
|
|
}
|
|
|
|
func sysCheckRoleRouterInit(r *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
|
|
v1 := r.Group("/api/v1")
|
|
{
|
|
v1.POST("/login", authMiddleware.LoginHandler)
|
|
// Refresh time can be longer than token timeout
|
|
v1.GET("/refresh_token", authMiddleware.RefreshHandler)
|
|
}
|
|
registerBaseRouter(v1, authMiddleware)
|
|
}
|
|
|
|
func registerBaseRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
|
|
systemAPI := apis.System{}
|
|
v1.GET("/captcha", systemAPI.GenerateCaptchaHandler)
|
|
|
|
api := apis.SysMenu{}
|
|
v1auth := v1.Group("").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
|
|
{
|
|
v1auth.GET("/roleMenuTreeselect/:roleId", api.GetMenuTreeSelect)
|
|
v1auth.POST("/logout", handler.LogOut)
|
|
}
|
|
}
|