Merge branch 'refs/heads/pure-dev' into abp
This commit is contained in:
@@ -270,6 +270,9 @@ namespace Yi.Framework.Rbac.Application.Services
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取当前登录用户的前端路由
|
/// 获取当前登录用户的前端路由
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
namespace Yi.Framework.Rbac.Domain.Shared.Dtos;
|
||||||
|
|
||||||
|
public class Vue3PureRouterDto
|
||||||
|
{
|
||||||
|
public string Path { get; set; }
|
||||||
|
public string Name { get; set; }
|
||||||
|
public MetaPureRouterDto Meta { get; set; } = new MetaPureRouterDto();
|
||||||
|
|
||||||
|
public List<Vue3PureRouterDto>? Children { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class MetaPureRouterDto
|
||||||
|
{
|
||||||
|
public string Icon { get; set; }
|
||||||
|
public string Title { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 排序
|
||||||
|
/// </summary>
|
||||||
|
public string Rank { get; set; }
|
||||||
|
|
||||||
|
public List<string>? Roles { get; set; }
|
||||||
|
|
||||||
|
public List<string>? Auths { get; set; }
|
||||||
|
|
||||||
|
public string? FrameSrc { get; set; }
|
||||||
|
|
||||||
|
public string? FrameLoading { get; set; }
|
||||||
|
|
||||||
|
public bool? KeepAlive { get; set; }
|
||||||
|
|
||||||
|
public bool? showLink { get; set; }
|
||||||
|
}
|
||||||
@@ -15,10 +15,22 @@ namespace Yi.Framework.Rbac.Domain.Entities
|
|||||||
[SugarTable("Menu")]
|
[SugarTable("Menu")]
|
||||||
public partial class MenuAggregateRoot : AggregateRoot<Guid>, ISoftDelete, IAuditedObject, IOrderNum, IState
|
public partial class MenuAggregateRoot : AggregateRoot<Guid>, ISoftDelete, IAuditedObject, IOrderNum, IState
|
||||||
{
|
{
|
||||||
public MenuAggregateRoot() { }
|
public MenuAggregateRoot()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public MenuAggregateRoot(Guid id)
|
||||||
|
{
|
||||||
|
Id = id;
|
||||||
|
ParentId = Guid.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MenuAggregateRoot(Guid id, Guid parentId)
|
||||||
|
{
|
||||||
|
Id = id;
|
||||||
|
ParentId = parentId;
|
||||||
|
}
|
||||||
|
|
||||||
public MenuAggregateRoot(Guid id) { Id = id; ParentId = Guid.Empty; }
|
|
||||||
public MenuAggregateRoot(Guid id, Guid parentId) { Id = id; ParentId = parentId; }
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 主键
|
/// 主键
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -64,16 +76,19 @@ namespace Yi.Framework.Rbac.Domain.Entities
|
|||||||
/// 菜单名
|
/// 菜单名
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string MenuName { get; set; } = string.Empty;
|
public string MenuName { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
///</summary>
|
///</summary>
|
||||||
[SugarColumn(ColumnName = "MenuType")]
|
[SugarColumn(ColumnName = "MenuType")]
|
||||||
public MenuTypeEnum MenuType { get; set; } = MenuTypeEnum.Menu;
|
public MenuTypeEnum MenuType { get; set; } = MenuTypeEnum.Menu;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
///</summary>
|
///</summary>
|
||||||
[SugarColumn(ColumnName = "PermissionCode")]
|
[SugarColumn(ColumnName = "PermissionCode")]
|
||||||
public string? PermissionCode { get; set; }
|
public string? PermissionCode { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
///</summary>
|
///</summary>
|
||||||
@@ -85,21 +100,25 @@ namespace Yi.Framework.Rbac.Domain.Entities
|
|||||||
///</summary>
|
///</summary>
|
||||||
[SugarColumn(ColumnName = "MenuIcon")]
|
[SugarColumn(ColumnName = "MenuIcon")]
|
||||||
public string? MenuIcon { get; set; }
|
public string? MenuIcon { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 菜单组件路由
|
/// 菜单组件路由
|
||||||
///</summary>
|
///</summary>
|
||||||
[SugarColumn(ColumnName = "Router")]
|
[SugarColumn(ColumnName = "Router")]
|
||||||
public string? Router { get; set; }
|
public string? Router { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否为外部链接
|
/// 是否为外部链接
|
||||||
///</summary>
|
///</summary>
|
||||||
[SugarColumn(ColumnName = "IsLink")]
|
[SugarColumn(ColumnName = "IsLink")]
|
||||||
public bool IsLink { get; set; }
|
public bool IsLink { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否缓存
|
/// 是否缓存
|
||||||
///</summary>
|
///</summary>
|
||||||
[SugarColumn(ColumnName = "IsCache")]
|
[SugarColumn(ColumnName = "IsCache")]
|
||||||
public bool IsCache { get; set; }
|
public bool IsCache { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否显示
|
/// 是否显示
|
||||||
///</summary>
|
///</summary>
|
||||||
@@ -111,20 +130,20 @@ namespace Yi.Framework.Rbac.Domain.Entities
|
|||||||
///</summary>
|
///</summary>
|
||||||
[SugarColumn(ColumnName = "Remark")]
|
[SugarColumn(ColumnName = "Remark")]
|
||||||
public string? Remark { get; set; }
|
public string? Remark { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 组件路径
|
/// 组件路径
|
||||||
///</summary>
|
///</summary>
|
||||||
[SugarColumn(ColumnName = "Component")]
|
[SugarColumn(ColumnName = "Component")]
|
||||||
public string? Component { get; set; }
|
public string? Component { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 路由参数
|
/// 路由参数
|
||||||
///</summary>
|
///</summary>
|
||||||
[SugarColumn(ColumnName = "Query")]
|
[SugarColumn(ColumnName = "Query")]
|
||||||
public string? Query { get; set; }
|
public string? Query { get; set; }
|
||||||
|
|
||||||
[SugarColumn(IsIgnore = true)]
|
[SugarColumn(IsIgnore = true)] public List<MenuAggregateRoot>? Children { get; set; }
|
||||||
public List<MenuAggregateRoot>? Children { get; set; }
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -143,7 +162,6 @@ namespace Yi.Framework.Rbac.Domain.Entities
|
|||||||
List<Vue3RouterDto> routers = new();
|
List<Vue3RouterDto> routers = new();
|
||||||
foreach (var m in menus)
|
foreach (var m in menus)
|
||||||
{
|
{
|
||||||
|
|
||||||
var r = new Vue3RouterDto();
|
var r = new Vue3RouterDto();
|
||||||
r.OrderNum = m.OrderNum;
|
r.OrderNum = m.OrderNum;
|
||||||
var routerName = m.Router?.Split("/").LastOrDefault();
|
var routerName = m.Router?.Split("/").LastOrDefault();
|
||||||
@@ -171,6 +189,7 @@ namespace Yi.Framework.Rbac.Domain.Entities
|
|||||||
r.Component = "ParentView";
|
r.Component = "ParentView";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m.MenuType == MenuTypeEnum.Menu)
|
if (m.MenuType == MenuTypeEnum.Menu)
|
||||||
{
|
{
|
||||||
r.Redirect = "noRedirect";
|
r.Redirect = "noRedirect";
|
||||||
@@ -178,6 +197,7 @@ namespace Yi.Framework.Rbac.Domain.Entities
|
|||||||
r.Component = m.Component!;
|
r.Component = m.Component!;
|
||||||
r.AlwaysShow = false;
|
r.AlwaysShow = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
r.Meta = new Meta
|
r.Meta = new Meta
|
||||||
{
|
{
|
||||||
Title = m.MenuName!,
|
Title = m.MenuName!,
|
||||||
@@ -192,8 +212,20 @@ namespace Yi.Framework.Rbac.Domain.Entities
|
|||||||
|
|
||||||
routers.Add(r);
|
routers.Add(r);
|
||||||
}
|
}
|
||||||
return TreeHelper.SetTree(routers);
|
|
||||||
|
|
||||||
|
return TreeHelper.SetTree(routers);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 构建vue3 pure路由
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="menus"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
/// <exception cref="NotImplementedException"></exception>
|
||||||
|
public static List<Vue3PureRouterDto> Vue3PureRouterBuild(this List<MenuAggregateRoot> menus)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user