Flutter快速启动与配置插件wahyz_bootstrap的使用

Flutter快速启动与配置插件wahyz_bootstrap的使用

本文档将详细介绍如何快速启动并配置 wahyz_bootstrap 插件。通过以下步骤,您可以轻松集成该插件到您的 Flutter 项目中。


1. 初始化 Flutter 项目

首先,确保您的 Flutter 环境已正确安装,并创建一个新的 Flutter 项目:

flutter create wahyz_bootstrap_example
cd wahyz_bootstrap_example

2. 添加依赖项

pubspec.yaml 文件中添加 wahyz_bootstrap 和其他必要的依赖项:

dependencies:
  flutter:
    sdk: flutter
  hooks_riverpod: ^2.0.0 # Riverpod 状态管理库
  firebase_core: ^2.0.0 # Firebase 核心库
  wahyz_bootstrap: ^1.0.0 # wahyz_bootstrap 插件

运行以下命令以更新依赖项:

flutter pub get

3. 配置 Firebase

在项目的根目录下,初始化 Firebase 并生成配置文件:

firebase init

根据提示选择您的项目,并下载生成的配置文件(如 google-services.jsonGoogleService-Info.plist),将其放置在项目的 android/appios/Runner 目录中。

main.dart 中初始化 Firebase:

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

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(MyApp());
}

4. 使用 wahyz_bootstrap 插件

main.dart 文件中,配置 wahyz_bootstrap 插件。以下是完整的示例代码:

// 引入必要的包
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:wahyz_bootstrap/domain/models/base/model_registry.dart';
import 'package:wahyz_bootstrap/domain/models/concrete_model_factory/firestore_user_factory.dart';
import 'package:wahyz_bootstrap/domain/models/concrete_model_factory/reservation_factory.dart';
import 'package:wahyz_bootstrap/domain/models/firestore_user.dart';
import 'package:wahyz_bootstrap/domain/models/reservation.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  // 初始化 Firebase
  await Firebase.initializeApp();

  // 启动应用
  runApp(const ProviderScope(child: MyApp()));
}

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

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    // 注册模型工厂
    ref.watch(baseModelGeneralRegistryProvider.notifier)
      ..register<Reservation>(
        factory: ref.watch(reservationFactoryProvider.notifier),
      )
      ..register<Ksmer>(
        factory: ref.watch(ksmerFactoryProvider.notifier),
      )
      ..register<Vehicle>(
        factory: ref.watch(vehicleFactoryProvider.notifier),
      )
      ..register<FirestoreUser>(
        factory: ref.watch(firestoreUserFactoryProvider.notifier),
      );

    // 获取路由配置
    final goRouter = ref.watch(goRouterProvider);

    // 打印所有路由配置
    debugPrint("[[goRouter]]: ${goRouter.configuration.routes}");

    return _EagerInitialization(
      child: MaterialApp.router(
        debugShowCheckedModeBanner: false,
        title: 'KSM Omniverse App',
        routerConfig: goRouter,
        theme: ThemeData(
          colorScheme: ColorScheme.fromSeed(seedColor: Colors.blue),
          useMaterial3: true,
        ),
      ),
    );
  }
}

// 确保所有 Provider 在应用启动时被初始化
class _EagerInitialization extends ConsumerWidget {
  const _EagerInitialization({required this.child});
  final Widget child;

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    // 调用 Providers 以确保它们不会被释放
    debugPrint("[[baseModelRegistryProvider]]: ${ref.watch(baseModelGeneralRegistryProvider)}");
    return child;
  }
}

5. 运行应用

确保所有依赖项已正确配置后,运行应用:

flutter run

更多关于Flutter快速启动与配置插件wahyz_bootstrap的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter快速启动与配置插件wahyz_bootstrap的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


wahyz_bootstrap 是一个用于 Flutter 项目的快速启动与配置的插件,旨在帮助开发者快速搭建项目结构、配置常用依赖项以及生成基础代码。以下是如何使用 wahyz_bootstrap 插件的详细步骤:

1. 安装插件

首先,你需要在你的 Flutter 项目中安装 wahyz_bootstrap 插件。可以通过以下命令将其添加到 pubspec.yaml 文件中:

dependencies:
  wahyz_bootstrap: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来安装依赖。

2. 初始化项目

安装完成后,你可以使用 wahyz_bootstrap 提供的命令行工具来初始化你的项目。在终端中运行以下命令:

flutter pub run wahyz_bootstrap:init

这个命令将会在你的项目中生成一些基础文件和目录结构,例如:

  • lib/core/:包含核心逻辑、服务、工具类等。
  • lib/features/:包含应用的各个功能模块。
  • lib/routes/:包含路由配置。
  • lib/theme/:包含主题配置。
  • lib/utils/:包含工具类和辅助函数。

3. 配置依赖项

wahyz_bootstrap 会自动为你配置一些常用的依赖项,例如 provider 状态管理、go_router 路由管理等。你可以在 pubspec.yaml 文件中看到这些依赖项:

dependencies:
  flutter:
    sdk: flutter
  provider: ^6.0.0
  go_router: ^6.0.0
  # 其他依赖项...

4. 生成基础代码

wahyz_bootstrap 还提供了一些代码生成命令,帮助你快速生成常用的代码模板。例如,你可以使用以下命令生成一个新的页面:

flutter pub run wahyz_bootstrap:generate page HomePage

这个命令将会在 lib/features/ 目录下生成一个名为 home_page 的模块,包含 home_page.dart 文件以及相关的 blocprovider 文件(如果配置了状态管理)。

5. 配置路由

wahyz_bootstrap 会自动生成一个基础的路由配置文件 lib/routes/app_routes.dart,你可以在其中添加新的路由。例如:

import 'package:go_router/go_router.dart';
import '../features/home_page/home_page.dart';

final GoRouter router = GoRouter(
  routes: [
    GoRoute(
      path: '/',
      builder: (context, state) => const HomePage(),
    ),
    // 添加其他路由...
  ],
);

6. 运行项目

完成以上步骤后,你可以运行你的 Flutter 项目:

flutter run
回到顶部