using Bootstrap.Security; using Bootstrap.Security.DataAccess; using Longbow.Cache; using Longbow.Configuration; using System; using System.Collections.Generic; using System.Linq; namespace Bootstrap.Client.DataAccess { /// /// /// public static class DictHelper { /// /// /// /// /// 缓存索引,BootstrapAdmin后台清理缓存时使用 /// public const string RetrieveDictsDataKey = "BootstrapDict-RetrieveDicts"; /// /// /// /// public static string RetrieveProfilesUrl() { return RetrieveAppName("个人中心地址"); } /// /// /// /// public static string RetrieveSettingsUrl() { return RetrieveAppName("系统设置地址"); } /// /// /// /// public static string RetrieveTitle() { return RetrieveAppName("网站标题"); } /// /// /// /// public static string RetrieveFooter() { return RetrieveAppName("网站页脚"); } /// /// /// /// private static IEnumerable RetrieveDicts() => CacheManager.GetOrAdd(RetrieveDictsDataKey, key => DbHelper.RetrieveDicts()); private static string RetrieveAppName(string name, string defaultValue = "未设置") { var dicts = RetrieveDicts(); var platName = dicts.FirstOrDefault(d => d.Category == "应用程序" && d.Code == ConfigurationManager.AppSettings["AppId"])?.Name; return dicts.FirstOrDefault(d => d.Category == platName && d.Name == name)?.Code ?? $"{name}{defaultValue}"; } /// /// 获得网站设置中的当前样式 /// /// public static string RetrieveActiveTheme() { var theme = RetrieveDicts().Where(d => d.Name == "使用样式" && d.Category == "当前样式" && d.Define == 0).FirstOrDefault()?.Code; return theme == null ? string.Empty : theme.Equals("site.css", StringComparison.OrdinalIgnoreCase) ? string.Empty : theme; } /// /// 获取头像路径 /// /// public static string RetrieveIconFolderPath() => (RetrieveDicts().FirstOrDefault(d => d.Name == "头像路径" && d.Category == "头像地址" && d.Define == 0) ?? new BootstrapDict() { Code = "~/images/uploader/" }).Code; } }