Files
flutter-jdt-store/lib/main.dart
2023-12-24 02:10:55 +08:00

66 lines
2.0 KiB
Dart

import 'package:get/get.dart';
import 'package:flutter/material.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:flutter_jdt_store/router/app_pages.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:statusbarz/statusbarz.dart';
import 'package:bot_toast/bot_toast.dart';
import 'global.dart';
import 'utils/utils.dart';
import 'initial_binding.dart';
Future<void> main() async {
// debugPrint(const String.fromEnvironment('APP_ENV', defaultValue: 'dev'));
await Global.init();
// 强制竖屏
StatusBarKit.setPortrait().then((_) {
runApp(const StatusbarzCapturer(
child: MainApp(),
));
});
}
class MainApp extends StatelessWidget {
const MainApp({super.key});
@override
Widget build(BuildContext context) {
return ScreenUtilInit(
designSize: const Size(390, 844), // iPhone 13尺寸
builder: ([BuildContext? _, __]) {
/// 初始化Toast
final botToastBuilder = BotToastInit();
return GetMaterialApp(
title: Global.appName,
debugShowCheckedModeBanner: false,
// 日志
enableLog: !Global.isRelease,
logWriterCallback: Logger.write,
defaultTransition: Transition.cupertino,
// 路由
getPages: AppPages.routes,
navigatorObservers: [
Global.routeObserver,
Statusbarz.instance.observer,
BotToastNavigatorObserver()
],
// 启动页面
initialRoute: AppPages.initial,
initialBinding: InitialBinding(),
builder: (context, widget) {
widget = MediaQuery(
data: MediaQuery.of(context)
.copyWith(textScaler: const TextScaler.linear(1.0)),
child: FlutterEasyLoading(child: widget),
);
widget = botToastBuilder(context, widget);
return widget;
},
locale: Get.deviceLocale);
},
);
}
}