openMiniProgram<T> method

Future<T?> openMiniProgram<T>(
  1. BuildContext context, {
  2. required String appId,
  3. String? title,
  4. Map<String, dynamic>? initialData,
  5. String? version,
  6. Uri? source,
  7. MiniProgramLaunchOptions options = const MiniProgramLaunchOptions(),
})

Implementation

Future<T?> openMiniProgram<T>(
  BuildContext context, {
  required String appId,
  String? title,
  Map<String, dynamic>? initialData,
  String? version,
  Uri? source,
  MiniProgramLaunchOptions options = const MiniProgramLaunchOptions(),
}) {
  _throwIfDisposed();

  final normalizedAppId = appId.trim();
  if (normalizedAppId.isEmpty) {
    throw ArgumentError.value(appId, 'appId', 'appId must not be blank.');
  }

  final resolvedRuntime = runtime;
  final page = MiniProgramPage(
    miniProgramId: normalizedAppId,
    title: title,
    runtime: resolvedRuntime,
    showAppBar: options.showAppBar,
    backgroundColor: options.backgroundColor ?? const Color(0xFFF8FAFC),
  );
  final request = MiniProgramLaunchRequest(
    appId: normalizedAppId,
    title: title,
    initialData: initialData,
    version: version,
    source: source,
    runtime: resolvedRuntime,
    page: page,
    options: options,
  );

  final delegate = navigationDelegate;
  if (delegate != null) {
    return delegate<T>(context, request, page);
  }

  return _pushMiniProgramPage<T>(context, request);
}