After Framework

Per iniziare

Requisiti, checkout affiancato, dipendenze, composition root e checklist della Super App.

Versione della documentazione: supercore main · pacchetti 1.0.0

RequisitiLink a questa sezione: Requisiti

Ogni pacchetto richiede Dart SDK ^3.12.2 e Flutter >=3.27.0. I pacchetti non sono pubblicati su pub.dev; i prodotti vi dipendono tramite percorso.

Checkout affiancatoLink a questa sezione: Checkout affiancato

Clona supercore accanto al repository del tuo prodotto, così le dipendenze di percorso vengono risolte.

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

Sorgente supercore/README.md (si apre in una nuova scheda)

Aggiungi le dipendenzeLink a questa sezione: Aggiungi le dipendenze

Prodotto consumer

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

Sorgente supercore/README.md (si apre in una nuova scheda)

Prodotto enterprise

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

Sorgente supercore/README.md (si apre in una nuova scheda)

Radice di composizioneLink a questa sezione: Radice di composizione

Ogni prodotto registra il proprio manifest e restituisce gli override standard da un’unica composition root, poi vi aggiunge sopra i propri adapter.

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

Sorgente supercore/templates/super_app_consumer/after_framework.dart (si apre in una nuova scheda)

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

Sorgente supercore/templates/super_app_enterprise/after_framework.dart (si apre in una nuova scheda)

Checklist della Super AppLink a questa sezione: Checklist della Super App

Obbligatorio

  • Dipendere da after_core e after_design_system di supercore
  • AppPlatformManifest univoco: appId, packageName, widget provider, app group iOS
  • Radice di composizione in lib/app/platform/after_framework.dart
  • Impostare PlatformConfig.current prima di runApp
  • Autenticazione, analytics, push e diritti dietro i port After
  • Policy HTTPS di Dio con requireHttps: true
  • Tema da AfterThemeData
  • Funzionalità verticali solo in lib/features/
  • Smoke test: manifest e override non vuoti
  • CI: formattazione, analisi, test

Consigliato

  • Flavor per gli store: play, dev, huawei
  • assets/l10n e un catalogo di stringhe
  • Matrice dei diritti mappata su AfterUserPlan e AfterPlanFeature
  • URL di privacy e termini sull’hub legale Overstein