using System.ComponentModel.DataAnnotations; namespace HoneyBox.Admin.Models.Menu; /// /// 更新菜单请求 /// public class UpdateMenuRequest { /// /// 父菜单ID,0表示顶级菜单 /// public long ParentId { get; set; } /// /// 菜单名称 /// [Required(ErrorMessage = "菜单名称不能为空")] [MaxLength(50, ErrorMessage = "菜单名称最多50个字符")] public string Name { get; set; } = null!; /// /// 路由路径 /// [MaxLength(200, ErrorMessage = "路由路径最多200个字符")] public string? Path { get; set; } /// /// 组件路径 /// [MaxLength(200, ErrorMessage = "组件路径最多200个字符")] public string? Component { get; set; } /// /// 图标 /// [MaxLength(100, ErrorMessage = "图标最多100个字符")] public string? Icon { get; set; } /// /// 菜单类型:1目录 2菜单 3按钮 /// [Range(1, 3, ErrorMessage = "菜单类型必须是1(目录)、2(菜单)或3(按钮)")] public byte MenuType { get; set; } /// /// 权限标识 /// [MaxLength(100, ErrorMessage = "权限标识最多100个字符")] public string? Permission { get; set; } /// /// 排序号 /// public int SortOrder { get; set; } /// /// 状态:0隐藏 1显示 /// [Range(0, 1, ErrorMessage = "状态必须是0(隐藏)或1(显示)")] public byte Status { get; set; } /// /// 是否外链 /// public bool IsExternal { get; set; } /// /// 是否缓存 /// public bool IsCache { get; set; } }