| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- import 'package:flutter_localizations/flutter_localizations.dart';
- import 'package:flutter/cupertino.dart';
- import 'package:flutter/services.dart';
- import 'package:jpush_flutter/jpush_flutter.dart';
- import 'package:redux/redux.dart';
- import 'package:flutter/material.dart';
- import 'package:flutter_redux/flutter_redux.dart';
- import 'package:shared_preferences/shared_preferences.dart';
- import 'package:flutter_bugly/flutter_bugly.dart';
- import 'package:flutter/foundation.dart';
- import './Localizations.dart';
- import 'model/UserInfo.dart';
- import 'net/HttpManager.dart';
- import 'net/Result.dart';
- import 'pages/loginFirst.dart';
- import 'redux/AppState.dart';
- import 'pages/Home.dart';
- import './styles/colors.dart';
- class MobileCyberGamesApp extends StatelessWidget {
- const MobileCyberGamesApp(this.store);
- final Store<AppState> store;
- @override
- Widget build(BuildContext context) {
- return StoreProvider<AppState>(
- store: store,
- child: MaterialApp(
- title: '微电竞',
- supportedLocales: [
- const Locale('en'), // English
- const Locale('zh'), // China
- ],
- localizationsDelegates: [
- GlobalMaterialLocalizations.delegate,
- GlobalWidgetsLocalizations.delegate,
- ChineseCupertinoLocalizations.delegate,
- ],
- theme: ThemeData(
- backgroundColor: BG_COLOR,
- primaryColor: PRIMARY_COLOR,
- accentColor: PRIMARY_COLOR,
- appBarTheme: AppBarTheme(color: SUB_COLOR),
- scaffoldBackgroundColor: BG_COLOR,
- textTheme: TextTheme(
- subhead: TextStyle(color: Colors.white),
- ),
- buttonTheme: ButtonThemeData(
- buttonColor: PRIMARY_COLOR,
- splashColor: PRIMARY_COLOR,
- shape: RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(0))),
- ),
- ),
- home: store.state.userInfo != null ? HomePage() : LoginFirst(),
- routes: {'/home': (BuildContext context) => HomePage()},
- ),
- );
- }
- }
- Future<void> main() async {
- SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.light.copyWith(
- statusBarColor: Colors.transparent,
- ));
- await SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
- final JPush jpush = JPush();
- jpush.setup(
- appKey: 'f67ab1d1abce65a630f2bf1e',
- channel: 'theChannel',
- production: true,
- debug: true,
- );
- jpush.applyPushAuthority(NotificationSettingsIOS(sound: true, alert: true, badge: true));
- final prefs = await SharedPreferences.getInstance();
- HttpManager.token = prefs.getString('token') ?? '';
- if (debugMode() && HttpManager.token.isEmpty) {
- HttpManager.token = ''
- 'eyJhbGciOiJIUzI1NiJ9.eyJqdGkiO'
- 'iI2Mzk2MDcxOS00ODBkLTRmMDgtYmF'
- 'mYi1mMjdhN2ZhN2JmNWMiLCJpc3MiO'
- 'iJhZG1pbiIsImlhdCI6MTU2NDAyMzM'
- '0Mywic3ViIjoiODQ4NDgiLCJleHAiO'
- 'jE1NjY2MTUzNDN9.UGLtR6y6nNzo9t'
- '94Wzfpk1Bo3YNIMuaSxEAIEebkVfs';
- }
- Result result = await HttpManager.get('userInfo/getUserInfo');
- AppState state = AppState.empty();
- if (result.success && result.data != null) {
- UserInfo userInfo = UserInfo.fromJson(result.data);
- state.userInfo = userInfo;
- jpush.setAlias(userInfo.id.toString()).then((map) {});
- }
- Store<AppState> store = Store<AppState>(appReducer, initialState: state);
- FlutterBugly.init(androidAppId: '5f31e941fc', iOSAppId: '');
- FlutterBugly.postCatchedException(() {
- runApp(MobileCyberGamesApp(store));
- });
- }
- bool debugMode() {
- if (kReleaseMode) {
- print('release mode');
- } else {
- print('debug mode');
- }
- return !kReleaseMode;
- }
|