49 lines
1.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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