基础组件库
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. import 'dart:io';
  2. import 'package:flutter/foundation.dart';
  3. import 'package:flutter/material.dart';
  4. import 'package:flutter_alibc/flutter_alibc.dart';
  5. import 'package:flutter_localizations/flutter_localizations.dart';
  6. import 'package:jdsdk/jdsdk.dart';
  7. import 'package:provider/provider.dart';
  8. import 'package:pull_to_refresh/pull_to_refresh.dart';
  9. import 'package:zhiying_base_widget/pages/home_page/home_page.dart';
  10. import 'package:zhiying_base_widget/pages/launch_page/launch_page.dart';
  11. import 'package:zhiying_base_widget/register.dart';
  12. import 'package:zhiying_comm/util/update/app_update_util.dart';
  13. import 'package:zhiying_comm/zhiying_comm.dart';
  14. import 'util/localizations_delegate.dart';
  15. void main() {
  16. FlutterError.onError = (FlutterErrorDetails details) {
  17. FlutterError.dumpErrorToConsole(details);
  18. print(details.exceptionAsString());
  19. // if (kReleaseMode) exit(1);
  20. };
  21. runApp(MyApp());
  22. }
  23. class MyApp extends StatefulWidget {
  24. @override
  25. _MyAppState createState() => _MyAppState();
  26. }
  27. class _MyAppState extends State<MyApp> {
  28. Widget getErrorWidget(BuildContext context, FlutterErrorDetails error) {
  29. return Center(
  30. child: Text(
  31. "走神了~\n${error.exceptionAsString()}",
  32. style:
  33. Theme.of(context).textTheme.title.copyWith(color: Colors.redAccent),
  34. ),
  35. );
  36. }
  37. @override
  38. void initState() {
  39. super.initState();
  40. print('初始化~~~~');
  41. BaseWidgetRegister.init();
  42. print('初始化百川');
  43. FlutterAlibc.initAlibc(version: "", appName: "").then((result) {
  44. print("白川" + '${result.errorCode} ${result.errorMessage}');
  45. });
  46. print('初始化京东~');
  47. if (Platform.isIOS) {
  48. Jdsdk.init(
  49. appKey: 'f17dcdf22df3bd440fac4c3cbcc76bff',
  50. appSecret: 'a60bea3315794ae9bb9b7ea749be8506');
  51. } else if (Platform.isAndroid) {
  52. Jdsdk.init(
  53. appKey: 'c0abbe1f201464ee139d613591a1be02',
  54. appSecret: 'a0eeac7105bf4c7cb573972aa03ed95c');
  55. }
  56. // app更新插件
  57. AppUpdateUtil.initXUpdate();
  58. }
  59. @override
  60. Widget build(BuildContext context) {
  61. ErrorWidget.builder = (FlutterErrorDetails errorDetails) {
  62. return getErrorWidget(context, errorDetails);
  63. };
  64. return MultiProvider(
  65. providers: [
  66. ChangeNotifierProvider.value(value: UserInfoNotifier()),
  67. ],
  68. child: MaterialApp(
  69. localizationsDelegates: [
  70. RefreshLocalizations.delegate,
  71. GlobalMaterialLocalizations.delegate,
  72. GlobalWidgetsLocalizations.delegate,
  73. CommonLocalizationsDelegate(),
  74. ],
  75. supportedLocales: [
  76. const Locale('en'),
  77. const Locale('zh'),
  78. ],
  79. localeResolutionCallback:
  80. (Locale locale, Iterable<Locale> supportedLocales) {
  81. print("change language ${locale.toString()}");
  82. return locale;
  83. },
  84. home: GestureDetector(
  85. onTap: () {
  86. FocusScopeNode currentFocus = FocusScope.of(context);
  87. if (!currentFocus.hasPrimaryFocus &&
  88. currentFocus.focusedChild != null) {
  89. FocusManager.instance.primaryFocus.unfocus();
  90. }
  91. },
  92. child: LaunchPage(
  93. builder: (context) => HomePage(),
  94. ),
  95. ),
  96. ),
  97. );
  98. }
  99. }