private void SetSystemMode() { var dict = DictHelper.RetrieveDicts().FirstOrDefault(d => d.Category == "系统设置" && d.Name == "演示系统"); dict.Code = "1"; DictHelper.Save(dict); }
public void DictDelete_Ok() { var ids = DictHelper.RetrieveDicts().Where(d => d.Define == 0); Assert.True(DictHelper.Delete(ids.Select(d => d.Id))); Assert.Equal(ids.Count(), DictHelper.RetrieveDicts().Count(d => d.Define == 0)); }
/// <summary> /// 获得 是否为演示系统 默认为 false 不是演示系统 /// </summary> /// <returns></returns> public bool UpdateSystemModel(bool isDemo) { var dict = DictHelper.RetrieveDicts().FirstOrDefault(d => d.Category == "网站设置" && d.Name == "演示系统" && d.Define == 0); dict.Code = isDemo ? "1" : "0"; return(Save(dict)); }
/// <summary> /// 獲取系統網站頁腳 /// </summary> /// <param name="appId"></param> /// <returns></returns> public virtual string RetrieveWebFooter(string appId) { // 優先查找配置的應用程式網站標題 var code = DictHelper.RetrieveDicts().FirstOrDefault(d => d.Name == "網站頁腳" && d.Category == "網站設置" && d.Define == 0)?.Code ?? "2021 © 通用後台管理系統"; return(code); }
/// <summary> /// 获得 IP请求缓存时长配置值 /// </summary> /// <returns></returns> public int RetrieveLocaleIPSvrCachePeriod() { var period = DictHelper.RetrieveDicts().FirstOrDefault(d => d.Category == "网站设置" && d.Name == "IP请求缓存时长" && d.Define == 0)?.Code; var ret = 10; if (!string.IsNullOrEmpty(period) && int.TryParse(period, out var svrPeriod)) { ret = svrPeriod; } return(ret); }
/// <summary> /// 获取系统网站页脚 /// </summary> /// <param name="appId"></param> /// <returns></returns> public virtual string RetrieveWebFooter(string appId = "0") { // 优先查找配置的应用程序网站标题 var code = DbHelper.RetrieveFooter(appId); if (code == "网站页脚未设置") { code = DictHelper.RetrieveDicts().FirstOrDefault(d => d.Name == "网站页脚" && d.Category == "网站设置" && d.Define == 0)?.Code ?? "2016 © 通用后台管理系统"; } return(code); }
/// <summary> /// 获取系统网站标题 /// </summary> /// <param name="appId"></param> /// <returns></returns> public virtual string RetrieveWebTitle(string appId) { // 优先查找配置的应用程序网站标题 var code = DbHelper.RetrieveTitle(appId); if (code == "网站标题未设置") { code = DictHelper.RetrieveDicts().FirstOrDefault(d => d.Name == "网站标题" && d.Category == "网站设置" && d.Define == 0)?.Code ?? "后台管理系统"; } return(code); }
public void ConfigIPLocator_Ok() { var op = new IPLocatorOption() { IP = "182.148.123.196" }; var dict = DictHelper.RetrieveDicts().FirstOrDefault(d => d.Category == "系统设置" && d.Name == "IP地理位置接口" && d.Define == 0); Assert.NotNull(dict); dict.Code = "JuheIPSvr"; DictHelper.Save(dict); DictHelper.ConfigIPLocator(op); Assert.NotNull(op.Url); }
public void ConfigIPLocator_Ok() { var op = new IPLocatorOption() { IP = "182.148.123.196" }; var dict = DictHelper.RetrieveDicts().FirstOrDefault(d => d.Category == "網站設置" && d.Name == "IP地理位置接口" && d.Define == 0); Assert.NotNull(dict); dict.Code = "JuheIPSvr"; // 演示模式下不能保存 Assert.True(DictHelper.Save(dict)); Assert.Equal("None", DictHelper.RetrieveLocaleIPSvr()); }
/// <summary> /// 通过指定 AppKey 获取前台应用配置信息 /// </summary> /// <param name="key"></param> /// <returns></returns> public static QueryAppOption RetrieveByKey(string key) { var ret = new QueryAppOption() { AppCode = key }; var dicts = DictHelper.RetrieveDicts(); ret.AppName = dicts.FirstOrDefault(d => d.Category == "应用程序" && d.Code == key).Name ?? ""; ret.AppUrl = dicts.FirstOrDefault(d => d.Category == "应用首页" && d.Name == key).Code ?? ""; ret.AppTitle = dicts.FirstOrDefault(d => d.Category == ret.AppName && d.Name == "网站标题").Code ?? ""; ret.AppFooter = dicts.FirstOrDefault(d => d.Category == ret.AppName && d.Name == "网站页脚").Code ?? ""; ret.AppFavicon = dicts.FirstOrDefault(d => d.Category == ret.AppName && d.Name == "网站图标").Code ?? ""; ret.AppIcon = dicts.FirstOrDefault(d => d.Category == ret.AppName && d.Name == "favicon").Code ?? ""; return(ret); }
/// <summary> /// 通过指定 AppKey 獲取前台應用配置訊息 /// </summary> /// <param name="key"></param> /// <returns></returns> public static QueryAppOption RetrieveByKey(string key) { var ret = new QueryAppOption() { AppCode = key }; var dicts = DictHelper.RetrieveDicts(); ret.AppName = dicts.FirstOrDefault(d => d.Category == "應用程式" && d.Code == key)?.Name ?? ""; ret.AppUrl = dicts.FirstOrDefault(d => d.Category == "應用首頁" && d.Name == key)?.Code ?? ""; ret.AppTitle = dicts.FirstOrDefault(d => d.Category == ret.AppName && d.Name == "網站標題")?.Code ?? ""; ret.AppFooter = dicts.FirstOrDefault(d => d.Category == ret.AppName && d.Name == "網站頁腳")?.Code ?? ""; ret.AppFavicon = dicts.FirstOrDefault(d => d.Category == ret.AppName && d.Name == "網站圖標")?.Code ?? ""; ret.AppIcon = dicts.FirstOrDefault(d => d.Category == ret.AppName && d.Name == "favicon")?.Code ?? ""; return(ret); }
/// <summary> /// 获得默认的前台首页地址,默认为~/Home/Index /// </summary> /// <param name="userName">登录用户名</param> /// <param name="appId">默认应用程序编码</param> /// <returns></returns> public virtual string RetrieveHomeUrl(string?userName, string appId) { // https://gitee.com/LongbowEnterprise/dashboard/issues?id=IS0WK // https://gitee.com/LongbowEnterprise/dashboard/issues?id=I17SD0 var url = "~/Home/Index"; var dicts = DictHelper.RetrieveDicts(); if (appId.IsNullOrEmpty()) { var defaultUrl = dicts.FirstOrDefault(d => d.Name == "前台首页" && d.Category == "网站设置" && d.Define == 0)?.Code; if (!string.IsNullOrEmpty(defaultUrl)) { url = defaultUrl; } } else if (appId.Equals("BA", StringComparison.OrdinalIgnoreCase)) { // 使用配置项设置是否启用默认第一个应用是默认应用 var defaultApp = (dicts.FirstOrDefault(d => d.Name == "默认应用程序" && d.Category == "网站设置" && d.Define == 0)?.Code ?? "0") == "1"; if (defaultApp) { var app = AppHelper.RetrievesByUserName(userName).FirstOrDefault(key => !key.Equals("BA", StringComparison.OrdinalIgnoreCase)) ?? ""; if (!string.IsNullOrEmpty(app)) { // 指定应用程序的首页 var appUrl = RetrieveDefaultHomeUrlByApp(dicts, app); if (!string.IsNullOrEmpty(appUrl)) { url = appUrl; } } } } else { // 指定应用程序的首页 var appUrl = RetrieveDefaultHomeUrlByApp(dicts, appId); if (!string.IsNullOrEmpty(appUrl)) { url = appUrl; } } return(url); }
public void ConfigLocaleIP_Ok() { var op = new IPLocatorOption() { IP = "182.148.123.196" }; var dict = DictHelper.RetrieveDicts().FirstOrDefault(d => d.Category == "网站设置" && d.Name == "IP地理位置接口" && d.Define == 0); Assert.NotNull(dict); dict.Code = "BaiDuIP138Svr"; // 演示模式下不能保存 Assert.True(DictHelper.Save(dict)); DictHelper.ConfigIPLocator(op); Assert.NotEqual("", op.Url); // 恢复设置 dict.Code = "None"; DictHelper.Save(dict); }
/// <summary> /// 获得默认的前台首页地址,默认为~/Home/Index /// </summary> /// <param name="appCode"></param> /// <returns></returns> public virtual string RetrieveHomeUrl(string appCode) { // https://gitee.com/LongbowEnterprise/dashboard/issues?id=IS0WK var url = "~/Home/Index"; var dicts = DictHelper.RetrieveDicts(); if (appCode != "0") { var appUrl = dicts.FirstOrDefault(d => d.Name.Equals(appCode, StringComparison.OrdinalIgnoreCase) && d.Category == "应用首页" && d.Define == 0)?.Code; if (!string.IsNullOrEmpty(appUrl)) { return(appUrl); } } var defaultUrl = dicts.FirstOrDefault(d => d.Name == "前台首页" && d.Category == "网站设置" && d.Define == 0)?.Code; if (!string.IsNullOrEmpty(defaultUrl)) { url = defaultUrl; } return(url); }
/// <summary> /// 获得 项目是否获取登录地点 默认为false /// </summary> /// <param name="ipSvr">服务提供名称</param> /// <returns></returns> public string RetrieveLocaleIPSvrUrl(string ipSvr) => DictHelper.RetrieveDicts().FirstOrDefault(d => d.Category == "系统设置" && d.Name == ipSvr && d.Define == 0)?.Code;
/// <summary> /// /// </summary> /// <returns></returns> public string RetrieveLocaleIPSvrCachePeriod() => DictHelper.RetrieveDicts().FirstOrDefault(d => d.Category == "系统设置" && d.Name == "IP请求缓存时长" && d.Define == 0)?.Code;
/// <summary> /// 获得 IP地理位置 /// </summary> /// <returns></returns> public string RetrieveLocaleIPSvr() => DictHelper.RetrieveDicts().FirstOrDefault(d => d.Category == "系统设置" && d.Name == "IP地理位置接口" && d.Define == 0)?.Code;
/// <summary> /// Cookie保存时长 默认7天 /// </summary> /// <returns></returns> public int RetrieveCookieExpiresPeriod() => LgbConvert.ReadValue(DictHelper.RetrieveDicts().FirstOrDefault(d => d.Category == "系统设置" && d.Name == "Cookie保留时长" && d.Define == 0)?.Code, 7);
/// <summary> /// 获得是否开启 固定表头 功能 默认开启 /// </summary> /// <returns></returns> public bool RetrieveFixedTableHeader() => (DictHelper.RetrieveDicts().FirstOrDefault(d => d.Category == "网站设置" && d.Name == "固定表头" && d.Define == 0)?.Code ?? "1") == "1";
/// <summary> /// /// </summary> /// <returns></returns> public virtual string RetrieveWebFooter() => (DictHelper.RetrieveDicts().FirstOrDefault(d => d.Name == "网站页脚" && d.Category == "网站设置" && d.Define == 0) ?? new BootstrapDict() { Code = "2016 © 通用后台管理系统" }).Code;
/// <summary> /// 获得 验证码图床地址 /// </summary> /// <returns></returns> public string RetrieveImagesLibUrl() => DictHelper.RetrieveDicts().FirstOrDefault(d => d.Category == "系统设置" && d.Name == "验证码图床" && d.Define == 0)?.Code ?? "http://images.sdgxgz.com/";
/// <summary> /// 获得网站设置中的当前样式 /// </summary> /// <returns></returns> public virtual string RetrieveActiveTheme() { var theme = DictHelper.RetrieveDicts().FirstOrDefault(d => d.Name == "使用样式" && d.Category == "当前样式" && d.Define == 0); return(theme == null ? string.Empty : (theme.Code.Equals("site.css", StringComparison.OrdinalIgnoreCase) ? string.Empty : theme.Code)); }
public void RetrieveDicts_Ok() { Assert.NotEmpty(DictHelper.RetrieveDicts()); }
/// <summary> /// 获得 访问日志保留时长 默认为1个月 /// </summary> /// <returns></returns> public int RetrieveAccessLogPeriod() => LgbConvert.ReadValue(DictHelper.RetrieveDicts().FirstOrDefault(d => d.Category == "系统设置" && d.Name == "访问日志保留时长" && d.Define == 0)?.Code, 1);
/// <summary> /// 获得 是否为演示系统 默认为 false 不是演示系统 /// </summary> /// <returns></returns> public bool RetrieveSystemModel() => LgbConvert.ReadValue(DictHelper.RetrieveDicts().FirstOrDefault(d => d.Category == "系统设置" && d.Name == "演示系统" && d.Define == 0)?.Code, "0") == "1";
/// <summary> /// 获取头像路径 /// </summary> /// <returns></returns> public virtual string RetrieveIconFolderPath() => (DictHelper.RetrieveDicts().FirstOrDefault(d => d.Name == "头像路径" && d.Category == "头像地址" && d.Define == 0) ?? new BootstrapDict { Code = "~/images/uploader/" }).Code;
/// <summary> /// 获取字典分类名称 /// </summary> /// <returns></returns> public virtual IEnumerable <string> RetrieveCategories() => DictHelper.RetrieveDicts().OrderBy(d => d.Category).Select(d => d.Category).Distinct();
/// <summary> /// /// </summary> /// <returns></returns> public virtual IEnumerable <KeyValuePair <string, string> > RetrieveApps() => DictHelper.RetrieveDicts().Where(d => d.Category == "应用程序" && d.Define == 0).Select(d => new KeyValuePair <string, string>(d.Code, d.Name)).OrderBy(d => d.Key);
/// <summary> /// 获得系统中配置的可以使用的网站样式 /// </summary> /// <returns></returns> public virtual IEnumerable <BootstrapDict> RetrieveThemes() => DictHelper.RetrieveDicts().Where(d => d.Category == "网站样式");
/// <summary> /// 获得字典表地理位置配置信息集合 /// </summary> /// <returns></returns> public IEnumerable <BootstrapDict> RetireveLocators() => DictHelper.RetrieveDicts().Where(d => d.Category == "地理位置服务");