main.dart 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import 'dart:io';
  2. import 'package:flutter/material.dart';
  3. import 'package:fun_selfie_app/utils/routes.dart';
  4. import 'package:fun_selfie_app/utils/storage.dart';
  5. import 'package:flutter_localizations/flutter_localizations.dart';
  6. import 'package:flutter/services.dart';
  7. void main() async {
  8. WidgetsFlutterBinding.ensureInitialized();
  9. String initPage = '';
  10. Future<dynamic> future = Future(() async {
  11. return await StorageUtil.getString('userMsg');
  12. });
  13. await future.then((value) {
  14. if (value == '') {
  15. initPage = '/login';
  16. } else {
  17. initPage = '/';
  18. }
  19. });
  20. runApp(MyApp(initPage: initPage));
  21. if (Platform.isAndroid) {
  22. //设置Android头部的导航栏透明
  23. SystemUiOverlayStyle systemUiOverlayStyle =
  24. const SystemUiOverlayStyle(statusBarColor: Colors.transparent);
  25. SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle);
  26. }
  27. }
  28. class MyApp extends StatelessWidget {
  29. MyApp({super.key, required this.initPage}) {
  30. RouterFluro.initRoues();
  31. }
  32. final String initPage;
  33. @override
  34. Widget build(BuildContext context) {
  35. return MaterialApp(
  36. debugShowCheckedModeBanner: false,
  37. title: '趣味自拍',
  38. initialRoute: initPage,
  39. onGenerateRoute: RouterFluro.fluroRouter.generator,
  40. //添加国际化
  41. localizationsDelegates: const [
  42. GlobalMaterialLocalizations.delegate,
  43. GlobalWidgetsLocalizations.delegate,
  44. ],
  45. supportedLocales: const [
  46. Locale('zh', 'CH'),
  47. Locale('en', 'US'),
  48. ],
  49. locale: const Locale('zh'),
  50. theme: ThemeData(
  51. primarySwatch: Colors.blue,
  52. textTheme: const TextTheme(
  53. titleMedium: TextStyle(fontSize: 20),
  54. titleSmall: TextStyle(fontSize: 14)),
  55. iconTheme: const IconThemeData(size: 40),
  56. appBarTheme: const AppBarTheme(
  57. toolbarTextStyle: TextStyle(fontSize: 18),
  58. titleTextStyle: TextStyle(fontSize: 26))));
  59. }
  60. }