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.
HANTURAI/
supercore/
supergarage/ # consumer reference
superhospital/ # enterprise reference
superhealth/ superfinance/ superhome/ supertravel/ supersports/ …Abhängigkeiten hinzufügenLink zu diesem Abschnitt: Abhängigkeiten hinzufügen
Consumer-Produkt
dependencies:
after_core:
path: ../supercore/packages/after_core
after_consumer:
path: ../supercore/packages/after_consumer
after_design_system:
path: ../supercore/packages/after_design_systemEnterprise-Produkt
dependencies:
after_core:
path: ../supercore/packages/after_core
after_enterprise:
path: ../supercore/packages/after_enterprise
after_design_system:
path: ../supercore/packages/after_design_systemComposition 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.
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)
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