Files
qhmes/yy-admin-master/YY.Admin.Core/Util/AppWritablePaths.cs

39 lines
1.3 KiB
C#
Raw Normal View History

using System.IO;
namespace YY.Admin.Core.Util;
/// <summary>
/// 当前用户可写应用数据目录(避免安装在 Program Files 时无写权限)。
/// </summary>
public static class AppWritablePaths
{
private static readonly string Root = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
"YY.Admin");
/// <summary>应用私有根目录:%LocalAppData%\YY.Admin</summary>
public static string LocalApplicationRoot => Root;
/// <summary>SQLite 等业务数据库目录。</summary>
public static string DataDirectory => Path.Combine(Root, "Data");
/// <summary>用户覆盖的配置、Jeecg 同步状态等。</summary>
public static string ConfigurationDirectory => Path.Combine(Root, "Configuration");
/// <summary>按账号划分的本地设置(对应 CommonConst.AppSettingsFilePath 前缀)。</summary>
public static string AccountSettingsRootDirectory => Path.Combine(Root, "AppSettings");
/// <summary>
/// 创建目录(若不存在)并返回路径。
/// </summary>
public static string EnsureDirectoryExists(string directoryPath)
{
if (!string.IsNullOrWhiteSpace(directoryPath))
{
Directory.CreateDirectory(directoryPath);
}
return directoryPath;
}
}