using MediatR;
using Swashbuckle.AspNetCore.SwaggerGen;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
///
/// 查询菜单详情
///
[Resource([EnumResourceController.UserServerMenu])]
public class GetMenuQuery : IRequest
{
///
/// Id
///
public Guid Id { get; set; }
///
/// 角色Id
///
public Guid? RoleId { get; set; }
}
///
/// 查询菜单详情-结果
///
public class GetMenuQueryResult
{
public GetMenuQueryResult()
{
Groups = [];
}
///
/// Id
///
public Guid Id { get; set; }
///
/// 是否选择(用户角色授权)
///
public bool IsChecked { get; set; }
///
/// 用户类型
///
public EnumUserType UserType { get; set; }
///
/// 客户端类型
///
public EnumClientType ClientType { get; set; }
///
/// 上级Id
///
public Guid? ParentId { get; set; }
///
/// 菜单路径
///
public string Path { get; set; }
///
/// 编号
///
public string Code { get; set; }
///
/// 名称
///
public string Name { get; set; }
///
/// 类型
///
public EnumMenuType Type { get; set; }
///
/// 访问级别
///
public EnumMenuVisitLevel VisitLevel { get; set; }
///
/// 图标
///
public string Icon { get; set; }
///
/// 链接地址
///
public string Url { get; set; }
///
/// 是否禁用
///
public bool IsDisabled { get; set; }
///
/// 是否缓存
///
public bool IsCache { get; set; }
///
/// 排序
///
public int Sort { get; set; }
///
/// 备注
///
public string Remark { get; set; }
///
/// 分组
///
public List Groups { get; set; }
}
///
/// 查询菜单详情-结果-分组
///
public class GetMenuQueryResultGroup
{
public GetMenuQueryResultGroup()
{
ButtonLocations = [];
Fields = [];
}
///
/// 分组名称(用于按钮/字段)
///
public string Group { get; set; }
///
/// 按钮位置
///
public List ButtonLocations { get; set; }
///
/// 字段
///
public List Fields { get; set; }
}
///
/// 查询菜单详情-结果-按钮位置
///
public class GetMenuQueryResultButtonLocation
{
public GetMenuQueryResultButtonLocation()
{
Buttons = [];
}
///
/// 位置(用于按钮)
///
public string Location { get; set; }
///
/// 按钮
///
public List Buttons { get; set; }
}
///
/// 查询菜单详情-结果-按钮项
///
public class GetMenuQueryResultButton
{
///
/// Id
///
public Guid Id { get; set; }
///
/// 是否选择(用户角色授权)
///
public bool IsChecked { get; set; }
///
/// 编号
///
public string Code { get; set; }
///
/// 名称
///
public string Name { get; set; }
///
/// 图标
///
public string Icon { get; set; }
///
/// 宽度(用于按钮/列/元素)
///
public string Width { get; set; }
///
/// 排序
///
public int Sort { get; set; }
///
/// 备注
///
public string Remark { get; set; }
}
///
/// 查询菜单详情-结果-字段项
///
public class GetMenuQueryResultField
{
///
/// Id
///
public Guid Id { get; set; }
///
/// 是否选择(用户角色授权)
///
public bool IsChecked { get; set; }
///
/// 编号
///
public string Code { get; set; }
///
/// 名称
///
public string Name { get; set; }
///
/// 宽度(用于按钮/列/元素)
///
public string Width { get; set; }
///
/// 排序
///
public int Sort { get; set; }
///
/// 备注
///
public string Remark { get; set; }
}
///
/// 查询菜单详情-结果-项
///
public class GetMenuQueryResultItem
{
///
/// Id
///
public Guid Id { get; set; }
///
/// 是否选择(用户角色授权)
///
public bool IsChecked { get; set; }
///
/// 编号
///
public string Code { get; set; }
///
/// 名称
///
public string Name { get; set; }
///
/// 类型
///
public EnumMenuType Type { get; set; }
///
/// 图标
///
public string Icon { get; set; }
///
/// 分组名称(用于按钮/字段)
///
public string Group { get; set; }
///
/// 位置(用于按钮)
///
public string Location { get; set; }
///
/// 宽度(用于按钮/列/元素)
///
public string Width { get; set; }
///
/// 排序
///
public int Sort { get; set; }
///
/// 备注
///
public string Remark { get; set; }
}
}