Premiers pas
Prérequis, clones côte à côte, dépendances, racine de composition et liste de contrôle Super App.
Version de la doc: supercore main · packages 1.0.0
PrérequisLien vers cette section: Prérequis
Chaque package cible le SDK Dart ^3.12.2 et Flutter >=3.27.0. Les packages ne sont pas publiés sur pub.dev ; les produits en dépendent par chemin.
Clones côte à côteLien vers cette section: Clones côte à côte
Clonez supercore à côté de votre dépôt produit pour que les dépendances par chemin se résolvent.
HANTURAI/
supercore/
supergarage/ # consumer reference
superhospital/ # enterprise reference
superhealth/ superfinance/ superhome/ supertravel/ supersports/ …Ajouter les dépendancesLien vers cette section: Ajouter les dépendances
Produit grand public
dependencies:
after_core:
path: ../supercore/packages/after_core
after_consumer:
path: ../supercore/packages/after_consumer
after_design_system:
path: ../supercore/packages/after_design_systemProduit entreprise
dependencies:
after_core:
path: ../supercore/packages/after_core
after_enterprise:
path: ../supercore/packages/after_enterprise
after_design_system:
path: ../supercore/packages/after_design_systemRacine de compositionLien vers cette section: Racine de composition
Chaque produit enregistre son manifeste et renvoie les surcharges standard depuis une racine de composition unique, puis ajoute ses propres adaptateurs par-dessus.
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}',
);
}
}Source supercore/templates/super_app_consumer/after_framework.dart (s’ouvre dans un nouvel onglet)
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(),
),
];
}Source supercore/templates/super_app_enterprise/after_framework.dart (s’ouvre dans un nouvel onglet)
Liste de contrôle Super AppLien vers cette section: Liste de contrôle Super App
Obligatoire
- Dépendre d’after_core et d’after_design_system depuis supercore
- AppPlatformManifest unique : appId, packageName, provider de widget, groupe d’app iOS
- Racine de composition dans lib/app/platform/after_framework.dart
- Définir PlatformConfig.current avant runApp
- Auth, analytique, push et droits derrière les ports After
- Politique Dio HTTPS avec requireHttps: true
- Thème issu d’AfterThemeData
- Fonctionnalités verticales uniquement sous lib/features/
- Test de fumée : manifeste et surcharges non vides
- CI : formatage, analyse, tests
Recommandé
- Variantes de store : play, dev, huawei
- assets/l10n et un catalogue de chaînes
- Matrice des droits associée à AfterUserPlan et AfterPlanFeature
- URL de confidentialité et de conditions sur le hub juridique Overstein