初始提交
This commit is contained in:
80
Services/Hncore.Pass.OSS/UEditor/Config.cs
Normal file
80
Services/Hncore.Pass.OSS/UEditor/Config.cs
Normal file
@@ -0,0 +1,80 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace UEditor.Core
|
||||
{
|
||||
/// <summary>
|
||||
/// Config 的摘要说明
|
||||
/// </summary>
|
||||
public static class Config
|
||||
{
|
||||
public static bool NoCache = true;
|
||||
|
||||
private static JObject BuildItems()
|
||||
{
|
||||
var configExtension = Path.GetExtension(ConfigFile);
|
||||
var configFileName = ConfigFile.Substring(0, ConfigFile.Length - configExtension.Length);
|
||||
var evnConfig = $"{configFileName}.{Config.EnvName}{configExtension}";
|
||||
if (File.Exists(Path.Combine(WebRootPath, evnConfig)))
|
||||
{
|
||||
var json = File.ReadAllText(Path.Combine(WebRootPath, evnConfig));
|
||||
return JObject.Parse(json);
|
||||
}
|
||||
else
|
||||
{
|
||||
var configFilePath = Path.Combine(WebRootPath, ConfigFile);
|
||||
if (!File.Exists(configFilePath))
|
||||
{
|
||||
throw new Exception("未找到UEditor配置文件,请检查!若有问题,请参阅文档:https://github.com/baiyunchen/UEditor.Core");
|
||||
}
|
||||
var json = File.ReadAllText(configFilePath);
|
||||
return JObject.Parse(json);
|
||||
}
|
||||
}
|
||||
|
||||
public static JObject Items
|
||||
{
|
||||
get
|
||||
{
|
||||
if (NoCache || _Items == null)
|
||||
{
|
||||
_Items = BuildItems();
|
||||
}
|
||||
return _Items;
|
||||
}
|
||||
}
|
||||
|
||||
public static string EnvName { get; set; }
|
||||
|
||||
public static string WebRootPath { get; set; }
|
||||
|
||||
// public static string WwwRootPath { get; set; }
|
||||
|
||||
public static string ConfigFile { set; get; } = "ueditor.json";
|
||||
|
||||
private static JObject _Items;
|
||||
|
||||
|
||||
public static T GetValue<T>(string key)
|
||||
{
|
||||
return Items[key].Value<T>();
|
||||
}
|
||||
|
||||
public static String[] GetStringList(string key)
|
||||
{
|
||||
return Items[key].Select(x => x.Value<String>()).ToArray();
|
||||
}
|
||||
|
||||
public static String GetString(string key)
|
||||
{
|
||||
return GetValue<String>(key);
|
||||
}
|
||||
|
||||
public static int GetInt(string key)
|
||||
{
|
||||
return GetValue<int>(key);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user