Blame view

lib/app/splash_page.dart 1.92 KB
062f0df2   liangchengyou   feat:登录模块代码提交
1
2
  import 'dart:async';
  
1892df31   Key   优化接口调用
3
  import 'package:flutter/foundation.dart';
2a29701f   liangchengyou   feat:提交代码
4
  import 'package:flutter/material.dart';
94342c3f   Key   feat: user util
5
6
  import 'package:flutter_bloc/flutter_bloc.dart';
  import 'package:wow_english/common/core/user_util.dart';
062f0df2   liangchengyou   feat:登录模块代码提交
7
  import 'package:wow_english/common/extension/string_extension.dart';
94342c3f   Key   feat: user util
8
  import 'package:wow_english/models/user_entity.dart';
2a29701f   liangchengyou   feat:提交代码
9
  import 'package:wow_english/route/route.dart';
94342c3f   Key   feat: user util
10
  import 'package:wow_english/utils/sp_util.dart';
062f0df2   liangchengyou   feat:登录模块代码提交
11
  
94342c3f   Key   feat: user util
12
  import '../common/blocs/cachebloc/cache_bloc.dart';
2a29701f   liangchengyou   feat:提交代码
13
  
a117a5a3   liangchengyou   feat:更新代码
14
15
  class SplashPage extends StatelessWidget {
    const SplashPage({super.key});
2a29701f   liangchengyou   feat:提交代码
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
  
    @override
    Widget build(BuildContext context) {
      return const TransitionView();
    }
  }
  
  class TransitionView extends StatefulWidget {
    const TransitionView({super.key});
  
    @override
    State<StatefulWidget> createState() {
      return _TransitionViewState();
    }
  }
  
  class _TransitionViewState extends State<TransitionView> {
062f0df2   liangchengyou   feat:登录模块代码提交
33
    Future startTime() async {
94342c3f   Key   feat: user util
34
35
      // 判断是否登录
      UserEntity? userEntity = UserUtil.getUser();
1892df31   Key   优化接口调用
36
37
38
      if (kDebugMode) {
        print('userEntity: $userEntity');
      }
94342c3f   Key   feat: user util
39
40
41
      Timer(const Duration(seconds: 2), () {
        if (userEntity != null && userEntity.token.isNotEmpty) {
          context.read<CacheBloc>().add(UserInfoChangeEvent(userEntity));
d35a4e87   liangchengyou   feat:磨耳朵功能UI
42
          Navigator.of(context).pushNamedAndRemoveUntil(AppRouteName.home, (route) => false);
062f0df2   liangchengyou   feat:登录模块代码提交
43
        } else {
94342c3f   Key   feat: user util
44
          Navigator.of(context).pushNamedAndRemoveUntil(AppRouteName.login, (route) => false);
062f0df2   liangchengyou   feat:登录模块代码提交
45
46
47
48
49
50
51
        }
      });
    }
  
    @override
    void initState() {
      super.initState();
089ccd5c   Key   fixed: user util ...
52
53
54
55
56
      init();
    }
  
    void init() async {
      await SpUtil.preInit();
062f0df2   liangchengyou   feat:登录模块代码提交
57
58
59
      startTime();
    }
  
2a29701f   liangchengyou   feat:提交代码
60
61
62
    @override
    Widget build(BuildContext context) {
      return Scaffold(
2a29701f   liangchengyou   feat:提交代码
63
        body: Center(
062f0df2   liangchengyou   feat:登录模块代码提交
64
65
66
67
          child: Container(
            decoration: BoxDecoration(
                image: DecorationImage(
                    image: AssetImage(
1d5315dd   liangchengyou   feat:添加字体,调整文件结构
68
                      'splash'.assetGif,
062f0df2   liangchengyou   feat:登录模块代码提交
69
                    ),
94342c3f   Key   feat: user util
70
                    fit: BoxFit.fill)),
2a29701f   liangchengyou   feat:提交代码
71
72
73
74
          ),
        ),
      );
    }
056970d8   Key   feat: api
75
  }