After Framework

Erste Schritte

Voraussetzungen, benachbarter Checkout, Abhängigkeiten, Composition Root und die Super App-Checkliste.

Doku-Version: supercore main · Pakete 1.0.0

VoraussetzungenLink zu diesem Abschnitt: Voraussetzungen

Alle Pakete zielen auf Dart SDK ^3.12.2 und Flutter >=3.27.0. Die Pakete sind nicht auf pub.dev veröffentlicht; Produkte binden sie per Pfad ein.

Benachbarter CheckoutLink zu diesem Abschnitt: Benachbarter Checkout

supercore neben das Produkt-Repository klonen, damit Pfadabhängigkeiten aufgelöst werden.

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

Quelle supercore/README.md (öffnet in neuem Tab)

Abhängigkeiten hinzufügenLink zu diesem Abschnitt: Abhängigkeiten hinzufügen

Consumer-Produkt

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

Quelle supercore/README.md (öffnet in neuem Tab)

Enterprise-Produkt

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

Quelle supercore/README.md (öffnet in neuem Tab)

Composition RootLink zu diesem Abschnitt: Composition Root

Jedes Produkt registriert sein Manifest und gibt die Standard-Overrides aus einem einzigen Composition Root zurück; darüber legt es seine Produktadapter.

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}',
    );
  }
}

Quelle supercore/templates/super_app_consumer/after_framework.dart (öffnet in neuem Tab)

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(),
    ),
  ];
}

Quelle supercore/templates/super_app_enterprise/after_framework.dart (öffnet in neuem Tab)

Super App-ChecklisteLink zu diesem Abschnitt: Super App-Checkliste

Pflicht

  • Abhängigkeit von after_core und after_design_system aus supercore
  • Eindeutiges AppPlatformManifest: appId, packageName, Widget-Provider, iOS-App-Group
  • Composition Root unter lib/app/platform/after_framework.dart
  • PlatformConfig.current vor runApp setzen
  • Auth, Analytics, Push und Berechtigungen hinter After-Ports
  • HTTPS-Dio-Richtlinie mit requireHttps: true
  • Theme aus AfterThemeData
  • Vertikale Features nur unter lib/features/
  • Smoke-Test: Manifest und Overrides sind nicht leer
  • CI: Formatierung, Analyse, Tests

Empfohlen

  • Store-Flavors: play, dev, huawei
  • assets/l10n und ein String-Katalog
  • Berechtigungsmatrix, abgebildet auf AfterUserPlan und AfterPlanFeature
  • Datenschutz- und AGB-URLs im Overstein Legal Hub