diff --git a/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/UserController.cs b/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/UserController.cs index 2eec5b16..70d4bb64 100644 --- a/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/UserController.cs +++ b/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/UserController.cs @@ -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 GetRouterByUserId( AxiosUrlsModel urlsModel,string router) + [HttpGet] + public async Task 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); } diff --git a/Yi.Framework/Yi.Framework.Interface/IUserService.cs b/Yi.Framework/Yi.Framework.Interface/IUserService.cs index 3c66e0b0..5c4a4799 100644 --- a/Yi.Framework/Yi.Framework.Interface/IUserService.cs +++ b/Yi.Framework/Yi.Framework.Interface/IUserService.cs @@ -86,7 +86,7 @@ namespace Yi.Framework.Interface /// /// /// - Task GetMenuByUserId(string router); + Task GetMenuByUserId(string router,int userId); } } diff --git a/Yi.Framework/Yi.Framework.Service/UserService.cs b/Yi.Framework/Yi.Framework.Service/UserService.cs index 32c987a4..3096ff8a 100644 --- a/Yi.Framework/Yi.Framework.Service/UserService.cs +++ b/Yi.Framework/Yi.Framework.Service/UserService.cs @@ -204,10 +204,18 @@ namespace Yi.Framework.Service - public async Task GetMenuByUserId(string router) + public async Task GetMenuByUserId(string router,int userId) { - return await _Db.Set().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().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; } } }