| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package routes
-
- import (
- "context"
-
- "git.x2erp.com/qdy/go-base/authbase"
- "git.x2erp.com/qdy/go-base/ctx"
- "git.x2erp.com/qdy/go-base/logger"
- "git.x2erp.com/qdy/go-base/model/response"
- "git.x2erp.com/qdy/go-base/util"
- "git.x2erp.com/qdy/go-base/webx/router"
- "git.x2erp.com/qdy/go-svc-code/internal/service/menu"
- )
-
- // RegisterMenuRoutes 注册菜单路由
- func RegisterMenuRoutes(ws *router.RouterService, mappingService *menu.MappingService) {
- // 获取顶部菜单(需要Token认证)
- ws.GET("/api/menu/top",
- func(ctx context.Context, reqCtx *ctx.RequestContext) (*response.QueryResult[[]menu.MenuItem], error) {
- return menu.GetTopMenu(ctx, reqCtx), nil
- },
- ).Use(authbase.TokenAuth).Desc("获取顶部菜单").Register()
-
- // 获取菜单项的所有会话ID(需要Token认证)
- ws.GET("/api/menu/sessions/{menuItemID}",
- func(menuItemID string, ctx context.Context, reqCtx *ctx.RequestContext) (*response.QueryResult[[]string], error) {
- if menuItemID == "" {
- return &response.QueryResult[[]string]{
- Success: false,
- Message: "参数 menu_item_id 不能为空",
- }, nil
- }
-
- // 获取用户ID
- userID := reqCtx.UserID
- if userID == "" {
- logger.Warn("无法从请求上下文获取用户ID")
- return &response.QueryResult[[]string]{
- Success: false,
- Message: "用户认证信息不完整",
- }, nil
- }
-
- // 获取菜单项的所有会话ID
- sessionIDs, err := mappingService.GetSessionIDsByMenuItemID(ctx, menuItemID, userID)
- if err != nil {
- logger.Error("获取菜单项会话ID失败", "menu_item_id", menuItemID, "user_id", userID, "error", err)
- return &response.QueryResult[[]string]{
- Success: false,
- Message: "获取菜单项会话ID失败: " + err.Error(),
- }, nil
- }
-
- return util.CreateSuccessResultData(sessionIDs, reqCtx), nil
- },
- ).Use(authbase.TokenAuth).Desc("获取菜单项的所有会话ID").Register()
- }
|