After Framework

البدء

المتطلبات، والاستنساخ المتجاور، والاعتماديات، وجذر التركيب، وقائمة تحقق Super App.

إصدار التوثيق: supercore main · الحزم 1.0.0

المتطلباترابط إلى هذا القسم: المتطلبات

تستهدف كل حزمة Dart SDK ^3.12.2 وFlutter >=3.27.0. الحزم غير منشورة على pub.dev؛ وتعتمد عليها المنتجات عبر المسار.

الاستنساخ المتجاوررابط إلى هذا القسم: الاستنساخ المتجاور

استنسخ supercore بجوار مستودع منتجك لكي تُحَل اعتماديات المسار.

text
HANTURAI/
  supercore/
  supergarage/         # consumer reference
  superhospital/       # enterprise reference
  superhealth/  superfinance/  superhome/  supertravel/  supersports/ …

المصدر supercore/README.md (يُفتح في علامة تبويب جديدة)

إضافة الاعتمادياترابط إلى هذا القسم: إضافة الاعتماديات

منتج للمستهلكين

pubspec.yaml
dependencies:
  after_core:
    path: ../supercore/packages/after_core
  after_consumer:
    path: ../supercore/packages/after_consumer
  after_design_system:
    path: ../supercore/packages/after_design_system

المصدر supercore/README.md (يُفتح في علامة تبويب جديدة)

منتج للمؤسسات

pubspec.yaml
dependencies:
  after_core:
    path: ../supercore/packages/after_core
  after_enterprise:
    path: ../supercore/packages/after_enterprise
  after_design_system:
    path: ../supercore/packages/after_design_system

المصدر supercore/README.md (يُفتح في علامة تبويب جديدة)

جذر التركيبرابط إلى هذا القسم: جذر التركيب

يسجّل كل منتج بيانه ويعيد التجاوزات القياسية من جذر تركيب واحد، ثم يضيف محوّلات المنتج فوقها.

lib/app/platform/after_framework.dart
class SuperAppConsumerFramework {
  SuperAppConsumerFramework._();

  static Future<List<Override>> ensureConfigured() async {
    PlatformConfig.current = superAppConsumerManifest;
    final prefs = await SharedPreferences.getInstance();
    return AfterStandardOverrides.create(
      preferences: prefs,
      userAgent:
          '${superAppConsumerManifest.appName}/${superAppConsumerManifest.appId}',
    );
  }
}

المصدر supercore/templates/super_app_consumer/after_framework.dart (يُفتح في علامة تبويب جديدة)

lib/app/platform/after_framework.dart
static Future<List<Override>> ensureConfigured({
  EnterpriseRepository? enterpriseRepository,
}) async {
  PlatformConfig.current = superAppEnterpriseManifest;
  final prefs = await SharedPreferences.getInstance();
  return [
    ...AfterStandardOverrides.create(
      preferences: prefs,
      userAgent: '${superAppEnterpriseManifest.appName}/'
          '${superAppEnterpriseManifest.appId}',
    ),
    enterpriseRepositoryProvider.overrideWithValue(
      enterpriseRepository ?? MockEnterpriseRepository(),
    ),
  ];
}

المصدر supercore/templates/super_app_enterprise/after_framework.dart (يُفتح في علامة تبويب جديدة)

قائمة تحقق Super Appرابط إلى هذا القسم: قائمة تحقق Super App

إلزامي

  • الاعتماد على after_core وafter_design_system من supercore
  • AppPlatformManifest فريد: appId، وpackageName، ومزوّد widget، ومجموعة تطبيقات iOS
  • جذر التركيب في lib/app/platform/after_framework.dart
  • تعيين PlatformConfig.current قبل runApp
  • المصادقة والتحليلات والإشعارات الفورية والاستحقاقات خلف منافذ After
  • سياسة Dio لـ HTTPS مع requireHttps: true
  • السمة من AfterThemeData
  • الميزات الرأسية ضمن lib/features/ فقط
  • اختبار دخان: البيان والتجاوزات غير فارغة
  • CI: التنسيق، والتحليل، والاختبار

موصى به

  • نكهات البناء للمتاجر: play، وdev، وhuawei
  • assets/l10n وكتالوج للنصوص
  • مصفوفة الاستحقاقات مربوطة بـ AfterUserPlan وAfterPlanFeature
  • روابط الخصوصية والشروط على المركز القانوني لـ Overstein