import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_unit/app/enums.dart'; import 'package:flutter_unit/blocs/bloc_exp.dart'; import 'package:flutter_unit/blocs/point/point_bloc.dart'; import 'package:flutter_unit/blocs/point_comment/point_comment_bloc.dart'; import 'package:flutter_unit/repositories/impl/catagory_db_repository.dart'; import 'package:flutter_unit/repositories/impl/widget_db_repository.dart'; import 'package:flutter_unit/storage/app_storage.dart'; /// create by 张风捷特烈 on 2020/4/28 /// contact me by email 1981462002@qq.com /// 说明: final storage = AppStorage(); class BlocWrapper extends StatelessWidget { final Widget child; BlocWrapper({this.child}); final repository = WidgetDbRepository(storage); final categoryRepo = CategoryDbRepository(storage); @override Widget build(BuildContext context) { return MultiBlocProvider(//使用MultiBlocProvider包裹 providers: [ //Bloc提供器 BlocProvider( create: (_) => GlobalBloc(storage)..add(EventInitApp())), BlocProvider( create: (_) => HomeBloc(repository: repository) ..add(EventTabTap(WidgetFamily.statelessWidget))), BlocProvider( create: (_) => DetailBloc(repository: repository)), BlocProvider( create: (_) => CategoryBloc(repository: categoryRepo)..add(EventLoadCategory())), BlocProvider( create: (_) => CollectBloc(repository: repository)..add(EventSetCollectData())), BlocProvider( create: (_) => SearchBloc(repository: repository)), BlocProvider(create: (_) => PointBloc()), BlocProvider(create: (_) => PointCommentBloc()), ], child: child); } }