更新根据路由获取菜单

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

View File

@@ -86,7 +86,7 @@ namespace Yi.Framework.Interface
/// </summary> /// </summary>
/// <param name="router"></param> /// <param name="router"></param>
/// <returns></returns> /// <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) var user_data= await _Db.Set<user>().Include(u => u.roles).ThenInclude(u => u.menus).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(); .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;
} }
} }
} }