Showing
5 changed files
with
42 additions
and
11 deletions
... | @@ -6,6 +6,7 @@ import 'package:one_poem/extension/shared/size_fit.dart'; | ... | @@ -6,6 +6,7 @@ import 'package:one_poem/extension/shared/size_fit.dart'; |
6 | import 'package:one_poem/login/login_router.dart'; | 6 | import 'package:one_poem/login/login_router.dart'; |
7 | import 'package:one_poem/res/constant.dart'; | 7 | import 'package:one_poem/res/constant.dart'; |
8 | import 'package:one_poem/routers/fluro_navigator.dart'; | 8 | import 'package:one_poem/routers/fluro_navigator.dart'; |
9 | +import 'package:one_poem/routers/routers.dart'; | ||
9 | import 'package:one_poem/util/device_utils.dart'; | 10 | import 'package:one_poem/util/device_utils.dart'; |
10 | import 'package:one_poem/util/image_utils.dart'; | 11 | import 'package:one_poem/util/image_utils.dart'; |
11 | import 'package:one_poem/util/theme_utils.dart'; | 12 | import 'package:one_poem/util/theme_utils.dart'; |
... | @@ -83,7 +84,11 @@ class _SplashPageState extends State<SplashPage> { | ... | @@ -83,7 +84,11 @@ class _SplashPageState extends State<SplashPage> { |
83 | } | 84 | } |
84 | 85 | ||
85 | void _goLogin() { | 86 | void _goLogin() { |
86 | - NavigatorUtils.push(context, LoginRouter.loginPage, replace: true); | 87 | + if (SpUtil.containsKey(Constant.userToken)!) { |
88 | + NavigatorUtils.push(context, Routes.home, clearStack: true); | ||
89 | + } else { | ||
90 | + NavigatorUtils.push(context, LoginRouter.loginPage, replace: true); | ||
91 | + } | ||
87 | } | 92 | } |
88 | 93 | ||
89 | @override | 94 | @override | ... | ... |
1 | import 'package:flustars/flustars.dart'; | 1 | import 'package:flustars/flustars.dart'; |
2 | +import 'package:flutter/cupertino.dart'; | ||
2 | import 'package:flutter/foundation.dart'; | 3 | import 'package:flutter/foundation.dart'; |
3 | import 'package:flutter/gestures.dart'; | 4 | import 'package:flutter/gestures.dart'; |
4 | import 'package:flutter/material.dart'; | 5 | import 'package:flutter/material.dart'; |
... | @@ -40,6 +41,7 @@ class _LoginPageState extends State<LoginPage> | ... | @@ -40,6 +41,7 @@ class _LoginPageState extends State<LoginPage> |
40 | final FocusNode _nodeText1 = FocusNode(); | 41 | final FocusNode _nodeText1 = FocusNode(); |
41 | final FocusNode _nodeText2 = FocusNode(); | 42 | final FocusNode _nodeText2 = FocusNode(); |
42 | bool _clickable = false; | 43 | bool _clickable = false; |
44 | + bool isLogin = false; | ||
43 | 45 | ||
44 | @override | 46 | @override |
45 | Map<ChangeNotifier, List<VoidCallback>?>? changeNotifier() { | 47 | Map<ChangeNotifier, List<VoidCallback>?>? changeNotifier() { |
... | @@ -117,8 +119,13 @@ class _LoginPageState extends State<LoginPage> | ... | @@ -117,8 +119,13 @@ class _LoginPageState extends State<LoginPage> |
117 | } | 119 | } |
118 | 120 | ||
119 | void _login() { | 121 | void _login() { |
120 | - SpUtil.putString(Constant.phone, _nameController.text); | 122 | + isLogin = true; |
121 | - NavigatorUtils.push(context, Routes.home, clearStack: true); | 123 | + setState(() {}); |
124 | + Future.delayed(const Duration(seconds: 2), () { | ||
125 | + //TODO 接入接口后获得user token则表明登录成功 | ||
126 | + SpUtil.putString(Constant.userToken, "this is user token!"); | ||
127 | + NavigatorUtils.push(context, Routes.home, clearStack: true); | ||
128 | + }); | ||
122 | } | 129 | } |
123 | 130 | ||
124 | @override | 131 | @override |
... | @@ -131,11 +138,28 @@ class _LoginPageState extends State<LoginPage> | ... | @@ -131,11 +138,28 @@ class _LoginPageState extends State<LoginPage> |
131 | NavigatorUtils.push(context, LoginRouter.smsLoginPage); | 138 | NavigatorUtils.push(context, LoginRouter.smsLoginPage); |
132 | }, | 139 | }, |
133 | ), | 140 | ), |
134 | - body: MyScrollView( | 141 | + body: Stack( |
135 | - keyboardConfig: Utils.getKeyboardActionsConfig( | 142 | + children: [ |
136 | - context, <FocusNode>[_nodeText1, _nodeText2]), | 143 | + MyScrollView( |
137 | - padding: EdgeInsets.only(left: 16.px, right: 16.px, top: 20.px), | 144 | + keyboardConfig: Utils.getKeyboardActionsConfig(context, <FocusNode>[ |
138 | - children: _buildBody, | 145 | + _nodeText1, |
146 | + _nodeText2, | ||
147 | + ]), | ||
148 | + padding: EdgeInsets.only( | ||
149 | + left: 16.px, | ||
150 | + right: 16.px, | ||
151 | + top: 20.px, | ||
152 | + ), | ||
153 | + children: _buildBody, | ||
154 | + ), | ||
155 | + isLogin | ||
156 | + ? const Center( | ||
157 | + child: CupertinoActivityIndicator( | ||
158 | + radius: 16.0, | ||
159 | + ), | ||
160 | + ) | ||
161 | + : Container(), | ||
162 | + ], | ||
139 | ), | 163 | ), |
140 | ); | 164 | ); |
141 | } | 165 | } |
... | @@ -184,7 +208,7 @@ class _LoginPageState extends State<LoginPage> | ... | @@ -184,7 +208,7 @@ class _LoginPageState extends State<LoginPage> |
184 | })); | 208 | })); |
185 | }, | 209 | }, |
186 | ), | 210 | ), |
187 | - const TextSpan(text: '和'), | 211 | + const TextSpan(text: ' & '), |
188 | TextSpan( | 212 | TextSpan( |
189 | text: '《隐私政策》', | 213 | text: '《隐私政策》', |
190 | style: TextStyle(color: Theme.of(context).primaryColor), | 214 | style: TextStyle(color: Theme.of(context).primaryColor), | ... | ... |
... | @@ -23,4 +23,5 @@ class Constant { | ... | @@ -23,4 +23,5 @@ class Constant { |
23 | static const String theme = 'AppTheme'; | 23 | static const String theme = 'AppTheme'; |
24 | static const String locale = 'locale'; | 24 | static const String locale = 'locale'; |
25 | 25 | ||
26 | + static const String userToken = 'userToken'; | ||
26 | } | 27 | } | ... | ... |
... | @@ -11,8 +11,6 @@ import 'package:one_poem/widgets/my_app_bar.dart'; | ... | @@ -11,8 +11,6 @@ import 'package:one_poem/widgets/my_app_bar.dart'; |
11 | 11 | ||
12 | import '../setting_router.dart'; | 12 | import '../setting_router.dart'; |
13 | 13 | ||
14 | -import 'package:one_poem/extension/int_extension.dart'; | ||
15 | - | ||
16 | class SettingPage extends StatefulWidget { | 14 | class SettingPage extends StatefulWidget { |
17 | const SettingPage({Key? key}) : super(key: key); | 15 | const SettingPage({Key? key}) : super(key: key); |
18 | 16 | ... | ... |
1 | +import 'package:flustars/flustars.dart'; | ||
1 | import 'package:flutter/material.dart'; | 2 | import 'package:flutter/material.dart'; |
2 | import 'package:one_poem/login/login_router.dart'; | 3 | import 'package:one_poem/login/login_router.dart'; |
4 | +import 'package:one_poem/res/constant.dart'; | ||
3 | import 'package:one_poem/res/styles.dart'; | 5 | import 'package:one_poem/res/styles.dart'; |
4 | import 'package:one_poem/routers/fluro_navigator.dart'; | 6 | import 'package:one_poem/routers/fluro_navigator.dart'; |
5 | import 'package:one_poem/widgets/base_dialog.dart'; | 7 | import 'package:one_poem/widgets/base_dialog.dart'; |
... | @@ -25,6 +27,7 @@ class _ExitDialog extends State<ExitDialog> { | ... | @@ -25,6 +27,7 @@ class _ExitDialog extends State<ExitDialog> { |
25 | child: const Text('您确定要退出登录吗?', style: TextStyles.textSize16), | 27 | child: const Text('您确定要退出登录吗?', style: TextStyles.textSize16), |
26 | ), | 28 | ), |
27 | onPressed: () { | 29 | onPressed: () { |
30 | + SpUtil.remove(Constant.userToken); | ||
28 | NavigatorUtils.push(context, LoginRouter.loginPage, clearStack: true); | 31 | NavigatorUtils.push(context, LoginRouter.loginPage, clearStack: true); |
29 | }, | 32 | }, |
30 | ); | 33 | ); | ... | ... |
-
Please register or login to post a comment