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));
}
}