using System.Reflection;
using XFEExtension.NetCore.AutoPath;
namespace XFEExtension.NetCore.WinUIHelper.Utilities.Helper;
///
/// 应用程序路径
///
public partial class AppPathHelper
{
///
/// 应用程序名称
///
public static string? ApplicationName { get; set; } = (Assembly.GetEntryAssembly() ?? Assembly.GetCallingAssembly()).GetName().Name;
///
/// 应用程序同步路径
///
[AutoPath]
private static readonly string appSynData = @$"{Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)}\{ApplicationName}";
///
/// 应用程序本地路径
///
[AutoPath]
private static readonly string appLocalData = @$"{Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)}\{ApplicationName}\CrossVersion";
///
/// 应用程序本地当前版本路径
///
[AutoPath]
private static readonly string appLocalVersionData = @$"{Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)}\{ApplicationName}\Versions\{(Assembly.GetEntryAssembly() ?? Assembly.GetCallingAssembly()).GetName()?.Version?.ToString() ?? "UnknownVersion"}";
///
/// 应用程序缓存路径
///
[AutoPath]
private static readonly string appCache = @$"{Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)}\Temp\{ApplicationName}";
///
/// 应用程序本地配置文件路径
///
[AutoPath]
private static readonly string localProfile = @$"{AppLocalData}\Profiles";
///
/// 应用程序本地当前版本配置文件路径
///
[AutoPath]
private static readonly string localVersionProfile = $@"{AppLocalVersionData}\Profiles";
///
/// 应用程序同步配置文件路径
///
[AutoPath]
private static readonly string synProfile = $@"{AppSynData}\Profiles";
///
/// 应用程序缓存路径
///
[AutoPath]
private static readonly string cacheProfile = $@"{AppCache}\Profiles";
///
/// 应用程序下载缓存
///
[AutoPath]
private static readonly string downloadCache = @$"{AppCache}\Download";
}