using AmtScanner.Api.Models; using AmtScanner.Api.Services; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace AmtScanner.Api.Controllers; /// /// 菜单控制器 /// [ApiController] public class MenuController : ControllerBase { private readonly IMenuService _menuService; public MenuController(IMenuService menuService) { _menuService = menuService; } /// /// 获取用户菜单(adminSystem 前端使用的路由) /// [Authorize] [HttpGet("api/v3/system/menus/simple")] public async Task>>> GetUserMenus() { var userIdClaim = User.FindFirst("userId")?.Value; if (string.IsNullOrEmpty(userIdClaim) || !int.TryParse(userIdClaim, out var userId)) { return Ok(ApiResponse>.Fail(401, "无效的用户")); } var menus = await _menuService.GetUserMenusAsync(userId); return Ok(ApiResponse>.Success(menus)); } /// /// 获取所有菜单列表 /// [Authorize] [HttpGet("api/menu/list")] public async Task>>> GetAllMenus() { var menus = await _menuService.GetAllMenusAsync(); return Ok(ApiResponse>.Success(menus)); } }