namespace WorkCameraExport.Services { /// /// 路径服务 - 统一管理所有文件路径,全部基于 exe 所在目录 /// public static class PathService { private static readonly string _baseDir; static PathService() { // 使用 AppContext.BaseDirectory,兼容单文件发布 _baseDir = AppContext.BaseDirectory.TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar); } /// /// 获取基础目录(exe 所在目录) /// public static string BaseDirectory => _baseDir; /// /// 获取设置文件路径 /// public static string SettingsFile => Path.Combine(_baseDir, "settings.json"); /// /// 获取配置文件路径 /// public static string ConfigFile => Path.Combine(_baseDir, "config.json"); /// /// 获取凭证文件路径 /// public static string CredentialsFile => Path.Combine(_baseDir, "credentials.dat"); /// /// 获取日志目录 /// public static string LogDirectory { get { var dir = Path.Combine(_baseDir, "logs"); EnsureDirectoryExists(dir); return dir; } } /// /// 获取临时文件目录 /// public static string TempDirectory { get { var dir = Path.Combine(_baseDir, "temp"); EnsureDirectoryExists(dir); return dir; } } /// /// 获取导出目录 /// public static string ExportDirectory { get { var dir = Path.Combine(_baseDir, "Export"); EnsureDirectoryExists(dir); return dir; } } /// /// 确保目录存在 /// private static void EnsureDirectoryExists(string path) { if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } } } }