import 'package:flutter/services.dart' show appFlavor; /// تنظیمات سراسری اپ. class AppConfig { /// فروشگاهِ فعال از روی `--flavor` که اپ با آن ساخته شده /// (`myket` | `bazaar`). اگر بدونِ flavor اجرا شود، `dev`. static String get store => appFlavor ?? 'dev'; /// کلیدِ عمومیِ RSA مایکت (برای تأییدِ محلیِ افزونه‌ی myket_iap). static const String myketRsaKey = String.fromEnvironment( 'MYKET_RSA', defaultValue: 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVCtWUXVZfxULqP3QKlTqsXYkqg5qJYf6KnRSsyk7STB223Ji95IonwHrSrheffrPXi4othieBwl7rDaP0KnvkZ0Le0kr7xHCgTQgYeRuPq15HMm9mrFaXD3HgTF27f1/DcAN8z7eE02ShwAjd0LjYC2u2+T6z8iuQ2oh9LbJPnQIDAQAB', ); /// کلیدِ عمومیِ RSA کافه‌بازار (از پنلِ توسعه‌دهنده‌ی بازار). static const String bazaarRsaKey = String.fromEnvironment( 'BAZAAR_RSA', defaultValue: '', ); /// App ID تپسل (از پنلِ تپسل). تا زمانی که تنظیم نشود، تبلیغِ ویدیویی-جایزه‌ای /// («سکه رایگان») نمایش داده نمی‌شود. با `--dart-define=TAPSELL_APP_ID=...` /// یا مقداردهیِ پیش‌فرض این‌جا فعال می‌شود. static const String tapsellAppId = String.fromEnvironment( 'TAPSELL_APP_ID', defaultValue: '', ); /// شناسه‌ی جایگاهِ (zone) تبلیغِ ویدیویی-جایزه‌ای تپسل. static const String tapsellRewardedZoneId = String.fromEnvironment( 'TAPSELL_REWARDED_ZONE', defaultValue: '', ); /// آیا تبلیغِ جایزه‌ای فعال است؟ فقط وقتی App ID تپسل موجود باشد. static bool get adsEnabled => tapsellAppId.isNotEmpty; /// آدرس پایه‌ی سرور. /// - موبایل واقعی روی همان Wi-Fi: IP محلی مک (پیش‌فرض فعلی). /// - امولاتور اندروید: `--dart-define=BASE_URL=http://10.0.2.2:8080` /// - وب / شبیه‌ساز iOS: `--dart-define=BASE_URL=http://localhost:8080` /// - پروداکشن: `--dart-define=BASE_URL=https://api.hakemsho.ir` /// با تغییر شبکه/IP مک، مقدار dart-define یا همین پیش‌فرض را عوض کنید. static const String baseUrl = String.fromEnvironment( 'BASE_URL', defaultValue: 'https://hakem.approagency.ir', ); static String get apiUrl => '$baseUrl/api'; /// آدرس WebSocket بازی به‌همراه توکن احراز هویت. static String wsUrl(String token) => '${baseUrl.replaceFirst('http', 'ws')}/ws?token=$token'; }