Showing
5 changed files
with
39 additions
and
8 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,8 +84,12 @@ class _SplashPageState extends State<SplashPage> { | ... | @@ -83,8 +84,12 @@ class _SplashPageState extends State<SplashPage> { |
| 83 | } | 84 | } |
| 84 | 85 | ||
| 85 | void _goLogin() { | 86 | void _goLogin() { |
| 87 | + if (SpUtil.containsKey(Constant.userToken)!) { | ||
| 88 | + NavigatorUtils.push(context, Routes.home, clearStack: true); | ||
| 89 | + } else { | ||
| 86 | NavigatorUtils.push(context, LoginRouter.loginPage, replace: true); | 90 | NavigatorUtils.push(context, LoginRouter.loginPage, replace: true); |
| 87 | } | 91 | } |
| 92 | + } | ||
| 88 | 93 | ||
| 89 | @override | 94 | @override |
| 90 | Widget build(BuildContext context) { | 95 | Widget build(BuildContext context) { | ... | ... |
| 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; |
| 123 | + setState(() {}); | ||
| 124 | + Future.delayed(const Duration(seconds: 2), () { | ||
| 125 | + //TODO 接入接口后获得user token则表明登录成功 | ||
| 126 | + SpUtil.putString(Constant.userToken, "this is user token!"); | ||
| 121 | NavigatorUtils.push(context, Routes.home, clearStack: true); | 127 | NavigatorUtils.push(context, Routes.home, clearStack: true); |
| 128 | + }); | ||
| 122 | } | 129 | } |
| 123 | 130 | ||
| 124 | @override | 131 | @override |
| ... | @@ -131,12 +138,29 @@ class _LoginPageState extends State<LoginPage> | ... | @@ -131,12 +138,29 @@ 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>[ |
| 145 | + _nodeText1, | ||
| 146 | + _nodeText2, | ||
| 147 | + ]), | ||
| 148 | + padding: EdgeInsets.only( | ||
| 149 | + left: 16.px, | ||
| 150 | + right: 16.px, | ||
| 151 | + top: 20.px, | ||
| 152 | + ), | ||
| 138 | children: _buildBody, | 153 | children: _buildBody, |
| 139 | ), | 154 | ), |
| 155 | + isLogin | ||
| 156 | + ? const Center( | ||
| 157 | + child: CupertinoActivityIndicator( | ||
| 158 | + radius: 16.0, | ||
| 159 | + ), | ||
| 160 | + ) | ||
| 161 | + : Container(), | ||
| 162 | + ], | ||
| 163 | + ), | ||
| 140 | ); | 164 | ); |
| 141 | } | 165 | } |
| 142 | 166 | ||
| ... | @@ -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