增强应用程序异常处理机制,新增未处理异常日志记录功能,确保在启动和运行期间捕获并记录异常信息。同时,重构配置文件加载逻辑,支持用户目录覆盖默认配置,优化 SQLite 数据库连接字符串处理,确保在不同环境下的兼容性和稳定性。

This commit is contained in:
geht
2026-05-15 17:30:30 +08:00
parent cea4781397
commit 1b280af9e2
23 changed files with 584 additions and 68 deletions

View File

@@ -0,0 +1,38 @@
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;
}
}