main.dart 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. import 'package:flutter/cupertino.dart';
  2. import 'package:flutter/services.dart';
  3. import 'package:redux/redux.dart';
  4. import 'package:flutter/material.dart';
  5. import 'package:flutter_redux/flutter_redux.dart';
  6. import 'package:shared_preferences/shared_preferences.dart';
  7. import 'redux/AppState.dart';
  8. import 'pages/HomePage.dart';
  9. import 'net/HttpManager.dart';
  10. import 'model/UserInfo.dart';
  11. import 'net/Result.dart';
  12. import 'pages/loginFirst.dart';
  13. import 'package:flutter_localizations/flutter_localizations.dart';
  14. import './Localizations.dart';
  15. class MobileCyberGamesApp extends StatelessWidget {
  16. final Store<AppState> store;
  17. MobileCyberGamesApp(this.store);
  18. @override
  19. Widget build(BuildContext context) {
  20. return StoreProvider(
  21. store: this.store,
  22. child: new MaterialApp(
  23. title: '全民电竞',
  24. supportedLocales: [
  25. const Locale('en'), // English
  26. const Locale('zh'), // China
  27. ],
  28. localizationsDelegates: [
  29. GlobalMaterialLocalizations.delegate,
  30. GlobalWidgetsLocalizations.delegate,
  31. ChineseCupertinoLocalizations.delegate,
  32. ],
  33. theme: ThemeData(
  34. cardColor: Color(0xFF2B2B42),
  35. backgroundColor: Color(0xFF222335),
  36. primaryColor: Color(0xFFC2524D),
  37. buttonColor: Color(0xFFC2524D),
  38. // highlightColor: Color(0xFF933E3E),
  39. accentColor: Color(0xFFC2524D),
  40. textSelectionColor: Colors.white,
  41. textTheme: TextTheme(
  42. subhead: TextStyle(color: Colors.white),
  43. ),
  44. buttonTheme: ButtonThemeData(
  45. buttonColor: Color(0xFFC2524D),
  46. highlightColor: Color(0xFF9B4040),
  47. splashColor: Color(0xFF9B4040),
  48. )),
  49. home: store.state.isLogin ? HomePage() : LoginFirst(),
  50. ),
  51. );
  52. }
  53. }
  54. void main() async {
  55. SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.light.copyWith(
  56. statusBarColor: Colors.transparent,
  57. ));
  58. final prefs = await SharedPreferences.getInstance();
  59. print(prefs.getString('token'));
  60. //测试token
  61. // HttpManager.token=prefs.getString('token')??"eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyZDExNzgzOS1lZTQxLTRmZjItOGMyYi0zMzdiNmVhYWE3ODUiLCJpc3MiOiJhZG1pbiIsImlhdCI6MTU1MTMzNjAxNiwic3ViIjoiODQ3MDIiLCJleHAiOjE1NTE1OTUyMTZ9.VFvZRMpAvrPos5FwgkaofVemgb5rAXVuGTOSiHcNEKw";
  62. HttpManager.token = prefs.getString('token') ??
  63. "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI0NWY0OGY2NS1jODQxLTRjNDgtYmY0My1jYTAwYzlkZjk5OWQiLCJpc3MiOiJhZG1pbiIsImlhdCI6MTU1MTMxNzAzMCwic3ViIjoiODQ3MDIiLCJleHAiOjE1NTE1NzYyMzB9.ILhuOwvblQKqVxNaLk9CbYas6aoUQAlzlZrTk4VLqY8";
  64. Result result = await HttpManager.get("userInfo/getUserInfo");
  65. AppState state = AppState.empty();
  66. if (result.success && result.data != null) {
  67. state.isLogin = true;
  68. UserInfo userInfo = UserInfo.fromJson(result.data);
  69. state.userInfo = userInfo;
  70. } else {
  71. state.isLogin = false;
  72. }
  73. Store<AppState> store = Store<AppState>(appReducer, initialState: state);
  74. runApp(new MobileCyberGamesApp(store));
  75. }