feat: 完成ruoyi、pure菜单兼容
This commit is contained in:
@@ -275,11 +275,12 @@ namespace Yi.Framework.Rbac.Application.Services
|
||||
|
||||
/// <summary>
|
||||
/// 获取当前登录用户的前端路由
|
||||
/// 支持ruoyi/pure
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Authorize]
|
||||
[Route("account/Vue3Router")]
|
||||
public async Task<List<Vue3RouterDto>> GetVue3Router()
|
||||
[Route("account/Vue3Router/{routerType?}")]
|
||||
public async Task<object> GetVue3Router([FromRoute]string? routerType)
|
||||
{
|
||||
var userId = _currentUser.Id;
|
||||
if (_currentUser.Id is null)
|
||||
@@ -296,10 +297,20 @@ namespace Yi.Framework.Rbac.Application.Services
|
||||
menus = ObjectMapper.Map<List<MenuAggregateRoot>, List<MenuDto>>(await _menuRepository.GetListAsync());
|
||||
}
|
||||
|
||||
object output = null;
|
||||
if (routerType is null ||routerType=="ruoyi")
|
||||
{
|
||||
//将后端菜单转换成前端路由,组件级别需要过滤
|
||||
List<Vue3RouterDto> routers =
|
||||
ObjectMapper.Map<List<MenuDto>, List<MenuAggregateRoot>>(menus).Vue3RouterBuild();
|
||||
return routers;
|
||||
output =
|
||||
ObjectMapper.Map<List<MenuDto>, List<MenuAggregateRoot>>(menus).Vue3RuoYiRouterBuild();
|
||||
}
|
||||
else if (routerType =="pure")
|
||||
{
|
||||
//将后端菜单转换成前端路由,组件级别需要过滤
|
||||
output =
|
||||
ObjectMapper.Map<List<MenuDto>, List<MenuAggregateRoot>>(menus).Vue3PureRouterBuild();
|
||||
}
|
||||
return output;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -195,6 +195,11 @@ namespace Yi.Framework.Rbac.Domain.Shared.Dtos
|
||||
public class MenuDto
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
/// <summary>
|
||||
/// 菜单来源
|
||||
/// </summary>
|
||||
public MenuSourceEnum MenuSource { get; set; }
|
||||
public string? RouterName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 逻辑删除
|
||||
|
||||
@@ -2,10 +2,13 @@
|
||||
|
||||
public class Vue3PureRouterDto
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public Guid ParentId { get; set; }
|
||||
public string Path { get; set; }
|
||||
public string Name { get; set; }
|
||||
public MetaPureRouterDto Meta { get; set; } = new MetaPureRouterDto();
|
||||
|
||||
public string? component { get; set; }
|
||||
public List<Vue3PureRouterDto>? Children { get; set; }
|
||||
}
|
||||
|
||||
@@ -14,11 +17,6 @@ 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; }
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace Yi.Framework.Rbac.Domain.Shared.Enums;
|
||||
|
||||
public enum MenuSourceEnum
|
||||
{
|
||||
Ruoyi=0,
|
||||
Pure=1
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
using SqlSugar;
|
||||
using NUglify.Helpers;
|
||||
using SqlSugar;
|
||||
using Volo.Abp;
|
||||
using Volo.Abp.Auditing;
|
||||
using Volo.Abp.Domain.Entities;
|
||||
@@ -75,7 +76,12 @@ namespace Yi.Framework.Rbac.Domain.Entities
|
||||
/// <summary>
|
||||
/// 菜单名
|
||||
/// </summary>
|
||||
public string MenuName { get; set; } = string.Empty;
|
||||
public string MenuName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 路由名称
|
||||
/// </summary>
|
||||
public string? RouterName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
@@ -137,6 +143,11 @@ namespace Yi.Framework.Rbac.Domain.Entities
|
||||
[SugarColumn(ColumnName = "Component")]
|
||||
public string? Component { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 菜单来源
|
||||
/// </summary>
|
||||
public MenuSourceEnum MenuSource { get; set; } = MenuSourceEnum.Ruoyi;
|
||||
|
||||
/// <summary>
|
||||
/// 路由参数
|
||||
///</summary>
|
||||
@@ -156,9 +167,13 @@ namespace Yi.Framework.Rbac.Domain.Entities
|
||||
/// </summary>
|
||||
/// <param name="menus"></param>
|
||||
/// <returns></returns>
|
||||
public static List<Vue3RouterDto> Vue3RouterBuild(this List<MenuAggregateRoot> menus)
|
||||
public static List<Vue3RouterDto> Vue3RuoYiRouterBuild(this List<MenuAggregateRoot> menus)
|
||||
{
|
||||
menus = menus.Where(m => m.MenuType != MenuTypeEnum.Component).ToList();
|
||||
menus = menus
|
||||
.Where(m => m.State == true)
|
||||
.Where(m => m.MenuType != MenuTypeEnum.Component)
|
||||
.Where(m => m.MenuSource == MenuSourceEnum.Ruoyi)
|
||||
.ToList();
|
||||
List<Vue3RouterDto> routers = new();
|
||||
foreach (var m in menus)
|
||||
{
|
||||
@@ -222,10 +237,52 @@ namespace Yi.Framework.Rbac.Domain.Entities
|
||||
/// </summary>
|
||||
/// <param name="menus"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="NotImplementedException"></exception>
|
||||
public static List<Vue3PureRouterDto> Vue3PureRouterBuild(this List<MenuAggregateRoot> menus)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
//pure的菜单为树形
|
||||
var allRouters = menus
|
||||
.Where(m => m.State == true)
|
||||
.Where(m => m.MenuType != MenuTypeEnum.Component)
|
||||
.Where(m => m.MenuSource == MenuSourceEnum.Pure)
|
||||
.Select(m => new Vue3PureRouterDto
|
||||
{
|
||||
Path = m.Router.StartsWith("/")?m.Router:"/"+m.Router,
|
||||
Name = m.RouterName,
|
||||
component = m.Component,
|
||||
Meta = new MetaPureRouterDto()
|
||||
{
|
||||
showLink = m.IsShow,
|
||||
FrameSrc = m.IsLink == true ? m.Router : null,
|
||||
Auths = new List<string>() { m.PermissionCode },
|
||||
Icon = m.MenuIcon,
|
||||
Title = m.MenuName,
|
||||
|
||||
},
|
||||
Children =null,
|
||||
Id = m.Id,
|
||||
ParentId = m.ParentId
|
||||
})
|
||||
.ToList();
|
||||
|
||||
|
||||
var routerDic = allRouters.GroupBy(x => x.ParentId).ToDictionary(x => x.Key,y=>y.ToList());
|
||||
//根路由
|
||||
if (!routerDic.TryGetValue(Guid.Empty, out var rootRouters))
|
||||
{
|
||||
return new List<Vue3PureRouterDto>();
|
||||
}
|
||||
Stack<Vue3PureRouterDto> stack = new Stack<Vue3PureRouterDto>(rootRouters);
|
||||
while (stack.Count > 0)
|
||||
{
|
||||
var currentRouter = stack.Pop();
|
||||
if (routerDic.TryGetValue(currentRouter.Id, out var items))
|
||||
{
|
||||
currentRouter.Children = items;
|
||||
items?.ForEach(x => stack.Push(x));
|
||||
}
|
||||
}
|
||||
|
||||
return rootRouters;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,519 @@
|
||||
using Volo.Abp.Data;
|
||||
using Volo.Abp.DependencyInjection;
|
||||
using Volo.Abp.Guids;
|
||||
using Yi.Framework.Rbac.Domain.Entities;
|
||||
using Yi.Framework.Rbac.Domain.Shared.Enums;
|
||||
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||
|
||||
namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
|
||||
{
|
||||
public class MenuPureDataSeed : IDataSeedContributor, ITransientDependency
|
||||
{
|
||||
private ISqlSugarRepository<MenuAggregateRoot> _repository;
|
||||
private IGuidGenerator _guidGenerator;
|
||||
public MenuPureDataSeed(ISqlSugarRepository<MenuAggregateRoot> repository, IGuidGenerator guidGenerator)
|
||||
{
|
||||
_repository = repository;
|
||||
_guidGenerator = guidGenerator;
|
||||
}
|
||||
|
||||
public async Task SeedAsync(DataSeedContext context)
|
||||
{
|
||||
if (!await _repository.IsAnyAsync(x => x.MenuName == "系统管理"&&x.MenuSource==MenuSourceEnum.Pure))
|
||||
{
|
||||
await _repository.InsertManyAsync(GetSeedData());
|
||||
}
|
||||
}
|
||||
public List<MenuAggregateRoot> GetSeedData()
|
||||
{
|
||||
List<MenuAggregateRoot> entities = new List<MenuAggregateRoot>();
|
||||
//系统管理
|
||||
MenuAggregateRoot system = new MenuAggregateRoot(_guidGenerator.Create(), Guid.Empty)
|
||||
{
|
||||
MenuName = "系统管理",
|
||||
MenuType = MenuTypeEnum.Catalogue,
|
||||
Router = "/system",
|
||||
MenuIcon = "ri:settings-3-line",
|
||||
OrderNum = 100
|
||||
};
|
||||
entities.Add(system);
|
||||
|
||||
//系统监控
|
||||
MenuAggregateRoot monitoring = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
MenuName = "系统监控",
|
||||
MenuType = MenuTypeEnum.Catalogue,
|
||||
Router = "/monitor",
|
||||
MenuIcon = "menus.pureSysMonitor",
|
||||
OrderNum = 99,
|
||||
};
|
||||
entities.Add(monitoring);
|
||||
|
||||
|
||||
//在线用户
|
||||
MenuAggregateRoot online = new MenuAggregateRoot(_guidGenerator.Create(), monitoring.Id)
|
||||
{
|
||||
MenuName = "在线用户",
|
||||
PermissionCode = "monitor:online:list",
|
||||
MenuType = MenuTypeEnum.Menu,
|
||||
Router = "/monitor/online-user",
|
||||
MenuIcon = "ri:user-voice-line",
|
||||
OrderNum = 100,
|
||||
RouterName = "OnlineUser",
|
||||
Component = "monitor/online/index"
|
||||
};
|
||||
entities.Add(online);
|
||||
|
||||
|
||||
//Yi框架
|
||||
MenuAggregateRoot guide = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "Yi框架",
|
||||
MenuType = MenuTypeEnum.Catalogue,
|
||||
Router = "https://gitee.com/ccnetcore/yi",
|
||||
IsLink = true,
|
||||
MenuIcon = "guide",
|
||||
OrderNum = 90,
|
||||
};
|
||||
entities.Add(guide);
|
||||
|
||||
//用户管理
|
||||
MenuAggregateRoot user = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
MenuName = "用户管理",
|
||||
PermissionCode = "system:user:list",
|
||||
MenuType = MenuTypeEnum.Menu,
|
||||
Router = "/system/user/index",
|
||||
MenuIcon = "ri:admin-line",
|
||||
OrderNum = 100,
|
||||
ParentId = system.Id,
|
||||
RouterName = "SystemUser"
|
||||
};
|
||||
entities.Add(user);
|
||||
|
||||
MenuAggregateRoot userQuery = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "用户查询",
|
||||
PermissionCode = "system:user:query",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = user.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(userQuery);
|
||||
|
||||
MenuAggregateRoot userAdd = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "用户新增",
|
||||
PermissionCode = "system:user:add",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = user.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(userAdd);
|
||||
|
||||
MenuAggregateRoot userEdit = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "用户修改",
|
||||
PermissionCode = "system:user:edit",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = user.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(userEdit);
|
||||
|
||||
MenuAggregateRoot userRemove = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "用户删除",
|
||||
PermissionCode = "system:user:remove",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = user.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(userRemove);
|
||||
|
||||
|
||||
MenuAggregateRoot userResetPwd = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "重置密码",
|
||||
PermissionCode = "system:user:resetPwd",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = user.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(userResetPwd);
|
||||
|
||||
|
||||
//角色管理
|
||||
MenuAggregateRoot role = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "角色管理",
|
||||
PermissionCode = "system:role:list",
|
||||
MenuType = MenuTypeEnum.Menu,
|
||||
Router = "/system/role/index",
|
||||
MenuIcon = "ri:admin-fill",
|
||||
OrderNum = 99,
|
||||
ParentId = system.Id,
|
||||
RouterName = "SystemRole"
|
||||
};
|
||||
entities.Add(role);
|
||||
|
||||
MenuAggregateRoot roleQuery = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "角色查询",
|
||||
PermissionCode = "system:role:query",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = role.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(roleQuery);
|
||||
|
||||
MenuAggregateRoot roleAdd = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "角色新增",
|
||||
PermissionCode = "system:role:add",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = role.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(roleAdd);
|
||||
|
||||
MenuAggregateRoot roleEdit = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "角色修改",
|
||||
PermissionCode = "system:role:edit",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = role.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(roleEdit);
|
||||
|
||||
MenuAggregateRoot roleRemove = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "角色删除",
|
||||
PermissionCode = "system:role:remove",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = role.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(roleRemove);
|
||||
|
||||
|
||||
//菜单管理
|
||||
MenuAggregateRoot menu = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "菜单管理",
|
||||
PermissionCode = "system:menu:list",
|
||||
MenuType = MenuTypeEnum.Menu,
|
||||
Router = "/system/menu/index",
|
||||
MenuIcon = "ep:menu",
|
||||
OrderNum = 98,
|
||||
ParentId = system.Id,
|
||||
RouterName = "SystemMenu"
|
||||
};
|
||||
entities.Add(menu);
|
||||
|
||||
MenuAggregateRoot menuQuery = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "菜单查询",
|
||||
PermissionCode = "system:menu:query",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = menu.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(menuQuery);
|
||||
|
||||
MenuAggregateRoot menuAdd = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "菜单新增",
|
||||
PermissionCode = "system:menu:add",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = menu.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(menuAdd);
|
||||
|
||||
MenuAggregateRoot menuEdit = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "菜单修改",
|
||||
PermissionCode = "system:menu:edit",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = menu.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(menuEdit);
|
||||
|
||||
MenuAggregateRoot menuRemove = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "菜单删除",
|
||||
PermissionCode = "system:menu:remove",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = menu.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(menuRemove);
|
||||
|
||||
//部门管理
|
||||
MenuAggregateRoot dept = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "部门管理",
|
||||
PermissionCode = "system:dept:list",
|
||||
MenuType = MenuTypeEnum.Menu,
|
||||
Router = "/system/dept/index",
|
||||
MenuIcon = "ri:git-branch-line",
|
||||
OrderNum = 97,
|
||||
ParentId = system.Id,
|
||||
RouterName = "SystemDept"
|
||||
};
|
||||
entities.Add(dept);
|
||||
|
||||
MenuAggregateRoot deptQuery = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "部门查询",
|
||||
PermissionCode = "system:dept:query",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = dept.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(deptQuery);
|
||||
|
||||
MenuAggregateRoot deptAdd = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "部门新增",
|
||||
PermissionCode = "system:dept:add",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = dept.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(deptAdd);
|
||||
|
||||
MenuAggregateRoot deptEdit = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "部门修改",
|
||||
PermissionCode = "system:dept:edit",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = dept.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(deptEdit);
|
||||
|
||||
MenuAggregateRoot deptRemove = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "部门删除",
|
||||
PermissionCode = "system:dept:remove",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = dept.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(deptRemove);
|
||||
|
||||
|
||||
|
||||
//岗位管理
|
||||
MenuAggregateRoot post = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "岗位管理",
|
||||
PermissionCode = "system:post:list",
|
||||
MenuType = MenuTypeEnum.Menu,
|
||||
Router = "/system/post/index",
|
||||
MenuIcon = "ant-design:deployment-unit-outlined",
|
||||
OrderNum = 96,
|
||||
ParentId = system.Id,
|
||||
RouterName = "SystemPost"
|
||||
};
|
||||
entities.Add(post);
|
||||
|
||||
MenuAggregateRoot postQuery = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "岗位查询",
|
||||
PermissionCode = "system:post:query",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = post.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(postQuery);
|
||||
|
||||
MenuAggregateRoot postAdd = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "岗位新增",
|
||||
PermissionCode = "system:post:add",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = post.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(postAdd);
|
||||
|
||||
MenuAggregateRoot postEdit = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "岗位修改",
|
||||
PermissionCode = "system:post:edit",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = post.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(postEdit);
|
||||
|
||||
MenuAggregateRoot postRemove = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "岗位删除",
|
||||
PermissionCode = "system:post:remove",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = post.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(postRemove);
|
||||
|
||||
|
||||
//操作日志
|
||||
MenuAggregateRoot operationLog = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "操作日志",
|
||||
PermissionCode = "monitor:operlog:list",
|
||||
MenuType = MenuTypeEnum.Menu,
|
||||
Router = "/monitor/operation-logs",
|
||||
MenuIcon = "ri:history-fill",
|
||||
OrderNum = 100,
|
||||
ParentId = monitoring.Id,
|
||||
RouterName = "OperationLog",
|
||||
Component = "monitor/logs/operation/index"
|
||||
};
|
||||
entities.Add(operationLog);
|
||||
|
||||
MenuAggregateRoot operationLogQuery = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "操作查询",
|
||||
PermissionCode = "monitor:operlog:query",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = operationLog.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(operationLogQuery);
|
||||
|
||||
MenuAggregateRoot operationLogRemove = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "操作删除",
|
||||
PermissionCode = "monitor:operlog:remove",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = operationLog.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(operationLogRemove);
|
||||
|
||||
|
||||
//登录日志
|
||||
MenuAggregateRoot loginLog = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "登录日志",
|
||||
PermissionCode = "monitor:logininfor:list",
|
||||
MenuType = MenuTypeEnum.Menu,
|
||||
Router = "/monitor/login-logs",
|
||||
IsShow = true,
|
||||
IsLink = false,
|
||||
IsCache = true,
|
||||
Component = "monitor/logs/login/index",
|
||||
MenuIcon = "ri:window-line",
|
||||
OrderNum = 100,
|
||||
ParentId = monitoring.Id,
|
||||
RouterName = "LoginLog",
|
||||
};
|
||||
entities.Add(loginLog);
|
||||
|
||||
MenuAggregateRoot loginLogQuery = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "登录查询",
|
||||
PermissionCode = "monitor:logininfor:query",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = loginLog.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(loginLogQuery);
|
||||
|
||||
MenuAggregateRoot loginLogRemove = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "登录删除",
|
||||
PermissionCode = "monitor:logininfor:remove",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = loginLog.Id,
|
||||
IsDeleted = false,
|
||||
|
||||
};
|
||||
entities.Add(loginLogRemove);
|
||||
|
||||
//默认值
|
||||
entities.ForEach(m =>
|
||||
{
|
||||
m.IsDeleted = false;
|
||||
m.State = true;
|
||||
m.MenuSource = MenuSourceEnum.Pure;
|
||||
m.IsShow = true;
|
||||
});
|
||||
|
||||
var p = entities.GroupBy(x => x.Id);
|
||||
foreach (var k in p)
|
||||
{
|
||||
if (k.ToList().Count > 1)
|
||||
{
|
||||
Console.WriteLine("菜单id重复");
|
||||
}
|
||||
|
||||
}
|
||||
return entities;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,11 +7,11 @@ using Yi.Framework.SqlSugarCore.Abstractions;
|
||||
|
||||
namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
|
||||
{
|
||||
public class MenuDataSeed : IDataSeedContributor, ITransientDependency
|
||||
public class MenuRuoYiDataSeed : IDataSeedContributor, ITransientDependency
|
||||
{
|
||||
private ISqlSugarRepository<MenuAggregateRoot> _repository;
|
||||
private IGuidGenerator _guidGenerator;
|
||||
public MenuDataSeed(ISqlSugarRepository<MenuAggregateRoot> repository, IGuidGenerator guidGenerator)
|
||||
public MenuRuoYiDataSeed(ISqlSugarRepository<MenuAggregateRoot> repository, IGuidGenerator guidGenerator)
|
||||
{
|
||||
_repository = repository;
|
||||
_guidGenerator = guidGenerator;
|
||||
@@ -19,7 +19,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
|
||||
|
||||
public async Task SeedAsync(DataSeedContext context)
|
||||
{
|
||||
if (!await _repository.IsAnyAsync(x => x.MenuName == "系统管理"))
|
||||
if (!await _repository.IsAnyAsync(x => x.MenuName == "系统管理"&&x.MenuSource==MenuSourceEnum.Ruoyi))
|
||||
{
|
||||
await _repository.InsertManyAsync(GetSeedData());
|
||||
}
|
||||
@@ -54,7 +54,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
|
||||
IsLink = false,
|
||||
MenuIcon = "build",
|
||||
OrderNum = 91,
|
||||
IsDeleted = false
|
||||
IsDeleted = false,
|
||||
};
|
||||
entities.Add(code);
|
||||
|
||||
@@ -229,332 +229,332 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
|
||||
entities.Add(swagger);
|
||||
|
||||
|
||||
//ERP
|
||||
MenuAggregateRoot erp = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
MenuName = "ERP(待更新)",
|
||||
MenuType = MenuTypeEnum.Catalogue,
|
||||
Router = "/erp",
|
||||
IsShow = true,
|
||||
IsLink = false,
|
||||
MenuIcon = "international",
|
||||
OrderNum = 96,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(erp);
|
||||
|
||||
|
||||
|
||||
//供应商定义
|
||||
MenuAggregateRoot supplier = new MenuAggregateRoot(_guidGenerator.Create(), erp.Id)
|
||||
{
|
||||
MenuName = "供应商定义",
|
||||
PermissionCode = "erp:supplier:list",
|
||||
MenuType = MenuTypeEnum.Menu,
|
||||
Router = "supplier",
|
||||
IsShow = true,
|
||||
IsLink = false,
|
||||
IsCache = true,
|
||||
Component = "erp/supplier/index",
|
||||
MenuIcon = "education",
|
||||
OrderNum = 100,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(supplier);
|
||||
|
||||
MenuAggregateRoot supplierQuery = new MenuAggregateRoot(_guidGenerator.Create(), supplier.Id)
|
||||
{
|
||||
MenuName = "供应商查询",
|
||||
PermissionCode = "erp:supplier:query",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(supplierQuery);
|
||||
|
||||
MenuAggregateRoot supplierAdd = new MenuAggregateRoot(_guidGenerator.Create(), supplier.Id)
|
||||
{
|
||||
MenuName = "供应商新增",
|
||||
PermissionCode = "erp:supplier:add",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(supplierAdd);
|
||||
|
||||
MenuAggregateRoot supplierEdit = new MenuAggregateRoot(_guidGenerator.Create(), supplier.Id)
|
||||
{
|
||||
MenuName = "供应商修改",
|
||||
PermissionCode = "erp:supplier:edit",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(supplierEdit);
|
||||
|
||||
MenuAggregateRoot supplierRemove = new MenuAggregateRoot(_guidGenerator.Create(), supplier.Id)
|
||||
{
|
||||
MenuName = "供应商删除",
|
||||
PermissionCode = "erp:supplier:remove",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(supplierRemove);
|
||||
|
||||
|
||||
//仓库定义
|
||||
MenuAggregateRoot warehouse = new MenuAggregateRoot(_guidGenerator.Create(), erp.Id)
|
||||
{
|
||||
MenuName = "仓库定义",
|
||||
PermissionCode = "erp:warehouse:list",
|
||||
MenuType = MenuTypeEnum.Menu,
|
||||
Router = "warehouse",
|
||||
IsShow = true,
|
||||
IsLink = false,
|
||||
IsCache = true,
|
||||
Component = "erp/warehouse/index",
|
||||
MenuIcon = "education",
|
||||
OrderNum = 100,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(warehouse);
|
||||
|
||||
MenuAggregateRoot warehouseQuery = new MenuAggregateRoot(_guidGenerator.Create(), warehouse.Id)
|
||||
{
|
||||
MenuName = "仓库查询",
|
||||
PermissionCode = "erp:warehouse:query",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = warehouse.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(warehouseQuery);
|
||||
|
||||
MenuAggregateRoot warehouseAdd = new MenuAggregateRoot(_guidGenerator.Create(), warehouse.Id)
|
||||
{
|
||||
MenuName = "仓库新增",
|
||||
PermissionCode = "erp:warehouse:add",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(warehouseAdd);
|
||||
|
||||
MenuAggregateRoot warehouseEdit = new MenuAggregateRoot(_guidGenerator.Create(), warehouse.Id)
|
||||
{
|
||||
MenuName = "仓库修改",
|
||||
PermissionCode = "erp:warehouse:edit",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(warehouseEdit);
|
||||
|
||||
MenuAggregateRoot warehouseRemove = new MenuAggregateRoot(_guidGenerator.Create(), warehouse.Id)
|
||||
{
|
||||
MenuName = "仓库删除",
|
||||
PermissionCode = "erp:warehouse:remove",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(warehouseRemove);
|
||||
|
||||
|
||||
//单位定义
|
||||
MenuAggregateRoot unit = new MenuAggregateRoot(_guidGenerator.Create(), erp.Id)
|
||||
{
|
||||
MenuName = "单位定义",
|
||||
PermissionCode = "erp:unit:list",
|
||||
MenuType = MenuTypeEnum.Menu,
|
||||
Router = "unit",
|
||||
IsShow = true,
|
||||
IsLink = false,
|
||||
IsCache = true,
|
||||
Component = "erp/unit/index",
|
||||
MenuIcon = "education",
|
||||
OrderNum = 100,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(unit);
|
||||
|
||||
MenuAggregateRoot unitQuery = new MenuAggregateRoot(_guidGenerator.Create(), unit.Id)
|
||||
{
|
||||
MenuName = "单位查询",
|
||||
PermissionCode = "erp:unit:query",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(unitQuery);
|
||||
|
||||
MenuAggregateRoot unitAdd = new MenuAggregateRoot(_guidGenerator.Create(), unit.Id)
|
||||
{
|
||||
MenuName = "单位新增",
|
||||
PermissionCode = "erp:unit:add",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(unitAdd);
|
||||
|
||||
MenuAggregateRoot unitEdit = new MenuAggregateRoot(_guidGenerator.Create(), unit.Id)
|
||||
{
|
||||
MenuName = "单位修改",
|
||||
PermissionCode = "erp:unit:edit",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(unitEdit);
|
||||
|
||||
MenuAggregateRoot unitRemove = new MenuAggregateRoot(_guidGenerator.Create(), unit.Id)
|
||||
{
|
||||
MenuName = "单位删除",
|
||||
PermissionCode = "erp:unit:remove",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(unitRemove);
|
||||
|
||||
|
||||
//物料定义
|
||||
MenuAggregateRoot material = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "物料定义",
|
||||
PermissionCode = "erp:material:list",
|
||||
MenuType = MenuTypeEnum.Menu,
|
||||
Router = "material",
|
||||
IsShow = true,
|
||||
IsLink = false,
|
||||
IsCache = true,
|
||||
Component = "erp/material/index",
|
||||
MenuIcon = "education",
|
||||
OrderNum = 100,
|
||||
ParentId = erp.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(material);
|
||||
|
||||
MenuAggregateRoot materialQuery = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "物料查询",
|
||||
PermissionCode = "erp:material:query",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = material.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(materialQuery);
|
||||
|
||||
MenuAggregateRoot materialAdd = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "物料新增",
|
||||
PermissionCode = "erp:material:add",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = material.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(materialAdd);
|
||||
|
||||
MenuAggregateRoot materialEdit = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "物料修改",
|
||||
PermissionCode = "erp:material:edit",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = material.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(materialEdit);
|
||||
|
||||
MenuAggregateRoot materialRemove = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "物料删除",
|
||||
PermissionCode = "erp:material:remove",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = material.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(materialRemove);
|
||||
|
||||
|
||||
//采购订单
|
||||
MenuAggregateRoot purchase = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "采购订单",
|
||||
PermissionCode = "erp:purchase:list",
|
||||
MenuType = MenuTypeEnum.Menu,
|
||||
Router = "purchase",
|
||||
IsShow = true,
|
||||
IsLink = false,
|
||||
IsCache = true,
|
||||
Component = "erp/purchase/index",
|
||||
MenuIcon = "education",
|
||||
OrderNum = 100,
|
||||
ParentId = erp.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(purchase);
|
||||
|
||||
MenuAggregateRoot purchaseQuery = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "采购订单查询",
|
||||
PermissionCode = "erp:purchase:query",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = purchase.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(purchaseQuery);
|
||||
|
||||
MenuAggregateRoot purchaseAdd = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "采购订单新增",
|
||||
PermissionCode = "erp:purchase:add",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = purchase.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(purchaseAdd);
|
||||
|
||||
MenuAggregateRoot purchaseEdit = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "采购订单修改",
|
||||
PermissionCode = "erp:purchase:edit",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = purchase.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(purchaseEdit);
|
||||
|
||||
MenuAggregateRoot purchaseRemove = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
{
|
||||
|
||||
MenuName = "采购订单删除",
|
||||
PermissionCode = "erp:purchase:remove",
|
||||
MenuType = MenuTypeEnum.Component,
|
||||
OrderNum = 100,
|
||||
ParentId = purchase.Id,
|
||||
IsDeleted = false
|
||||
};
|
||||
entities.Add(purchaseRemove);
|
||||
// //ERP
|
||||
// MenuAggregateRoot erp = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
// {
|
||||
// MenuName = "ERP(待更新)",
|
||||
// MenuType = MenuTypeEnum.Catalogue,
|
||||
// Router = "/erp",
|
||||
// IsShow = true,
|
||||
// IsLink = false,
|
||||
// MenuIcon = "international",
|
||||
// OrderNum = 96,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(erp);
|
||||
//
|
||||
//
|
||||
//
|
||||
// //供应商定义
|
||||
// MenuAggregateRoot supplier = new MenuAggregateRoot(_guidGenerator.Create(), erp.Id)
|
||||
// {
|
||||
// MenuName = "供应商定义",
|
||||
// PermissionCode = "erp:supplier:list",
|
||||
// MenuType = MenuTypeEnum.Menu,
|
||||
// Router = "supplier",
|
||||
// IsShow = true,
|
||||
// IsLink = false,
|
||||
// IsCache = true,
|
||||
// Component = "erp/supplier/index",
|
||||
// MenuIcon = "education",
|
||||
// OrderNum = 100,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(supplier);
|
||||
//
|
||||
// MenuAggregateRoot supplierQuery = new MenuAggregateRoot(_guidGenerator.Create(), supplier.Id)
|
||||
// {
|
||||
// MenuName = "供应商查询",
|
||||
// PermissionCode = "erp:supplier:query",
|
||||
// MenuType = MenuTypeEnum.Component,
|
||||
// OrderNum = 100,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(supplierQuery);
|
||||
//
|
||||
// MenuAggregateRoot supplierAdd = new MenuAggregateRoot(_guidGenerator.Create(), supplier.Id)
|
||||
// {
|
||||
// MenuName = "供应商新增",
|
||||
// PermissionCode = "erp:supplier:add",
|
||||
// MenuType = MenuTypeEnum.Component,
|
||||
// OrderNum = 100,
|
||||
//
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(supplierAdd);
|
||||
//
|
||||
// MenuAggregateRoot supplierEdit = new MenuAggregateRoot(_guidGenerator.Create(), supplier.Id)
|
||||
// {
|
||||
// MenuName = "供应商修改",
|
||||
// PermissionCode = "erp:supplier:edit",
|
||||
// MenuType = MenuTypeEnum.Component,
|
||||
// OrderNum = 100,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(supplierEdit);
|
||||
//
|
||||
// MenuAggregateRoot supplierRemove = new MenuAggregateRoot(_guidGenerator.Create(), supplier.Id)
|
||||
// {
|
||||
// MenuName = "供应商删除",
|
||||
// PermissionCode = "erp:supplier:remove",
|
||||
// MenuType = MenuTypeEnum.Component,
|
||||
// OrderNum = 100,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(supplierRemove);
|
||||
//
|
||||
//
|
||||
// //仓库定义
|
||||
// MenuAggregateRoot warehouse = new MenuAggregateRoot(_guidGenerator.Create(), erp.Id)
|
||||
// {
|
||||
// MenuName = "仓库定义",
|
||||
// PermissionCode = "erp:warehouse:list",
|
||||
// MenuType = MenuTypeEnum.Menu,
|
||||
// Router = "warehouse",
|
||||
// IsShow = true,
|
||||
// IsLink = false,
|
||||
// IsCache = true,
|
||||
// Component = "erp/warehouse/index",
|
||||
// MenuIcon = "education",
|
||||
// OrderNum = 100,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(warehouse);
|
||||
//
|
||||
// MenuAggregateRoot warehouseQuery = new MenuAggregateRoot(_guidGenerator.Create(), warehouse.Id)
|
||||
// {
|
||||
// MenuName = "仓库查询",
|
||||
// PermissionCode = "erp:warehouse:query",
|
||||
// MenuType = MenuTypeEnum.Component,
|
||||
// OrderNum = 100,
|
||||
// ParentId = warehouse.Id,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(warehouseQuery);
|
||||
//
|
||||
// MenuAggregateRoot warehouseAdd = new MenuAggregateRoot(_guidGenerator.Create(), warehouse.Id)
|
||||
// {
|
||||
// MenuName = "仓库新增",
|
||||
// PermissionCode = "erp:warehouse:add",
|
||||
// MenuType = MenuTypeEnum.Component,
|
||||
// OrderNum = 100,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(warehouseAdd);
|
||||
//
|
||||
// MenuAggregateRoot warehouseEdit = new MenuAggregateRoot(_guidGenerator.Create(), warehouse.Id)
|
||||
// {
|
||||
// MenuName = "仓库修改",
|
||||
// PermissionCode = "erp:warehouse:edit",
|
||||
// MenuType = MenuTypeEnum.Component,
|
||||
// OrderNum = 100,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(warehouseEdit);
|
||||
//
|
||||
// MenuAggregateRoot warehouseRemove = new MenuAggregateRoot(_guidGenerator.Create(), warehouse.Id)
|
||||
// {
|
||||
// MenuName = "仓库删除",
|
||||
// PermissionCode = "erp:warehouse:remove",
|
||||
// MenuType = MenuTypeEnum.Component,
|
||||
// OrderNum = 100,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(warehouseRemove);
|
||||
//
|
||||
//
|
||||
// //单位定义
|
||||
// MenuAggregateRoot unit = new MenuAggregateRoot(_guidGenerator.Create(), erp.Id)
|
||||
// {
|
||||
// MenuName = "单位定义",
|
||||
// PermissionCode = "erp:unit:list",
|
||||
// MenuType = MenuTypeEnum.Menu,
|
||||
// Router = "unit",
|
||||
// IsShow = true,
|
||||
// IsLink = false,
|
||||
// IsCache = true,
|
||||
// Component = "erp/unit/index",
|
||||
// MenuIcon = "education",
|
||||
// OrderNum = 100,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(unit);
|
||||
//
|
||||
// MenuAggregateRoot unitQuery = new MenuAggregateRoot(_guidGenerator.Create(), unit.Id)
|
||||
// {
|
||||
// MenuName = "单位查询",
|
||||
// PermissionCode = "erp:unit:query",
|
||||
// MenuType = MenuTypeEnum.Component,
|
||||
// OrderNum = 100,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(unitQuery);
|
||||
//
|
||||
// MenuAggregateRoot unitAdd = new MenuAggregateRoot(_guidGenerator.Create(), unit.Id)
|
||||
// {
|
||||
// MenuName = "单位新增",
|
||||
// PermissionCode = "erp:unit:add",
|
||||
// MenuType = MenuTypeEnum.Component,
|
||||
// OrderNum = 100,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(unitAdd);
|
||||
//
|
||||
// MenuAggregateRoot unitEdit = new MenuAggregateRoot(_guidGenerator.Create(), unit.Id)
|
||||
// {
|
||||
// MenuName = "单位修改",
|
||||
// PermissionCode = "erp:unit:edit",
|
||||
// MenuType = MenuTypeEnum.Component,
|
||||
// OrderNum = 100,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(unitEdit);
|
||||
//
|
||||
// MenuAggregateRoot unitRemove = new MenuAggregateRoot(_guidGenerator.Create(), unit.Id)
|
||||
// {
|
||||
// MenuName = "单位删除",
|
||||
// PermissionCode = "erp:unit:remove",
|
||||
// MenuType = MenuTypeEnum.Component,
|
||||
// OrderNum = 100,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(unitRemove);
|
||||
//
|
||||
//
|
||||
// //物料定义
|
||||
// MenuAggregateRoot material = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
// {
|
||||
//
|
||||
// MenuName = "物料定义",
|
||||
// PermissionCode = "erp:material:list",
|
||||
// MenuType = MenuTypeEnum.Menu,
|
||||
// Router = "material",
|
||||
// IsShow = true,
|
||||
// IsLink = false,
|
||||
// IsCache = true,
|
||||
// Component = "erp/material/index",
|
||||
// MenuIcon = "education",
|
||||
// OrderNum = 100,
|
||||
// ParentId = erp.Id,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(material);
|
||||
//
|
||||
// MenuAggregateRoot materialQuery = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
// {
|
||||
//
|
||||
// MenuName = "物料查询",
|
||||
// PermissionCode = "erp:material:query",
|
||||
// MenuType = MenuTypeEnum.Component,
|
||||
// OrderNum = 100,
|
||||
// ParentId = material.Id,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(materialQuery);
|
||||
//
|
||||
// MenuAggregateRoot materialAdd = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
// {
|
||||
//
|
||||
// MenuName = "物料新增",
|
||||
// PermissionCode = "erp:material:add",
|
||||
// MenuType = MenuTypeEnum.Component,
|
||||
// OrderNum = 100,
|
||||
// ParentId = material.Id,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(materialAdd);
|
||||
//
|
||||
// MenuAggregateRoot materialEdit = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
// {
|
||||
//
|
||||
// MenuName = "物料修改",
|
||||
// PermissionCode = "erp:material:edit",
|
||||
// MenuType = MenuTypeEnum.Component,
|
||||
// OrderNum = 100,
|
||||
// ParentId = material.Id,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(materialEdit);
|
||||
//
|
||||
// MenuAggregateRoot materialRemove = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
// {
|
||||
//
|
||||
// MenuName = "物料删除",
|
||||
// PermissionCode = "erp:material:remove",
|
||||
// MenuType = MenuTypeEnum.Component,
|
||||
// OrderNum = 100,
|
||||
// ParentId = material.Id,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(materialRemove);
|
||||
//
|
||||
//
|
||||
// //采购订单
|
||||
// MenuAggregateRoot purchase = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
// {
|
||||
//
|
||||
// MenuName = "采购订单",
|
||||
// PermissionCode = "erp:purchase:list",
|
||||
// MenuType = MenuTypeEnum.Menu,
|
||||
// Router = "purchase",
|
||||
// IsShow = true,
|
||||
// IsLink = false,
|
||||
// IsCache = true,
|
||||
// Component = "erp/purchase/index",
|
||||
// MenuIcon = "education",
|
||||
// OrderNum = 100,
|
||||
// ParentId = erp.Id,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(purchase);
|
||||
//
|
||||
// MenuAggregateRoot purchaseQuery = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
// {
|
||||
//
|
||||
// MenuName = "采购订单查询",
|
||||
// PermissionCode = "erp:purchase:query",
|
||||
// MenuType = MenuTypeEnum.Component,
|
||||
// OrderNum = 100,
|
||||
// ParentId = purchase.Id,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(purchaseQuery);
|
||||
//
|
||||
// MenuAggregateRoot purchaseAdd = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
// {
|
||||
//
|
||||
// MenuName = "采购订单新增",
|
||||
// PermissionCode = "erp:purchase:add",
|
||||
// MenuType = MenuTypeEnum.Component,
|
||||
// OrderNum = 100,
|
||||
// ParentId = purchase.Id,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(purchaseAdd);
|
||||
//
|
||||
// MenuAggregateRoot purchaseEdit = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
// {
|
||||
//
|
||||
// MenuName = "采购订单修改",
|
||||
// PermissionCode = "erp:purchase:edit",
|
||||
// MenuType = MenuTypeEnum.Component,
|
||||
// OrderNum = 100,
|
||||
// ParentId = purchase.Id,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(purchaseEdit);
|
||||
//
|
||||
// MenuAggregateRoot purchaseRemove = new MenuAggregateRoot(_guidGenerator.Create())
|
||||
// {
|
||||
//
|
||||
// MenuName = "采购订单删除",
|
||||
// PermissionCode = "erp:purchase:remove",
|
||||
// MenuType = MenuTypeEnum.Component,
|
||||
// OrderNum = 100,
|
||||
// ParentId = purchase.Id,
|
||||
// IsDeleted = false
|
||||
// };
|
||||
// entities.Add(purchaseRemove);
|
||||
|
||||
|
||||
|
||||
@@ -1317,6 +1317,8 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
|
||||
{
|
||||
m.IsDeleted = false;
|
||||
m.State = true;
|
||||
m.MenuSource = MenuSourceEnum.Ruoyi;
|
||||
m.IsShow = true;
|
||||
});
|
||||
|
||||
var p = entities.GroupBy(x => x.Id);
|
||||
@@ -7,6 +7,72 @@ import { system, monitor } from "@/router/enums";
|
||||
* admin:管理员角色
|
||||
* common:普通角色
|
||||
*/
|
||||
const testRouter = [
|
||||
{
|
||||
id: "906c8094-21a1-1042-f151-3a14dab3cadb",
|
||||
parentId: "00000000-0000-0000-0000-000000000000",
|
||||
path: "/monitor",
|
||||
name: null,
|
||||
meta: {
|
||||
icon: "menus.pureSysMonitor",
|
||||
title: "系统监控",
|
||||
component: null,
|
||||
roles: null,
|
||||
auths: [null],
|
||||
frameSrc: null,
|
||||
frameLoading: null,
|
||||
keepAlive: null,
|
||||
showLink: true
|
||||
},
|
||||
children: [
|
||||
{
|
||||
id: "c765691a-32e4-4e88-6e8a-3a14dab3cadb",
|
||||
parentId: "906c8094-21a1-1042-f151-3a14dab3cadb",
|
||||
path: "/monitor/online-user",
|
||||
name: "OnlineUser",
|
||||
meta: {
|
||||
icon: "ri:user-voice-line",
|
||||
title: "在线用户",
|
||||
component: null,
|
||||
roles: null,
|
||||
auths: ["monitor:online:list"],
|
||||
frameSrc: null,
|
||||
frameLoading: null,
|
||||
keepAlive: null,
|
||||
showLink: true
|
||||
},
|
||||
},
|
||||
{
|
||||
path: "/monitor/operation-logs",
|
||||
name: "OperationLog",
|
||||
meta: {
|
||||
icon: "ri:history-fill",
|
||||
title: "操作日志",
|
||||
component: "monitor/logs/operation/index",
|
||||
showLink: true
|
||||
},
|
||||
},
|
||||
{
|
||||
id: "580a7b97-15ab-6d43-d011-3a14dab3cadc",
|
||||
parentId: "906c8094-21a1-1042-f151-3a14dab3cadb",
|
||||
path: "/monitor/login-logs",
|
||||
name: "LoginLog",
|
||||
meta: {
|
||||
icon: "ri:window-line",
|
||||
title: "登录日志",
|
||||
component: "monitor/logs/login/index",
|
||||
roles: null,
|
||||
auths: ["monitor:logininfor:list"],
|
||||
frameSrc: null,
|
||||
frameLoading: null,
|
||||
keepAlive: null,
|
||||
showLink: true
|
||||
},
|
||||
children: null
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
const systemManagementRouter = {
|
||||
path: "/system",
|
||||
@@ -334,6 +400,7 @@ export default defineFakeRoute([
|
||||
url: `/dev-api/get-async-routes`,
|
||||
method: "get",
|
||||
response: () => {
|
||||
return testRouter;
|
||||
return [
|
||||
systemManagementRouter,
|
||||
systemMonitorRouter
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { http } from "@/utils/http";
|
||||
|
||||
type Result = {
|
||||
success: boolean;
|
||||
data: Array<any>;
|
||||
};
|
||||
import type { Result } from "@/api/result";
|
||||
|
||||
export const getAsyncRoutes = () => {
|
||||
return http.request<Result>("get", "/get-async-routes");
|
||||
};
|
||||
|
||||
export const getRoutes = () => {
|
||||
return http.request<Result>("get", "/account/Vue3Router/pure");
|
||||
};
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
import { http } from "@/utils/http";
|
||||
import type { Result, ResultList, ResultPage } from "./result.ts";
|
||||
|
||||
/** 新增角色 */
|
||||
export const addRole = (data: any) => {
|
||||
return http.request<Result>("post", `/role`, { data });
|
||||
};
|
||||
|
||||
/** 获取系统管理-角色管理列表 */
|
||||
export const getRoleList = (data?: object) => {
|
||||
return http.request<ResultPage>("post", "/role", { data });
|
||||
};
|
||||
|
||||
/** 获取系统管理-菜单管理列表 */
|
||||
export const getMenuList = (data?: object) => {
|
||||
return http.request<Result>("post", "/menu", { data });
|
||||
};
|
||||
|
||||
/** 获取系统监控-在线用户列表 */
|
||||
export const getOnlineLogsList = (data?: object) => {
|
||||
return http.request<ResultPage>("post", "/online-logs", { data });
|
||||
};
|
||||
|
||||
/** 获取系统监控-登录日志列表 */
|
||||
export const getLoginLogsList = (data?: object) => {
|
||||
return http.request<ResultPage>("post", "/login-logs", { data });
|
||||
};
|
||||
|
||||
/** 获取系统监控-操作日志列表 */
|
||||
export const getOperationLogsList = (data?: object) => {
|
||||
return http.request<ResultPage>("post", "/operation-logs", { data });
|
||||
};
|
||||
|
||||
/** 获取系统监控-系统日志列表 */
|
||||
export const getSystemLogsList = (data?: object) => {
|
||||
return http.request<ResultPage>("post", "/system-logs", { data });
|
||||
};
|
||||
|
||||
/** 获取系统监控-系统日志-根据 id 查日志详情 */
|
||||
export const getSystemLogsDetail = (data?: object) => {
|
||||
return http.request<ResultList>("post", "/system-logs-detail", { data });
|
||||
};
|
||||
|
||||
/** 获取角色管理-权限-菜单权限 */
|
||||
export const getRoleMenu = (data?: object) => {
|
||||
return http.request<ResultList>("post", "/role-menu", { data });
|
||||
};
|
||||
|
||||
/** 获取角色管理-权限-菜单权限-根据角色 id 查对应菜单 */
|
||||
export const getRoleMenuIds = (data?: object) => {
|
||||
return http.request<ResultList>("post", "/role-menu-ids", { data });
|
||||
};
|
||||
@@ -27,7 +27,8 @@ const IFrame = () => import("@/layout/frame.vue");
|
||||
const modulesRoutes = import.meta.glob("/src/views/**/*.{vue,tsx}");
|
||||
|
||||
// 动态路由
|
||||
import { getAsyncRoutes } from "@/api/routes";
|
||||
// getAsyncRoutes
|
||||
import { getRoutes,getAsyncRoutes } from "@/api/routes";
|
||||
|
||||
function handRank(routeInfo: any) {
|
||||
const { name, path, parentId, meta } = routeInfo;
|
||||
@@ -202,7 +203,7 @@ function initRouter() {
|
||||
});
|
||||
} else {
|
||||
return new Promise(resolve => {
|
||||
getAsyncRoutes().then(({ data }) => {
|
||||
getRoutes().then(({ data }) => {
|
||||
handleAsyncRoutes(cloneDeep(data));
|
||||
storageLocal().setItem(key, data);
|
||||
resolve(router);
|
||||
@@ -211,7 +212,7 @@ function initRouter() {
|
||||
}
|
||||
} else {
|
||||
return new Promise(resolve => {
|
||||
getAsyncRoutes().then(({ data }) => {
|
||||
getRoutes().then(({ data }) => {
|
||||
handleAsyncRoutes(cloneDeep(data));
|
||||
resolve(router);
|
||||
});
|
||||
@@ -303,6 +304,9 @@ function addAsyncRoutes(arrRoutes: Array<RouteRecordRaw>) {
|
||||
if (!arrRoutes || !arrRoutes.length) return;
|
||||
const modulesRoutesKeys = Object.keys(modulesRoutes);
|
||||
arrRoutes.forEach((v: RouteRecordRaw) => {
|
||||
if (v.children == null) {
|
||||
v.children = undefined;
|
||||
}
|
||||
// 将backstage属性加入meta,标识此路由为后端返回路由
|
||||
v.meta.backstage = true;
|
||||
// 父级的redirect属性取值:如果子级存在且父级的redirect属性不存在,默认取第一个子级的path;如果子级存在且父级的redirect属性存在,取存在的redirect属性,会覆盖默认值
|
||||
|
||||
@@ -13,7 +13,7 @@ import {
|
||||
getLogin,
|
||||
getUserInfo,
|
||||
refreshTokenApi
|
||||
} from "@/api/user";
|
||||
} from "@/api/account";
|
||||
import { useMultiTagsStoreHook } from "./multiTags";
|
||||
import { type DataInfo, setToken, removeToken, userKey } from "@/utils/auth";
|
||||
|
||||
|
||||
@@ -19,12 +19,11 @@ import LoginQrCode from "./components/LoginQrCode.vue";
|
||||
import { useUserStoreHook } from "@/store/modules/user";
|
||||
import { initRouter, getTopMenu } from "@/router/utils";
|
||||
import { bg, avatar, illustration } from "./utils/static";
|
||||
import { ReImageVerify } from "@/components/ReImageVerify";
|
||||
import { ref, toRaw, reactive, watch, computed } from "vue";
|
||||
import { useRenderIcon } from "@/components/ReIcon/src/hooks";
|
||||
import { useTranslationLang } from "@/layout/hooks/useTranslationLang";
|
||||
import { useDataThemeChange } from "@/layout/hooks/useDataThemeChange";
|
||||
import { getCodeImg } from "@/api/user";
|
||||
import { getCodeImg } from "@/api/account";
|
||||
|
||||
import dayIcon from "@/assets/svg/day.svg?component";
|
||||
import darkIcon from "@/assets/svg/dark.svg?component";
|
||||
|
||||
@@ -42,12 +42,12 @@ const dataList = ref([
|
||||
{
|
||||
title: "响应体",
|
||||
name: "requestResult",
|
||||
data: (props.data[0] as any).requestResult
|
||||
data: (props.data[0] as any)?.requestResult
|
||||
},
|
||||
{
|
||||
title: "请求体",
|
||||
name: "requestParam",
|
||||
data: (props.data[0] as any).requestParam
|
||||
data: (props.data[0] as any)?.requestParam
|
||||
}
|
||||
]);
|
||||
</script>
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
import dayjs from "dayjs";
|
||||
import Detail from "../detail.vue";
|
||||
import { message } from "@/utils/message";
|
||||
import { addDialog } from "@/components/ReDialog";
|
||||
import type { PaginationProps } from "@pureadmin/table";
|
||||
import { type Ref, reactive, ref, onMounted, toRaw } from "vue";
|
||||
import { type Ref, reactive, ref, onMounted } from "vue";
|
||||
import { getKeyList, useCopyToClipboard } from "@pureadmin/utils";
|
||||
import { getSystemLogsList, getSystemLogsDetail } from "@/api/system";
|
||||
import Info from "@iconify-icons/ri/question-line";
|
||||
|
||||
export function useRole(tableRef: Ref) {
|
||||
@@ -189,28 +186,29 @@ export function useRole(tableRef: Ref) {
|
||||
}
|
||||
|
||||
function onDetail(row) {
|
||||
getSystemLogsDetail({ id: row.id }).then(res => {
|
||||
addDialog({
|
||||
title: "系统日志详情",
|
||||
fullscreen: true,
|
||||
hideFooter: true,
|
||||
contentRenderer: () => Detail,
|
||||
props: {
|
||||
data: [res]
|
||||
}
|
||||
});
|
||||
});
|
||||
console.log(row);
|
||||
// getSystemLogsDetail({ id: row.id }).then(res => {
|
||||
// addDialog({
|
||||
// title: "系统日志详情",
|
||||
// fullscreen: true,
|
||||
// hideFooter: true,
|
||||
// contentRenderer: () => Detail,
|
||||
// props: {
|
||||
// data: [res]
|
||||
// }
|
||||
// });
|
||||
// });
|
||||
}
|
||||
|
||||
async function onSearch() {
|
||||
loading.value = true;
|
||||
const { data } = await getSystemLogsList(toRaw(form));
|
||||
dataList.value = data.items;
|
||||
pagination.total = data.totalCount;
|
||||
|
||||
setTimeout(() => {
|
||||
loading.value = false;
|
||||
}, 500);
|
||||
// loading.value = true;
|
||||
// const { data } = await getSystemLogsList(toRaw(form));
|
||||
// dataList.value = data.items;
|
||||
// pagination.total = data.totalCount;
|
||||
//
|
||||
// setTimeout(() => {
|
||||
// loading.value = false;
|
||||
// }, 500);
|
||||
}
|
||||
|
||||
const resetForm = formEl => {
|
||||
|
||||
Reference in New Issue
Block a user