更新根据路由获取菜单

This commit is contained in:
lzw
2021-10-24 14:33:04 +08:00
parent ad17541829
commit 1342b50b68
3 changed files with 24 additions and 11 deletions

View File

@@ -135,14 +135,12 @@ namespace Yi.Framework.ApiMicroservice.Controllers
var _user = HttpContext.GetCurrentUserInfo();
return Result.Success().SetData(await _userService.GetMenuById(_user.id));
}
[HttpPost]
public async Task<Result> GetRouterByUserId( AxiosUrlsModel urlsModel,string router)
[HttpGet]
public async Task<Result> GetRouterByUserId(string router)
{
var _user = HttpContext.GetCurrentUserInfo();
var menuList = await _userService.GetMenuById(_user.id);
//var menu_data= await _userService.GetMenuByUserId(router);
var menu_data =menuList.Where(u=>u.router==router).FirstOrDefault();
var menu_data = await _userService.GetMenuByUserId(router,_user.id);
AxiosUrlsModel urlsModel = new();
foreach (var _menu in menu_data.children)
if (_menu.mould.mould_name == "get")
{
@@ -159,7 +157,14 @@ namespace Yi.Framework.ApiMicroservice.Controllers
else if (_menu.mould.mould_name == "add")
{
urlsModel.add = _menu.mould.url ;
}
}
else
{
urlsModel.add = null;
urlsModel.del = null;
urlsModel.update = null;
urlsModel.get = null;
}
return Result.Success().SetData(urlsModel);
}

View File

@@ -86,7 +86,7 @@ namespace Yi.Framework.Interface
/// </summary>
/// <param name="router"></param>
/// <returns></returns>
Task<menu> GetMenuByUserId(string router);
Task<menu> GetMenuByUserId(string router,int userId);
}
}

View File

@@ -204,10 +204,18 @@ namespace Yi.Framework.Service
public async Task<menu> GetMenuByUserId(string router)
public async Task<menu> GetMenuByUserId(string router,int userId)
{
return await _Db.Set<menu>().Include(u => u.children).ThenInclude(u => u.mould)
.Where(u => u.router==router&&u.is_delete == (short)Common.Enum.DelFlagEnum.Normal && u.is_delete == (short)Common.Enum.ShowFlagEnum.Show).FirstOrDefaultAsync();
var user_data= await _Db.Set<user>().Include(u => u.roles).ThenInclude(u => u.menus).ThenInclude(u => u.mould)
.Where(u => u.id==userId&&u.is_delete == (short)Common.Enum.DelFlagEnum.Normal && u.is_delete == (short)Common.Enum.ShowFlagEnum.Show).FirstOrDefaultAsync();
var roleList= user_data.roles.ToList();
menu menu_data=new();
foreach(var item in roleList)
{
menu_data = item.menus.Where(u => u.router == router).FirstOrDefault();
}
return menu_data;
}
}
}