Blame view

lib/app/app.dart 2.75 KB
2a29701f   liangchengyou   feat:提交代码
1
2
3
4
  import 'package:flutter/material.dart';
  import 'package:flutter_bloc/flutter_bloc.dart';
  import 'package:flutter_easyloading/flutter_easyloading.dart';
  import 'package:flutter_screenutil/flutter_screenutil.dart';
4224b3f8   吴启风   feat:支付详情页ui
5
  import 'package:responsive_framework/responsive_framework.dart';
3f45a30f   吴启风   feat:集成友盟APM(flut...
6
  import 'package:umeng_apm_sdk/umeng_apm_sdk.dart';
da82bd70   Key   feat: user_inform...
7
  import 'package:wow_english/common/blocs/cachebloc/cache_bloc.dart';
4bf67b91   liangchengyou   feat:设置密码
8
  import 'package:wow_english/common/widgets/hide_keyboard_widget.dart';
e8d9f472   liangchengyou   feat:提交代码
9
  import 'package:wow_english/pages/tab/blocs/tab_bloc.dart';
c948a9ea   liangchengyou   feat:个人信息更改模块功能
10
  import 'package:wow_english/pages/user/bloc/user_bloc.dart';
2a29701f   liangchengyou   feat:提交代码
11
  import 'package:wow_english/route/route.dart';
2a29701f   liangchengyou   feat:提交代码
12
  
0427feeb   吴启风   feat:增加播放器对页面生命周期...
13
14
  import '../route/custom_navigator_observer.dart';
  
8a556f76   吴启风   feat:性能优化-首页'wow精...
15
16
  final RouteObserver<PageRoute> customerRouteObserver = CustomNavigatorObserver();
  
2a29701f   liangchengyou   feat:提交代码
17
  class App extends StatelessWidget {
3f45a30f   吴启风   feat:集成友盟APM(flut...
18
19
20
    const App([this._navigatorObserver]);
  
    final NavigatorObserver? _navigatorObserver;
2a29701f   liangchengyou   feat:提交代码
21
22
23
24
  
    @override
    Widget build(BuildContext context) {
      return ScreenUtilInit(
4847e3dc   liangchengyou   feat:添加设备方向处理
25
        designSize: const Size(667, 375),
05f9b20a   Key   fixed: api调用方式,未完善
26
        builder: (_, __) => MultiBlocProvider(
2a29701f   liangchengyou   feat:提交代码
27
            providers: [
05f9b20a   Key   fixed: api调用方式,未完善
28
              BlocProvider<TabBloc>(create: (_) => TabBloc()),
da82bd70   Key   feat: user_inform...
29
              BlocProvider<CacheBloc>(create: (_) => CacheBloc()),
c948a9ea   liangchengyou   feat:个人信息更改模块功能
30
              BlocProvider<UserBloc>(create: (_) => UserBloc()),
2a29701f   liangchengyou   feat:提交代码
31
            ],
4bf67b91   liangchengyou   feat:设置密码
32
33
34
35
            child: HideKeyboard(
              child: MaterialApp(
                title: 'WowEnglish',
                theme: ThemeData(
1d5315dd   liangchengyou   feat:添加字体,调整文件结构
36
                  fontFamily: 'HannotateSC',
91fe517a   liangchengyou   feat:看视频功能开发
37
                  colorScheme: ColorScheme.fromSeed(seedColor: Colors.white),
4bf67b91   liangchengyou   feat:设置密码
38
                  useMaterial3: true,
42f15f6c   吴启风   feat:模块选择持久化&模块主题...
39
40
                  ///系统主题色
                  primaryColor: const Color(0xFF00B6F1)
4bf67b91   liangchengyou   feat:设置密码
41
                ),
f0d56772   liangchengyou   feat:更新尺寸适配
42
                builder: EasyLoading.init(
05f9b20a   Key   fixed: api调用方式,未完善
43
44
45
46
47
48
49
                    builder: (context, child) => ResponsiveBreakpoints(breakpoints: const [
                          Breakpoint(start: 0, end: 450, name: MOBILE),
                          Breakpoint(start: 0, end: 450, name: PHONE),
                          Breakpoint(start: 451, end: 800, name: TABLET),
                          Breakpoint(start: 801, end: 1920, name: DESKTOP),
                          Breakpoint(start: 1921, end: double.infinity, name: '4K'),
                        ], child: child!)),
4bf67b91   liangchengyou   feat:设置密码
50
51
52
                initialRoute: AppRouteName.splash,
                navigatorKey: AppRouter.navigatorKey,
                onGenerateRoute: AppRouter.generateRoute,
3f45a30f   吴启风   feat:集成友盟APM(flut...
53
54
55
                navigatorObservers: <NavigatorObserver>[
                  // 带入ApmNavigatorObserver实例用于路由监听
                  // 如果不带入SDK监听器将无法获知页面(PV)入栈退栈行为,错误率(Dart异常数/FlutterPV次数)将异常攀升。
8a556f76   吴启风   feat:性能优化-首页'wow精...
56
                  _navigatorObserver ?? ApmNavigatorObserver.singleInstance, customerRouteObserver
3f45a30f   吴启风   feat:集成友盟APM(flut...
57
                ],
2a29701f   liangchengyou   feat:提交代码
58
              ),
2a29701f   liangchengyou   feat:提交代码
59
60
61
62
            )),
      );
    }
  }