main.dart 2.64 KB
Newer Older
林生雨's avatar
林生雨 committed
1 2 3 4 5 6 7
import 'dart:async';

import 'package:flutter/material.dart';
import 'package:flutter_boost/flutter_boost.dart';
import 'package:flutter_common/Annotations/anno/RouterCenter.dart';
import 'package:flutter_common/commonModel/util/WindowUtil.dart';
import 'package:gm_flutter/commonModel/base/BaseComponent.dart';
林生雨's avatar
林生雨 committed
8
import 'package:gm_flutter/main.mark.dart';
林生雨's avatar
林生雨 committed
9 10

import 'DemoPage.dart';
林生雨's avatar
林生雨 committed
11
import 'DemoPage1.dart';
林生雨's avatar
林生雨 committed
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
import 'commonModel/base/BaseUtil.dart';
import 'commonModel/nav/NavigationService.dart';

NavigationService navigationService;

void main() {
  navigationService = NavigationService();
  WidgetsFlutterBinding.ensureInitialized();
  FlutterError.onError = (FlutterErrorDetails details) async {
    if (isDebug) {
      FlutterError.dumpErrorToConsole(details);
      Zone.root.handleUncaughtError(details.exception, details.stack);
      Zone.current.handleUncaughtError(details.exception, details.stack);
    } else {
      Zone.current.handleUncaughtError(details.exception, details.stack);
    }
  };
  runZonedGuarded(() {
    WidgetsFlutterBinding.ensureInitialized();
    runApp(
      MyAppWidget(),
    );
林生雨's avatar
林生雨 committed
34
    RouterCenterImpl().findMainRouter().init();
林生雨's avatar
林生雨 committed
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
  }, (Object error, StackTrace stack) {
    //TODO
    print("lsy EEEEEE ${error.toString()}   ${stack.toString()}");
  });
}

@RouterCenter()
class MyAppWidget extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return MyApp();
  }
}

class MyApp extends State<MyAppWidget> {
  @override
  void initState() {
    super.initState();
    FlutterBoost.singleton.registerPageBuilders({
      'demoPage': (pageName, params, _) {
        return DemoPage();
      },
林生雨's avatar
林生雨 committed
57 58 59
      'demoPage1': (pageName, params, _) {
        return DemoPage1();
      },
林生雨's avatar
林生雨 committed
60
    });
林生雨's avatar
林生雨 committed
61 62
    FlutterBoost.singleton
        .addBoostContainerLifeCycleObserver((state, settings) {
林生雨's avatar
林生雨 committed
63 64
      print("LSY ${state}");
    });
林生雨's avatar
林生雨 committed
65 66 67 68 69 70 71
//    FlutterBoost.singleton.addBoostNavigatorObserver(TestBoostNavigatorObserver());
  }

  @override
  Widget build(BuildContext context) {
    WindowUtil.setBarStatus(true);
    return MaterialApp(
林生雨's avatar
林生雨 committed
72 73 74 75 76 77 78 79 80 81 82 83 84
        theme: ThemeData(
            primaryColor: Colors.white,
            cursorColor: Color(0xff20BDBB),
            canvasColor: Colors.white),
        builder: FlutterBoost.init(postPush: _onRoutePushed),
        home: isDebug
            ? RouterCenterImpl().findMainRouter().getTestPage()
            : Container(
                color: Colors.white,
                child: Center(
                  child: loadingItem(),
                ),
              ));
林生雨's avatar
林生雨 committed
85 86
  }

林生雨's avatar
林生雨 committed
87 88 89 90 91 92 93
  void _onRoutePushed(
    String pageName,
    String uniqueId,
    Map<String, dynamic> params,
    Route<dynamic> route,
    Future<dynamic> _,
  ) {}
林生雨's avatar
林生雨 committed
94
}