修改BUG:MenuHelper方法RetrieveAppMenus增加AppId条件

This commit is contained in:
Argo-MacBookPro 2018-10-25 15:59:04 +08:00
parent 11d4a13dfe
commit 5c23d69f54
4 changed files with 11 additions and 21 deletions

View File

@ -54,18 +54,9 @@ namespace Bootstrap.Admin.Controllers
/// </summary>
/// <returns></returns>
[HttpPost]
public IEnumerable<BootstrapMenu> RetrieveAppMenus([FromBody]AppMenuArgs args)
public IEnumerable<BootstrapMenu> RetrieveAppMenus([FromBody]AppMenuOption args)
{
return MenuHelper.RetrieveAppMenus(args.Name, args.Url);
}
/// <summary>
///
/// </summary>
public class AppMenuArgs
{
public string Name { get; set; }
public string Url { get; set; }
return MenuHelper.RetrieveAppMenus(args.AppId, args.UserName, args.Url);
}
}
}

View File

@ -1,4 +1,5 @@
using Bootstrap.Security;
using Longbow.Configuration;
using System.Collections.Generic;
namespace Bootstrap.Client.DataAccess
@ -11,9 +12,9 @@ namespace Bootstrap.Client.DataAccess
/// <summary>
///
/// </summary>
/// <param name="name"></param>
/// <param name="userName"></param>
/// <param name="url"></param>
/// <returns></returns>
public static IEnumerable<BootstrapMenu> RetrieveAppMenus(string name, string url) => BAHelper.RetrieveAppMenus(new { Name = name, Url = url });
public static IEnumerable<BootstrapMenu> RetrieveAppMenus(string userName, string url) => BAHelper.RetrieveAppMenus(ConfigurationManager.AppSettings["AppId"], userName, url);
}
}

View File

@ -46,7 +46,7 @@ namespace Bootstrap.DataAccess
/// <param name="name"></param>
/// <param name="url"></param>
/// <returns></returns>
public static IEnumerable<BootstrapMenu> RetrieveAppMenus(string name, string url) => DbAdapterManager.Create<Menu>().RetrieveAppMenus(name, url);
public static IEnumerable<BootstrapMenu> RetrieveAppMenus(string appId, string userName, string url) => DbAdapterManager.Create<Menu>().RetrieveAppMenus(appId, userName, url);
/// <summary>
///
/// </summary>

View File

@ -1,7 +1,6 @@
using Bootstrap.Security;
using Longbow;
using Longbow.Cache;
using Longbow.Configuration;
using Longbow.Data;
using System;
using System.Collections.Generic;
@ -161,13 +160,13 @@ namespace Bootstrap.DataAccess
/// <summary>
/// 通过当前用户名获得前台菜单,层次化后集合
/// </summary>
/// <param name="appId"></param>
/// <param name="userName">当前登陆的用户名</param>
/// <param name="activeUrl">当前访问菜单</param>
/// <param name="connName">连接字符串名称默认为ba</param>
/// <returns></returns>
public virtual IEnumerable<BootstrapMenu> RetrieveAppMenus(string userName, string activeUrl = null)
public virtual IEnumerable<BootstrapMenu> RetrieveAppMenus(string appId, string userName, string activeUrl = null)
{
var menus = RetrieveMenusByUserName(userName, activeUrl).Where(m => m.Category == "1" && m.IsResource == 0);
var menus = RetrieveMenusByUserName(userName, activeUrl, appId).Where(m => m.Category == "1" && m.IsResource == 0);
var root = menus.Where(m => m.ParentId == 0).OrderBy(m => m.ApplicationCode).ThenBy(m => m.Order);
CascadeMenus(menus, root);
return root;
@ -177,11 +176,10 @@ namespace Bootstrap.DataAccess
/// </summary>
/// <param name="userName">当前登陆的用户名</param>
/// <param name="activeUrl">当前访问菜单</param>
/// <param name="appId"></param>
/// <returns></returns>
public virtual IEnumerable<BootstrapMenu> RetrieveMenusByUserName(string userName, string activeUrl = null)
public virtual IEnumerable<BootstrapMenu> RetrieveMenusByUserName(string userName, string activeUrl = null, string appId = "0")
{
// TODO: 考虑第三方应用获取
var appId = LgbConvert.ReadValue(ConfigurationManager.AppSettings["AppId"], "0");
var key = string.Format("{0}-{1}-{2}", RetrieveMenusDataKey, userName, appId);
var navs = CacheManager.GetOrAdd(key, k =>
{