2025-07-24 15:07:03 +08:00
|
|
|
|
using DMS.Core.Enums;
|
|
|
|
|
|
|
2025-07-21 14:35:17 +08:00
|
|
|
|
namespace DMS.Application.DTOs;
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-09-03 11:12:42 +08:00
|
|
|
|
/// 菜单数据传输对象(DTO)
|
|
|
|
|
|
/// 用于在应用程序层和表示层之间传输菜单数据,特别是在UI上显示菜单项时使用。
|
2025-07-21 14:35:17 +08:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
public class MenuBeanDto
|
|
|
|
|
|
{
|
2025-09-03 11:12:42 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 菜单项的唯一标识符
|
|
|
|
|
|
/// </summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
public int Id { get; set; }
|
2025-09-03 11:12:42 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 父级菜单项的ID,用于构建层级菜单结构
|
|
|
|
|
|
/// 如果为0表示为顶级菜单项
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public int ParentId { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 菜单项显示的标题文本
|
|
|
|
|
|
/// </summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
public string Header { get; set; }
|
2025-09-03 11:12:42 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 菜单项显示的图标资源路径或标识符
|
|
|
|
|
|
/// </summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
public string Icon { get; set; }
|
2025-09-03 11:12:42 +08:00
|
|
|
|
|
2025-07-24 15:07:03 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 菜单的类型,例如菜单关联的是设备,还是变量表,或者是MQTT
|
2025-09-03 11:12:42 +08:00
|
|
|
|
/// 用于区分不同类型的菜单项,决定点击菜单项时的行为
|
2025-07-24 15:07:03 +08:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
public MenuType MenuType { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 菜单关联的数据ID,例如设备Id,变量表Id
|
2025-09-03 11:12:42 +08:00
|
|
|
|
/// 根据MenuType的不同,此ID可以指向不同的数据实体
|
2025-07-24 15:07:03 +08:00
|
|
|
|
/// </summary>
|
2025-07-26 16:32:01 +08:00
|
|
|
|
public int TargetId { get; set; }
|
2025-09-03 11:12:42 +08:00
|
|
|
|
|
2025-07-26 16:32:01 +08:00
|
|
|
|
/// <summary>
|
2025-09-03 11:12:42 +08:00
|
|
|
|
/// 目标视图的键值,用于导航到特定的视图页面
|
2025-07-26 16:32:01 +08:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string TargetViewKey { get; set; }
|
2025-09-03 11:12:42 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 导航参数,传递给目标视图的额外参数信息
|
|
|
|
|
|
/// </summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
public string NavigationParameter { get; set; }
|
2025-09-03 11:12:42 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 菜单项在同级菜单中的显示顺序
|
|
|
|
|
|
/// 数值越小显示越靠前
|
|
|
|
|
|
/// </summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
public int DisplayOrder { get; set; }
|
2025-09-03 11:12:42 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 子菜单项集合,用于构建层级菜单结构
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public List<MenuBeanDto> Children { get; set; } = new List<MenuBeanDto>();
|
2025-07-21 14:35:17 +08:00
|
|
|
|
}
|