src/KopSoftWms/ViewComponents/MenuViewComponent.cs
(完整代码) 1KBusing IServices;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
using System.Threading.Tasks;
using YL.Core.Dto;
using YL.Utils.Extensions;
namespace KopSoftWms.ViewComponents
{
public class MenuViewComponent : ViewComponent
{
private readonly ISys_roleServices _roleServices;
private readonly IHttpContextAccessor _httpContext;
public MenuViewComponent(ISys_roleServices roleServices,
IHttpContextAccessor httpContext)
{
_roleServices = roleServices;
_httpContext = httpContext;
}
//public IViewComponentResult Invoke()
//{
// var claims = _httpContext.HttpContext.User.Claims;
// var roleId = claims.SingleOrDefault(c => c.Type == ClaimTypes.Role).Value.ToInt64();
// var menu = _roleServices.GetMenu(roleId);
// return View(menu);
//}
public async Task<IViewComponentResult> InvokeAsync()
{
var claims = _httpContext.HttpContext.User.Claims;
var roleId = claims.SingleOrDefault(c => c.Type == ClaimTypes.Role).Value.ToInt64();
var menus = await GetItemsAsync(roleId);
//var sd = await _roleServices.GetMenu(roleId).ToListAsync();
return View(menus);
}
private Task<List<PermissionMenu>> GetItemsAsync(long roleId)
{
Task<List<PermissionMenu>> t1 = Task.Factory.StartNew(() => _roleServices.GetMenu(roleId));
return t1;
}
}
}
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。