Blame view

lib/pages/home/widgets/BaseHomeHeaderWidget.dart 4.9 KB
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
1
2
3
  import 'package:flutter/material.dart';
  import 'package:flutter_bloc/flutter_bloc.dart';
  import 'package:flutter_screenutil/flutter_screenutil.dart';
28f20da9   吴启风   feat:针对apple审核对支付...
4
  import 'package:wow_english/common/core/app_config_helper.dart';
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
5
  import 'package:wow_english/common/extension/string_extension.dart';
025d8543   biao   首页gametime播放修改
6
  import 'package:wow_english/utils/audio_player_util.dart';
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
7
8
9
10
11
12
13
  
  import '../../../common/core/user_util.dart';
  import '../../../models/course_entity.dart';
  import '../../../route/route.dart';
  import '../../../utils/image_util.dart';
  import '../../user/bloc/user_bloc.dart';
  
e6a08b82   biao   修复兑换之后回到首页不刷新问题;修...
14
15
  typedef HeaderCallback = void Function(dynamic);
  
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
16
  class BaseHomeHeaderWidget extends StatelessWidget {
e6a08b82   biao   修复兑换之后回到首页不刷新问题;修...
17
    const BaseHomeHeaderWidget({super.key, this.entity, this.callBack});
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
18
19
  
    final CourseEntity? entity;
e6a08b82   biao   修复兑换之后回到首页不刷新问题;修...
20
    final HeaderCallback? callBack;
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
  
    @override
    Widget build(BuildContext context) {
      return BlocBuilder<UserBloc, UserState>(
        builder: (context, state) {
          return Container(
              height: 45,
              width: double.infinity,
              decoration: BoxDecoration(
                image: DecorationImage(
                  image: AssetImage('bg_header_sliver'.assetPng),
                  fit: BoxFit.cover,
                ),
              ),
              padding: EdgeInsets.symmetric(horizontal: 9.5.w),
              child: Row(
                children: [
                  ScreenUtil().bottomBarHeight.horizontalSpace,
                  GestureDetector(
                    onTap: () => {onUserClick()},
                    child: Container(
                      decoration: BoxDecoration(
                        border: Border.all(
                          width: 1.0,
                          color: const Color(0xFF140C10),
                        ),
                        borderRadius: BorderRadius.circular(21),
                      ),
                      child: CircleAvatar(
                        radius: 21,
                        backgroundImage: ImageUtil.getImageProviderOnDefault(
                            UserUtil.getUser()?.avatarUrl),
                      ),
                    ),
                  ),
                  GestureDetector(
e6a08b82   biao   修复兑换之后回到首页不刷新问题;修...
57
                    onTap: () => {onUserClick()},
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
                    child: Container(
                      margin: const EdgeInsets.only(left: 7),
                      padding: const EdgeInsets.all(4.0),
                      decoration: BoxDecoration(
                        color: Colors.white,
                        borderRadius: BorderRadius.circular(2),
                        border: Border.all(
                            width: 1.0,
                            color: const Color(0xFF140C10),
                            style: BorderStyle.solid),
                      ),
                      child: Text(
                        UserUtil.getUser()?.name ?? '未登录',
                        style: TextStyle(
                            color: const Color(0xFF333333), fontSize: 16.sp),
                      ),
                    ),
                  ),
                  20.horizontalSpace,
                  const Expanded(
                      child: Text(
                    "WOW ENGLISH",
                    textAlign: TextAlign.left,
                    style: TextStyle(color: Colors.white, fontSize: 30.0),
                  )),
8d1f93b4   吴启风   feat:隐藏组件优化
83
                  Offstage(
ca0d27b6   吴启风   feat:会员有效期增加点击跳转&...
84
85
86
                      offstage: AppConfigHelper.shouldHidePay() ||
                          !UserUtil.isLogined(),
                      child: GestureDetector(
2d1ead53   吴启风   feat:背景音播放优化
87
88
                        onTap: () async => {
                          await AudioPlayerUtil.getInstance().pause(),
e6a08b82   biao   修复兑换之后回到首页不刷新问题;修...
89
90
91
92
93
94
95
96
                          pushNamed(AppRouteName.shop).then((value) {
                            if (value != null) {
                              if (callBack == null) {
                              } else {
                                callBack!(value);
                              }
                            }
                          })
ca0d27b6   吴启风   feat:会员有效期增加点击跳转&...
97
                        },
e6a08b82   biao   修复兑换之后回到首页不刷新问题;修...
98
                        child: Row(children: <Widget>[
ca0d27b6   吴启风   feat:会员有效期增加点击跳转&...
99
100
101
102
103
104
105
                          Image(
                              width: 20.0.w,
                              height: 20.0.h,
                              image: AssetImage('ic_countdown'.assetPng)),
                          // 替换为你的图片资源路径
                          const SizedBox(width: 6.0),
                          // 图片和文本之间的间隔
e6a08b82   biao   修复兑换之后回到首页不刷新问题;修...
106
107
                          UserUtil.hasPermission()
                              ? Text('还剩${UserUtil.getRemainingValidity()}天')
64501762   biao   修复 忘记密码时可以输入手机号
108
                              : const Text('未购买'),
ca0d27b6   吴启风   feat:会员有效期增加点击跳转&...
109
110
                        ]),
                      )),
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
111
112
113
114
115
116
                  ScreenUtil().bottomBarHeight.horizontalSpace,
                ],
              ));
        },
      );
    }
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
117
  
2d1ead53   吴启风   feat:背景音播放优化
118
    Future<void> onUserClick() async {
e6a08b82   biao   修复兑换之后回到首页不刷新问题;修...
119
      if (UserUtil.isLogined()) {
2d1ead53   吴启风   feat:背景音播放优化
120
        await AudioPlayerUtil.getInstance().pause();
e6a08b82   biao   修复兑换之后回到首页不刷新问题;修...
121
122
123
124
125
126
127
128
129
130
131
        pushNamed(AppRouteName.user).then((value) {
          if (value != null) {
            if (callBack == null) {
            } else {
              callBack!(value);
            }
          }
        });
      } else {
        pushNamed(AppRouteName.login);
      }
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
132
133
    }
  }