import 'dart:async'; import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:game/network/NetworkConfig.dart'; import 'package:game/tools/home/message/message_center_page.dart'; import 'package:game/tools/home/my_home_page.dart'; import 'package:game/tools/home/search_page.dart'; import 'package:game/tools/home_page.dart'; import 'package:game/tools/login/login_page.dart'; import 'package:game/tools/me/edit_info_page.dart'; import 'package:game/tools/me/feedback_page.dart'; import 'package:game/tools/me/game_history_page.dart'; import 'package:game/tools/me/my_collect_page.dart'; import 'package:game/tools/me/property/expenses_page.dart'; import 'package:game/tools/me/property/income_page.dart'; import 'package:game/tools/me/property/property_page.dart'; import 'package:game/tools/me/set/about_page.dart'; import 'package:game/tools/me/set/real_name_page.dart'; import 'package:game/tools/me/set/setting_page.dart'; import 'package:game/tools/start_page.dart'; import 'common/EventBusUtil.dart'; import 'common/Global.dart'; Future main() async { runApp(const MyApp()); await runZonedGuarded(() async { WidgetsFlutterBinding.ensureInitialized(); Global.initialize().then((e) { Global(); runApp(const MyApp()); if (Platform.isAndroid) { // 以下两行 设置android状态栏为透明的沉浸。写在组件渲染之后,是为了在渲染后进行set赋值,覆盖状态栏,写在渲染之前MaterialApp组件会覆盖掉这个值。 SystemUiOverlayStyle systemUiOverlayStyle = const SystemUiOverlayStyle(statusBarColor: Colors.transparent); SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle); } }); }, (error, stackTrace) { print("error==$error"); }); } class MyApp extends StatefulWidget { const MyApp({super.key}); @override State createState() => _MyAppState(); } class _MyAppState extends State { // 注册方法,等待被原生通过invokeMethod唤起 Future nativeCallHandler(MethodCall methodCall) async { switch (methodCall.method) { case "exitGame": print("object77777"); EventBusUtil.fire(RefreshUserdata()); break; case "AlipaySuccess": //支付宝支付完成 // EasyLoading.showToast("支付成功"); EventBusUtil.fire(PaySuccess()); break; case "wxPaySuccess": //微信支付完成 // EasyLoading.showToast("微信支付成功"); EventBusUtil.fire(PaySuccess()); break; case "payError": //支付失败 EasyLoading.showToast("支付失败"); break; case "SDKSuccess": //游戏Sdk是否初始化成功 NetworkConfig.isGameSdk = methodCall.arguments['SDKSuccess']; break; } } @override void initState() { // TODO: implement initState Global.method.setMethodCallHandler(nativeCallHandler); super.initState(); SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.light); } @override Widget build(BuildContext context) { return MaterialApp( title: '蒸汽云游', theme: ThemeData( colorScheme: ColorScheme.fromSeed(seedColor: Color(0xFF074CE7)), useMaterial3: true, ), home: const StartPage(), debugShowCheckedModeBanner: false, builder: EasyLoading.init(), routes: { '/HomePage': (BuildContext context) => HomePage(), '/MyHomePage': (BuildContext context) => MyHomePage(), '/SearchPage': (BuildContext context) => SearchPage(), '/LoginPage': (BuildContext context) => LoginPage(), '/EditInfoPage': (BuildContext context) => EditInfoPage(), '/PropertyPage': (BuildContext context) => PropertyPage(), '/IncomePage': (BuildContext context) => IncomePage(), '/ExpensesPage': (BuildContext context) => ExpensesPage(), '/SettingPage': (BuildContext context) => SettingPage(), '/RealNamePage': (BuildContext context) => RealNamePage(), '/AboutPage': (BuildContext context) => AboutPage(), '/MyCollectPage': (BuildContext context) => MyCollectPage(), '/GameHistoryPage': (BuildContext context) => GameHistoryPage(), '/FeedbackPage': (BuildContext context) => FeedbackPage(), '/MessageCenterPage': (BuildContext context) => MessageCenterPage(), }, ); } }