Blame view

lib/pages/user/information/user_information_page.dart 4.84 KB
da82bd70   Key   feat: user_inform...
1
2
3
4
5
6
7
  import 'package:flutter/material.dart';
  import 'package:flutter_bloc/flutter_bloc.dart';
  import 'package:flutter_screenutil/flutter_screenutil.dart';
  import 'package:wow_english/common/core/assets_const.dart';
  import 'package:wow_english/common/core/user_util.dart';
  import 'package:wow_english/common/widgets/we_app_bar.dart';
  import 'package:wow_english/models/user_entity.dart';
49e626e9   Key   feat: log_util.dart
8
  import 'package:wow_english/pages/user/bloc/user_bloc.dart';
c948a9ea   liangchengyou   feat:个人信息更改模块功能
9
  import 'package:wow_english/route/route.dart';
da82bd70   Key   feat: user_inform...
10
  import 'package:wow_english/utils/image_util.dart';
c9df43c8   Key   feat: 修改个人信息、接口
11
  import 'package:wow_english/utils/log_util.dart';
da82bd70   Key   feat: user_inform...
12
  
49e626e9   Key   feat: log_util.dart
13
  import '../modify/modify_user_information_page.dart';
da82bd70   Key   feat: user_inform...
14
15
16
17
18
19
  
  class UserInformationPage extends StatelessWidget {
    const UserInformationPage({super.key});
  
    @override
    Widget build(BuildContext context) {
c948a9ea   liangchengyou   feat:个人信息更改模块功能
20
21
22
23
      return BlocBuilder<UserBloc, UserState>(
          builder: (context,state){
            return  _UserInformationContentView();
          });
da82bd70   Key   feat: user_inform...
24
25
26
    }
  }
  
da82bd70   Key   feat: user_inform...
27
28
  
  class _UserInformationContentView extends StatelessWidget {
da82bd70   Key   feat: user_inform...
29
  
c9df43c8   Key   feat: 修改个人信息、接口
30
31
    void _openModifyPage(BuildContext context, ModifyUserInformationType type) {
      Log.d('_openModifyPage($type)');
c948a9ea   liangchengyou   feat:个人信息更改模块功能
32
      ModifyUserInformationPage.push(context, type);
49e626e9   Key   feat: log_util.dart
33
34
    }
  
da82bd70   Key   feat: user_inform...
35
36
37
38
39
    @override
    Widget build(BuildContext context) {
      UserEntity user = UserUtil.getUser()!;
      return Scaffold(
        backgroundColor: Colors.white,
49e626e9   Key   feat: log_util.dart
40
41
42
        appBar: const WEAppBar(
          titleText: "个人信息",
        ),
da82bd70   Key   feat: user_inform...
43
44
45
46
        body: SingleChildScrollView(
          padding: EdgeInsets.only(left: 17.w, right: 17.w, top: 10.h, bottom: 22.h),
          child: Column(
            children: [
49e626e9   Key   feat: log_util.dart
47
              _buildContentRow(
da82bd70   Key   feat: user_inform...
48
49
50
                  '头像',
                  CircleAvatar(
                    radius: 22.5.r,
49e626e9   Key   feat: log_util.dart
51
                    backgroundColor: const Color(0xFF140C10),
da82bd70   Key   feat: user_inform...
52
53
54
55
                    child: CircleAvatar(
                      radius: 21.r,
                      backgroundImage: ImageUtil.getImageProviderOnDefault(user.avatarUrl),
                    ),
c948a9ea   liangchengyou   feat:个人信息更改模块功能
56
                  ),
b15fde72   liangchengyou   feat:头像上传功能完善逻辑
57
                onTap: () => pushNamed(AppRouteName.userAvatar,arguments: {'pageType':'1'})
c948a9ea   liangchengyou   feat:个人信息更改模块功能
58
              ),
da82bd70   Key   feat: user_inform...
59
              11.verticalSpace,
49e626e9   Key   feat: log_util.dart
60
              _buildContentRow(
da82bd70   Key   feat: user_inform...
61
62
63
64
65
66
67
68
                  '名字',
                  Text(
                    user.name,
                    style: TextStyle(
                      fontWeight: FontWeight.w500,
                      color: const Color(0xFF333333),
                      fontSize: 21.sp,
                    ),
49e626e9   Key   feat: log_util.dart
69
                  ),
c9df43c8   Key   feat: 修改个人信息、接口
70
                  onTap: () => _openModifyPage(context, ModifyUserInformationType.name)),
da82bd70   Key   feat: user_inform...
71
              11.verticalSpace,
49e626e9   Key   feat: log_util.dart
72
              _buildContentRow(
da82bd70   Key   feat: user_inform...
73
74
                  '年龄',
                  Text(
68dd7ba8   liangchengyou   feat:首页主题颜色+已知问题修改
75
                    (user.age??0).toString(),
da82bd70   Key   feat: user_inform...
76
77
78
79
80
                    style: TextStyle(
                      fontWeight: FontWeight.w500,
                      color: const Color(0xFF333333),
                      fontSize: 21.sp,
                    ),
23b46e8e   Key   feat: 修改个人信息性别
81
82
                  ),
                  onTap: () => _openModifyPage(context, ModifyUserInformationType.age)),
da82bd70   Key   feat: user_inform...
83
              11.verticalSpace,
49e626e9   Key   feat: log_util.dart
84
              _buildContentRow(
da82bd70   Key   feat: user_inform...
85
86
87
88
89
90
91
92
                  '性别',
                  Text(
                    user.getGenderString(),
                    style: TextStyle(
                      fontWeight: FontWeight.w500,
                      color: const Color(0xFF333333),
                      fontSize: 21.sp,
                    ),
23b46e8e   Key   feat: 修改个人信息性别
93
94
                  ),
                  onTap: () => _openModifyPage(context, ModifyUserInformationType.gender)),
da82bd70   Key   feat: user_inform...
95
              11.verticalSpace,
49e626e9   Key   feat: log_util.dart
96
              _buildContentRow(
da82bd70   Key   feat: user_inform...
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
                '账号',
                Text(
                  user.phoneNum,
                  style: TextStyle(
                    fontWeight: FontWeight.w500,
                    color: const Color(0xFF999999),
                    fontSize: 21.sp,
                  ),
                ),
                isHideEndIcon: true,
              ),
            ],
          ),
        ),
      );
    }
  
49e626e9   Key   feat: log_util.dart
114
    Widget _buildContentRow(String filedName, Widget contentWidget, {bool isHideEndIcon = false, Function()? onTap}) {
da82bd70   Key   feat: user_inform...
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
      return GestureDetector(
          onTap: onTap,
          child: Container(
            padding: EdgeInsets.only(left: 16.w, right: 16.w, top: 18.h, bottom: 18.h),
            decoration: BoxDecoration(
                image: DecorationImage(
                    image: ImageUtil.getImageProviderOnDefault(AssetsConst.bgUserInformationText), fit: BoxFit.fill)),
            child: Row(children: [
              Text(
                filedName,
                style: TextStyle(
                  fontWeight: FontWeight.w700,
                  color: const Color(0xFF999999),
                  fontSize: 21.sp,
                ),
              ),
              32.horizontalSpace,
              Expanded(
                  child: Container(
c948a9ea   liangchengyou   feat:个人信息更改模块功能
134
135
136
                    alignment: Alignment.centerLeft,
                    child: contentWidget,
                  )),
da82bd70   Key   feat: user_inform...
137
138
139
140
141
142
143
144
              Offstage(
                offstage: isHideEndIcon,
                child: Image.asset(AssetsConst.icNext, width: 20.w, height: 25.h),
              )
            ]),
          ));
    }
  }