Blame view

lib/pages/home/widgets/BaseHomeHeaderWidget.dart 4.12 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
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
  import 'package:wow_english/common/extension/string_extension.dart';
  
  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';
  
  class BaseHomeHeaderWidget extends StatelessWidget {
    const BaseHomeHeaderWidget({super.key, this.entity});
  
    final CourseEntity? entity;
  
    @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(
                    onTap: () {
                      onUserClick();
                    },
                    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:隐藏组件优化
81
                  Offstage(
ca0d27b6   吴启风   feat:会员有效期增加点击跳转&...
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
                      offstage: AppConfigHelper.shouldHidePay() ||
                          !UserUtil.isLogined(),
                      child: GestureDetector(
                        onTap: () => {
                          pushNamed(AppRouteName.shop),
                        },
                        child: Row(
                            children: <Widget>[
                          Image(
                              width: 20.0.w,
                              height: 20.0.h,
                              image: AssetImage('ic_countdown'.assetPng)),
                          // 替换为你的图片资源路径
                          const SizedBox(width: 6.0),
                          // 图片和文本之间的间隔
                          Text('还剩${UserUtil.getRemainingValidity()}天'),
                        ]),
                      )),
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
100
101
102
103
104
105
106
107
108
                  ScreenUtil().bottomBarHeight.horizontalSpace,
                ],
              ));
        },
      );
    }
  }
  
  void onUserClick() {
278208b8   吴启风   feat:1、用户访问权限调整;2...
109
    if (UserUtil.isLogined()) {
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
110
      pushNamed(AppRouteName.user);
278208b8   吴启风   feat:1、用户访问权限调整;2...
111
112
    } else {
      pushNamed(AppRouteName.login);
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
113
114
    }
  }