@@ -3,36 +3,73 @@ import 'package:fluro/fluro.dart';
3
3
import 'package:flutter/rendering.dart' ;
4
4
import 'routers/routers.dart' ;
5
5
import 'routers/application.dart' ;
6
-
6
+ import 'package:flutter_spinkit/flutter_spinkit.dart' ;
7
7
import 'package:flutter_go/utils/provider.dart' ;
8
8
import 'package:flutter_go/utils/shared_preferences.dart' ;
9
9
import 'package:flutter_go/views/home.dart' ;
10
10
import 'package:flutter_go/model/search_history.dart' ;
11
11
import 'package:flutter_go/utils/analytics.dart' as Analytics;
12
+ import 'package:flutter_go/views/login_page/login_page.dart' ;
13
+ import 'package:flutter_go/utils/data_utils.dart' ;
14
+
12
15
//import 'views/welcome_page/index.dart';
13
16
14
17
const int ThemeColor = 0xFFC91B3A ;
15
18
SpUtil sp;
16
19
var db;
17
20
18
- class MyApp extends StatelessWidget {
19
- MyApp () {
21
+ class MyApp extends StatefulWidget {
22
+ MyApp () {
20
23
final router = new Router ();
21
24
22
25
Routes .configureRoutes (router);
23
26
24
27
Application .router = router;
25
28
}
29
+
30
+ @override
31
+ _MyAppState createState () => _MyAppState ();
32
+ }
33
+
34
+ class _MyAppState extends State <MyApp > {
35
+ bool _hasLogin = false ;
36
+ bool _isLoading = true ;
37
+
38
+ @override
39
+ void initState () {
40
+ super .initState ();
41
+ DataUtils .checkLogin ().then ((hasLogin) {
42
+ setState (() {
43
+ _hasLogin = hasLogin;
44
+ _isLoading = false ;
45
+ });
46
+ }).catchError ((onError){
47
+ setState (() {
48
+ _hasLogin = true ;
49
+ _isLoading = false ;
50
+ });
51
+ print ('身份信息验证失败:$onError ' );
52
+ });
53
+ }
54
+
26
55
showWelcomePage () {
27
- // 暂时关掉欢迎介绍
28
- return AppPage ();
29
- // bool showWelcome = sp.getBool(SharedPreferencesKeys.showWelcome);
30
- // if (showWelcome == null || showWelcome == true) {
31
- // return WelcomePage();
32
- // } else {
33
- // return AppPage();
34
- // }
56
+ if (_isLoading) {
57
+ return Container (
58
+ color: const Color (ThemeColor ),
59
+ child: Center (
60
+ child: SpinKitPouringHourglass (color: Colors .white),
61
+ ),
62
+ );
63
+ } else {
64
+ // 判断是否已经登录
65
+ if (_hasLogin) {
66
+ return AppPage ();
67
+ } else {
68
+ return LoginPage ();
69
+ }
70
+ }
35
71
}
72
+
36
73
@override
37
74
Widget build (BuildContext context) {
38
75
return new MaterialApp (
@@ -50,17 +87,14 @@ class MyApp extends StatelessWidget {
50
87
size: 35.0 ,
51
88
),
52
89
),
53
- home: new Scaffold (
54
- body: showWelcomePage ()
55
- ),
90
+ home: new Scaffold (body: showWelcomePage ()),
56
91
debugShowCheckedModeBanner: false ,
57
92
onGenerateRoute: Application .router.generator,
58
93
navigatorObservers: < NavigatorObserver > [Analytics .observer],
59
94
);
60
95
}
61
96
}
62
97
63
-
64
98
void main () async {
65
99
final provider = new Provider ();
66
100
await provider.init (true );
0 commit comments