fx_boot_starter 0.2.0 copy "fx_boot_starter: ^0.2.0" to clipboard
fx_boot_starter: ^0.2.0 copied to clipboard

a app start package to help handle start easy.

example/main.dart

import 'package:flutter/material.dart';
import 'package:fx_boot_starter/fx_boot_starter.dart';

/// 启动配置
class AppConfig {
  final String theme;
  const AppConfig({this.theme = 'light'});
}

/// 启动仓库
class MyRepository extends AppStartRepository<AppConfig> {
  const MyRepository();

  @override
  Future<AppConfig> initApp() async {
    await Future<void>.delayed(const Duration(seconds: 1));
    return const AppConfig(theme: 'dark');
  }
}

/// 应用入口
class MyApplication with FxStarter<AppConfig> {
  @override
  Widget get app => const MyApp();

  @override
  AppStartRepository<AppConfig> get repository => const MyRepository();

  @override
  void onLoaded(BuildContext context, int cost, AppConfig state) {
    debugPrint('启动耗时: $cost ms');
  }

  @override
  void onStartSuccess(BuildContext context, AppConfig state) {
    debugPrint('启动成功: theme=${state.theme}');
  }

  @override
  void onStartError(BuildContext context, Object error, StackTrace trace) {
    debugPrint('启动失败: $error');
  }

  @override
  void onGlobalError(Object error, StackTrace stack) {
    debugPrint('全局异常: $error');
  }
}

void main() {
  MyApplication().run();
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: AppStartListener<AppConfig>(
        child: Center(child: CircularProgressIndicator()),
      ),
    );
  }
}
1
likes
140
points
154
downloads

Documentation

API reference

Publisher

verified publishertoly1994.com

Weekly Downloads

a app start package to help handle start easy.

Homepage
Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter

More

Packages that depend on fx_boot_starter