using AmtScanner.Api.Models; namespace AmtScanner.Api.Services; /// /// 菜单服务接口 /// public interface IMenuService { /// /// 获取用户菜单(根据角色过滤) /// Task> GetUserMenusAsync(int userId); /// /// 获取所有菜单 /// Task> GetAllMenusAsync(); } /// /// 菜单 DTO - 符合前端 AppRouteRecord 格式 /// public class MenuDto { public int Id { get; set; } public string Name { get; set; } = string.Empty; public string Path { get; set; } = string.Empty; public string? Component { get; set; } public MenuMetaDto Meta { get; set; } = new(); public List Children { get; set; } = new(); } /// /// 菜单元数据 DTO - 符合前端 RouteMeta 格式 /// public class MenuMetaDto { public string Title { get; set; } = string.Empty; public string? Icon { get; set; } public bool IsHide { get; set; } public bool KeepAlive { get; set; } public string? Link { get; set; } public bool IsIframe { get; set; } public List Roles { get; set; } = new(); }