Порт десктопа с WinForms на Avalonia (.NET 8, Win/macOS/Linux). - Elfisa.Core: переносимая логика (ApiClient: логин/отчёт/ИИ, DTO, Session) - Дизайн-система в бирюзе #0F766E (свет/тьма, кнопки/поля/карточки/таблица/сайдбар) - Экран входа (реальный /auth/login), шелл с сайдбар-навигацией - «Отчёты»: 4 типа + авто-загрузка + ИИ-запрос -> Word/Excel, динамические колонки - Заглушки остальных разделов + README с дорожной картой портирования Проверено запуском: логин, живые данные покупателя, тема, таблица (скриншот). dev-автологин по ELF_DEV_USER/ELF_DEV_PASS. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
34 lines
1.1 KiB
C#
34 lines
1.1 KiB
C#
namespace Elfisa.Core;
|
||
|
||
/// <summary>
|
||
/// Базовые адреса платформы. Совпадают с десктопом WinForms:
|
||
/// API — https://24pharmdata.ru, ИИ-отчёты — https://24pharmdata.ru/ai.
|
||
/// Можно переопределить переменными окружения.
|
||
/// </summary>
|
||
public static class AppConfig
|
||
{
|
||
public const string DefaultApiBaseUrl = "https://24pharmdata.ru";
|
||
public const string DefaultAiBaseUrl = "https://24pharmdata.ru/ai";
|
||
|
||
private const string ApiEnv = "ELF_API_BASE_URL";
|
||
private const string AiEnv = "ELF_AI_BASE_URL";
|
||
|
||
public static string ApiBaseUrl
|
||
{
|
||
get
|
||
{
|
||
var env = Environment.GetEnvironmentVariable(ApiEnv);
|
||
return string.IsNullOrWhiteSpace(env) ? DefaultApiBaseUrl : env.Trim().TrimEnd('/');
|
||
}
|
||
}
|
||
|
||
public static string AiBaseUrl
|
||
{
|
||
get
|
||
{
|
||
var env = Environment.GetEnvironmentVariable(AiEnv);
|
||
return string.IsNullOrWhiteSpace(env) ? DefaultAiBaseUrl : env.Trim().TrimEnd('/');
|
||
}
|
||
}
|
||
}
|