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';
|
da82bd70
Key
feat: user_inform...
|
9
|
import 'package:wow_english/utils/image_util.dart';
|
c9df43c8
Key
feat: 修改个人信息、接口
|
10
|
import 'package:wow_english/utils/log_util.dart';
|
da82bd70
Key
feat: user_inform...
|
11
|
|
49e626e9
Key
feat: log_util.dart
|
12
|
import '../modify/modify_user_information_page.dart';
|
da82bd70
Key
feat: user_inform...
|
13
14
15
16
17
18
19
|
class UserInformationPage extends StatelessWidget {
const UserInformationPage({super.key});
@override
Widget build(BuildContext context) {
return BlocProvider(
|
49e626e9
Key
feat: log_util.dart
|
20
|
create: (context) => UserBloc(),
|
da82bd70
Key
feat: user_inform...
|
21
22
23
24
25
26
27
28
29
30
|
child: const _UserInformationView(),
);
}
}
class _UserInformationView extends StatelessWidget {
const _UserInformationView({super.key});
@override
Widget build(BuildContext context) {
|
49e626e9
Key
feat: log_util.dart
|
31
|
return BlocListener<UserBloc, UserState>(
|
c9df43c8
Key
feat: 修改个人信息、接口
|
32
33
34
|
listener: (context, state) {
Log.d('UserInformationPage: $state');
},
|
49e626e9
Key
feat: log_util.dart
|
35
|
child: BlocBuilder<UserBloc, UserState>(builder: (context, state) {
|
c9df43c8
Key
feat: 修改个人信息、接口
|
36
|
return _UserInformationContentView();
|
da82bd70
Key
feat: user_inform...
|
37
38
39
40
41
42
43
44
|
}),
);
}
}
class _UserInformationContentView extends StatelessWidget {
const _UserInformationContentView({super.key});
|
c9df43c8
Key
feat: 修改个人信息、接口
|
45
46
|
void _openModifyPage(BuildContext context, ModifyUserInformationType type) {
Log.d('_openModifyPage($type)');
|
01e73e19
Key
暂时关闭修改个人信息
|
47
48
|
// 暂时关闭修改,修复后打开
//ModifyUserInformationPage.push(context, type);
|
49e626e9
Key
feat: log_util.dart
|
49
50
|
}
|
da82bd70
Key
feat: user_inform...
|
51
52
53
54
55
|
@override
Widget build(BuildContext context) {
UserEntity user = UserUtil.getUser()!;
return Scaffold(
backgroundColor: Colors.white,
|
49e626e9
Key
feat: log_util.dart
|
56
57
58
|
appBar: const WEAppBar(
titleText: "个人信息",
),
|
da82bd70
Key
feat: user_inform...
|
59
60
61
62
|
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
|
63
|
_buildContentRow(
|
da82bd70
Key
feat: user_inform...
|
64
65
66
|
'头像',
CircleAvatar(
radius: 22.5.r,
|
49e626e9
Key
feat: log_util.dart
|
67
|
backgroundColor: const Color(0xFF140C10),
|
da82bd70
Key
feat: user_inform...
|
68
69
70
71
|
child: CircleAvatar(
radius: 21.r,
backgroundImage: ImageUtil.getImageProviderOnDefault(user.avatarUrl),
),
|
da82bd70
Key
feat: user_inform...
|
72
73
|
)),
11.verticalSpace,
|
49e626e9
Key
feat: log_util.dart
|
74
|
_buildContentRow(
|
da82bd70
Key
feat: user_inform...
|
75
76
77
78
79
80
81
82
|
'名字',
Text(
user.name,
style: TextStyle(
fontWeight: FontWeight.w500,
color: const Color(0xFF333333),
fontSize: 21.sp,
),
|
49e626e9
Key
feat: log_util.dart
|
83
|
),
|
c9df43c8
Key
feat: 修改个人信息、接口
|
84
|
onTap: () => _openModifyPage(context, ModifyUserInformationType.name)),
|
da82bd70
Key
feat: user_inform...
|
85
|
11.verticalSpace,
|
49e626e9
Key
feat: log_util.dart
|
86
|
_buildContentRow(
|
da82bd70
Key
feat: user_inform...
|
87
88
89
90
91
92
93
94
|
'年龄',
Text(
user.age.toString(),
style: TextStyle(
fontWeight: FontWeight.w500,
color: const Color(0xFF333333),
fontSize: 21.sp,
),
|
23b46e8e
Key
feat: 修改个人信息性别
|
95
96
|
),
onTap: () => _openModifyPage(context, ModifyUserInformationType.age)),
|
da82bd70
Key
feat: user_inform...
|
97
|
11.verticalSpace,
|
49e626e9
Key
feat: log_util.dart
|
98
|
_buildContentRow(
|
da82bd70
Key
feat: user_inform...
|
99
100
101
102
103
104
105
106
|
'性别',
Text(
user.getGenderString(),
style: TextStyle(
fontWeight: FontWeight.w500,
color: const Color(0xFF333333),
fontSize: 21.sp,
),
|
23b46e8e
Key
feat: 修改个人信息性别
|
107
108
|
),
onTap: () => _openModifyPage(context, ModifyUserInformationType.gender)),
|
da82bd70
Key
feat: user_inform...
|
109
|
11.verticalSpace,
|
49e626e9
Key
feat: log_util.dart
|
110
|
_buildContentRow(
|
da82bd70
Key
feat: user_inform...
|
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
'账号',
Text(
user.phoneNum,
style: TextStyle(
fontWeight: FontWeight.w500,
color: const Color(0xFF999999),
fontSize: 21.sp,
),
),
isHideEndIcon: true,
),
],
),
),
);
}
|
49e626e9
Key
feat: log_util.dart
|
128
|
Widget _buildContentRow(String filedName, Widget contentWidget, {bool isHideEndIcon = false, Function()? onTap}) {
|
da82bd70
Key
feat: user_inform...
|
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
|
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(
alignment: Alignment.centerLeft,
child: contentWidget,
)),
Offstage(
offstage: isHideEndIcon,
child: Image.asset(AssetsConst.icNext, width: 20.w, height: 25.h),
)
]),
));
}
}
|