1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- using CZFW.Core;
- using CZFW.Framework.Tools;
- using CZFW.MDB.Model;
- using CZFW.MDB.Util;
- using Microsoft.Extensions.Caching.Memory;
- using MongoDB.Bson;
- using Newtonsoft.Json.Linq;
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace CZFW.MDB
- {
- public static class SysConfig
- {
-
- public static dynamic SiteConfig(string siteName, string tplName, string lang=null)
- {
- if (string.IsNullOrWhiteSpace(lang)) {
- lang = DefaultLanguage();
- }
- if(!CacheHelper.TryRead(Constants.CONFIG_CACHE_PREFIX+siteName+lang, out JObject data))
- {
- IMongoRepository mongoRepository = new MongoRepository($"{tplName}_{Constants.SYSCONFIG_TABLE_NAME}");
- var bsonElement = mongoRepository.GetOne($"{{'{Constants.SITE_NAME_FIELD}':'{siteName}','{Constants.LANG_FIELD}':'{lang}'}}");
- var json = bsonElement.CZToJson();
- data = JObject.Parse(json);
- CacheHelper.WriteCache(siteName, Constants.CONFIG_CACHE_PREFIX+ siteName+lang, data, TimeSpan.FromMinutes(ConfigHelper.GetValue<int>("SiteCacheExpireMinutes")));
- }
- return data;
- }
-
- public static SimpleSysConfigModel GetSimpleProjectInfo(string siteName, string tplName,string lang=null)
- {
- var obj = SiteConfig(siteName, tplName, lang) as JObject;
- var res = new SimpleSysConfigModel
- {
- ProjectName = obj[Constants.SYS_PROJECT_NAME].ToString(), //GetValue(Constants.SYS_PROJECT_NAME).AsString,
- SiteUrl = obj[Constants.SYS_URL].ToString(),
- Logo = obj[Constants.SYS_LOGO].ToString()
- };
- return res;
- }
- public static string DefaultLanguage() {
- return ConfigHelper.GetValue("Multilanguage:Default");
- }
- }
- }
|