示例#1
0
        private void SetSystemMode()
        {
            var dict = DictHelper.RetrieveDicts().FirstOrDefault(d => d.Category == "系统设置" && d.Name == "演示系统");

            dict.Code = "1";
            DictHelper.Save(dict);
        }
示例#2
0
        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));
        }
示例#3
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));
        }
示例#4
0
        /// <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);
        }
示例#5
0
        /// <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);
        }
示例#6
0
        /// <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);
        }
示例#7
0
        /// <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);
        }
示例#8
0
        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);
        }
示例#9
0
        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());
        }
示例#10
0
        /// <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);
        }
示例#12
0
        /// <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);
        }
示例#13
0
        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);
        }
示例#14
0
        /// <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);
        }
示例#15
0
 /// <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;
示例#16
0
 /// <summary>
 ///
 /// </summary>
 /// <returns></returns>
 public string RetrieveLocaleIPSvrCachePeriod() => DictHelper.RetrieveDicts().FirstOrDefault(d => d.Category == "系统设置" && d.Name == "IP请求缓存时长" && d.Define == 0)?.Code;
示例#17
0
 /// <summary>
 /// 获得 IP地理位置
 /// </summary>
 /// <returns></returns>
 public string RetrieveLocaleIPSvr() => DictHelper.RetrieveDicts().FirstOrDefault(d => d.Category == "系统设置" && d.Name == "IP地理位置接口" && d.Define == 0)?.Code;
示例#18
0
 /// <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);
示例#19
0
 /// <summary>
 /// 获得是否开启 固定表头 功能 默认开启
 /// </summary>
 /// <returns></returns>
 public bool RetrieveFixedTableHeader() => (DictHelper.RetrieveDicts().FirstOrDefault(d => d.Category == "网站设置" && d.Name == "固定表头" && d.Define == 0)?.Code ?? "1") == "1";
示例#20
0
 /// <summary>
 ///
 /// </summary>
 /// <returns></returns>
 public virtual string RetrieveWebFooter() => (DictHelper.RetrieveDicts().FirstOrDefault(d => d.Name == "网站页脚" && d.Category == "网站设置" && d.Define == 0) ?? new BootstrapDict()
 {
     Code = "2016 © 通用后台管理系统"
 }).Code;
示例#21
0
 /// <summary>
 /// 获得 验证码图床地址
 /// </summary>
 /// <returns></returns>
 public string RetrieveImagesLibUrl() => DictHelper.RetrieveDicts().FirstOrDefault(d => d.Category == "系统设置" && d.Name == "验证码图床" && d.Define == 0)?.Code ?? "http://images.sdgxgz.com/";
示例#22
0
        /// <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));
        }
示例#23
0
 public void RetrieveDicts_Ok()
 {
     Assert.NotEmpty(DictHelper.RetrieveDicts());
 }
示例#24
0
 /// <summary>
 /// 获得 访问日志保留时长 默认为1个月
 /// </summary>
 /// <returns></returns>
 public int RetrieveAccessLogPeriod() => LgbConvert.ReadValue(DictHelper.RetrieveDicts().FirstOrDefault(d => d.Category == "系统设置" && d.Name == "访问日志保留时长" && d.Define == 0)?.Code, 1);
示例#25
0
 /// <summary>
 /// 获得 是否为演示系统 默认为 false 不是演示系统
 /// </summary>
 /// <returns></returns>
 public bool RetrieveSystemModel() => LgbConvert.ReadValue(DictHelper.RetrieveDicts().FirstOrDefault(d => d.Category == "系统设置" && d.Name == "演示系统" && d.Define == 0)?.Code, "0") == "1";
示例#26
0
 /// <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;
示例#27
0
 /// <summary>
 /// 获取字典分类名称
 /// </summary>
 /// <returns></returns>
 public virtual IEnumerable <string> RetrieveCategories() => DictHelper.RetrieveDicts().OrderBy(d => d.Category).Select(d => d.Category).Distinct();
示例#28
0
 /// <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);
示例#29
0
 /// <summary>
 /// 获得系统中配置的可以使用的网站样式
 /// </summary>
 /// <returns></returns>
 public virtual IEnumerable <BootstrapDict> RetrieveThemes() => DictHelper.RetrieveDicts().Where(d => d.Category == "网站样式");
示例#30
0
 /// <summary>
 /// 获得字典表地理位置配置信息集合
 /// </summary>
 /// <returns></returns>
 public IEnumerable <BootstrapDict> RetireveLocators() => DictHelper.RetrieveDicts().Where(d => d.Category == "地理位置服务");