Abp模块
abp
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

100 lines
2.9 KiB

using System;
using System.Collections.ObjectModel;
using System.ComponentModel;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
namespace Sanhe.Abp.MenuManagement
{
/// <summary>
/// 菜单
/// </summary>
[DisplayName("菜单")]
public class Menu : FullAuditedAggregateRoot<Guid>
{
/// <summary>
/// 名称
/// </summary>
[DisplayName("名称")]
public virtual string Name { get; protected set; }
/// <summary>
/// 显示名称
/// </summary>
[DisplayName("显示名称")]
public virtual string DisplayName { get; protected set; }
/// <summary>
/// 类型
/// </summary>
[DisplayName("类型")]
public virtual MenuEnumType MenuType { get; protected set; }
/// <summary>
/// 组件路径
/// </summary>
[DisplayName("组件路径")]
public virtual string ComponentPath { get; set; }
/// <summary>
/// 路由路径
/// </summary>
[DisplayName("路由路径")]
public virtual string RouterPath { get; set; }
/// <summary>
/// 父Id
/// </summary>
[DisplayName("父Id")]
public virtual Guid? ParentId { get; set; }
/// <summary>
/// 图标
/// </summary>
[DisplayName("图标")]
public virtual string Icon { get; set; }
/// <summary>
/// 排序
/// </summary>
[DisplayName("排序")]
public virtual string Sort { get; set; }
/// <summary>
/// window.open _blank
/// </summary>
[DisplayName("window.open _blank ")]
public virtual string TargetUrl { get; set; }
/// <summary>
/// 此菜单关联的权限key
/// </summary>
[DisplayName("此菜单关联的权限key")]
public virtual string PermissionKey { get; set; }
/// <summary>
/// 表示多租户应用程序中的所属方
/// </summary>
[DisplayName("表示多租户应用程序中的所属方")]
public virtual MultiTenancySides MultiTenancySide { get; set; }
/// <summary>
/// 父菜单
/// </summary>
public virtual Menu Parent { get; set; }
/// <summary>
/// 子菜单
/// </summary>
public virtual Collection<Menu> Children { get; set; }
protected Menu()
{
}
public Menu(
Guid id,
string name,
string displayName,
MenuEnumType menuType,
MultiTenancySides multiTenancySide = MultiTenancySides.Both
)
{
Id = id;
Name = name;
DisplayName = displayName;
MenuType = menuType;
MultiTenancySide = multiTenancySide;
Children = new Collection<Menu>();
}
}
}