start_page.dart 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import 'package:flutter/material.dart';
  2. import 'util/api.dart';
  3. import 'util/util.dart';
  4. import 'util/session.dart';
  5. import 'util/models.dart';
  6. import 'login_page.dart';
  7. import 'home_page.dart';
  8. class StartPage extends StatefulWidget {
  9. final Widget child;
  10. StartPage({
  11. Key key,
  12. this.child
  13. }): super(key: key);
  14. _StartPageState createState() => _StartPageState();
  15. }
  16. class _StartPageState extends State < StartPage > {
  17. @override
  18. void initState() {
  19. super.initState();
  20. getKey('token').then((token) {
  21. print(token);
  22. if (token != null) {
  23. print('token存在去验证token');
  24. checkToken(token).then((resp) {
  25. if (isNotError(context, resp)) {
  26. print('获得toekn,跳转主页');
  27. CheckToken token = CheckToken.fromJson(resp.data);
  28. setKey('token', token.data);
  29. Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) {
  30. return HomePage();
  31. }));
  32. } else {
  33. print('token错误,跳登录页');
  34. Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) {
  35. return LoginPage();
  36. }));
  37. }
  38. });
  39. } else {
  40. print('token不存在跳转登录页');
  41. Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) {
  42. return LoginPage();
  43. }));
  44. }
  45. });
  46. }
  47. @override
  48. Widget build(BuildContext context) {
  49. return Container(
  50. child: Container(
  51. child: Image.asset(
  52. "lib/images/start_page.png", //本地图片路径必须和配置文件的图片路径一致
  53. fit: BoxFit.cover
  54. )
  55. ),
  56. );
  57. }
  58. }