feat: 管理端返回权限过滤的菜单树
This commit is contained in:
@@ -94,10 +94,25 @@ public sealed class AdminAuthService(
|
||||
{
|
||||
var user = await userRepository.FindByIdAsync(userId, cancellationToken)
|
||||
?? throw new BusinessException(ErrorCodes.NotFound, "用户不存在");
|
||||
|
||||
// 1. 返回档案
|
||||
return await BuildProfileAsync(user, cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取当前用户可见菜单树。
|
||||
/// </summary>
|
||||
/// <param name="userId">用户 ID。</param>
|
||||
/// <param name="cancellationToken">取消令牌。</param>
|
||||
/// <returns>菜单树。</returns>
|
||||
public async Task<IReadOnlyList<MenuNodeDto>> GetMenuTreeAsync(long userId, CancellationToken cancellationToken = default)
|
||||
{
|
||||
// 1. 读取档案以获取权限
|
||||
var profile = await GetProfileAsync(userId, cancellationToken);
|
||||
// 2. 生成菜单树
|
||||
var menu = AdminMenuProvider.BuildMenuTree(profile.Permissions);
|
||||
return menu;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取指定用户的权限概览(校验当前租户)。
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user