Commit ecfd79f51e57adf4adef7aa416215878c365d1a0
1 parent
64501762
恢复 发送验证码按钮可点击控制
Showing
3 changed files
with
32 additions
and
1 deletions
lib/pages/login/forgetpwd/bloc/forget_pwd_home_bloc.dart
@@ -14,6 +14,8 @@ part 'forget_pwd_home_state.dart'; | @@ -14,6 +14,8 @@ part 'forget_pwd_home_state.dart'; | ||
14 | 14 | ||
15 | class ForgetPwdHomeBloc extends Bloc<ForgetPwdHomeEvent, ForgetPwdHomeState> { | 15 | class ForgetPwdHomeBloc extends Bloc<ForgetPwdHomeEvent, ForgetPwdHomeState> { |
16 | bool _canSetPwd = false; | 16 | bool _canSetPwd = false; |
17 | + bool _canSendSms = false; | ||
18 | + bool get canSendSms => _canSendSms; | ||
17 | 19 | ||
18 | bool get canSetPwd => _canSetPwd; | 20 | bool get canSetPwd => _canSetPwd; |
19 | bool get enableInputPhone { | 21 | bool get enableInputPhone { |
@@ -31,6 +33,24 @@ class ForgetPwdHomeBloc extends Bloc<ForgetPwdHomeEvent, ForgetPwdHomeState> { | @@ -31,6 +33,24 @@ class ForgetPwdHomeBloc extends Bloc<ForgetPwdHomeEvent, ForgetPwdHomeState> { | ||
31 | on<CheckCodeChangeEvent>(_changeCodeNumber); | 33 | on<CheckCodeChangeEvent>(_changeCodeNumber); |
32 | on<SetPassWordEvent>(_setPassWord); | 34 | on<SetPassWordEvent>(_setPassWord); |
33 | on<SendSmsCodeEvent>(_sendSmsCode); | 35 | on<SendSmsCodeEvent>(_sendSmsCode); |
36 | + on<PhoneNumChangeEvent>(_changePhoneNumber); | ||
37 | + } | ||
38 | + | ||
39 | + void _changePhoneNumber( | ||
40 | + PhoneNumChangeEvent event, Emitter<ForgetPwdHomeState> emitter) async { | ||
41 | + if (phoneNumController.text.isNotEmpty) { | ||
42 | + if (!_canSendSms) { | ||
43 | + _canSendSms = true; | ||
44 | + emitter(SendSmsCodeTypeChangeState()); | ||
45 | + emitter(SetPwdTypeChangeState()); | ||
46 | + } | ||
47 | + } else { | ||
48 | + if (_canSendSms) { | ||
49 | + _canSendSms = false; | ||
50 | + emitter(SendSmsCodeTypeChangeState()); | ||
51 | + emitter(SetPwdTypeChangeState()); | ||
52 | + } | ||
53 | + } | ||
34 | } | 54 | } |
35 | 55 | ||
36 | void _changeCodeNumber( | 56 | void _changeCodeNumber( |
lib/pages/login/forgetpwd/bloc/forget_pwd_home_event.dart
@@ -8,3 +8,5 @@ class CheckCodeChangeEvent extends ForgetPwdHomeEvent {} | @@ -8,3 +8,5 @@ class CheckCodeChangeEvent extends ForgetPwdHomeEvent {} | ||
8 | class SetPassWordEvent extends ForgetPwdHomeEvent {} | 8 | class SetPassWordEvent extends ForgetPwdHomeEvent {} |
9 | 9 | ||
10 | class SendSmsCodeEvent extends ForgetPwdHomeEvent {} | 10 | class SendSmsCodeEvent extends ForgetPwdHomeEvent {} |
11 | + | ||
12 | +class PhoneNumChangeEvent extends ForgetPwdHomeEvent {} |
lib/pages/login/forgetpwd/forget_password_home_page.dart
@@ -31,6 +31,10 @@ class _ForgetPasswordHomePageView extends StatelessWidget { | @@ -31,6 +31,10 @@ class _ForgetPasswordHomePageView extends StatelessWidget { | ||
31 | var bloc = context.read<ForgetPwdHomeBloc>(); | 31 | var bloc = context.read<ForgetPwdHomeBloc>(); |
32 | var phoneNum = bloc.phoneNumController.text; | 32 | var phoneNum = bloc.phoneNumController.text; |
33 | var smsCode = bloc.checkNumController.text; | 33 | var smsCode = bloc.checkNumController.text; |
34 | + if (phoneNum.isEmpty) { | ||
35 | + '请输入手机号'.toast(); | ||
36 | + return; | ||
37 | + } | ||
34 | if (smsCode.isEmpty) { | 38 | if (smsCode.isEmpty) { |
35 | '请输入验证码'.toast(); | 39 | '请输入验证码'.toast(); |
36 | return; | 40 | return; |
@@ -106,6 +110,9 @@ class _ForgetPasswordHomePageView extends StatelessWidget { | @@ -106,6 +110,9 @@ class _ForgetPasswordHomePageView extends StatelessWidget { | ||
106 | textInputType: TextInputType.phone, | 110 | textInputType: TextInputType.phone, |
107 | bgImageName: 'Input_layer_up', | 111 | bgImageName: 'Input_layer_up', |
108 | enabel: bloc.enableInputPhone, | 112 | enabel: bloc.enableInputPhone, |
113 | + onChangeValue: (String value) { | ||
114 | + bloc.add(PhoneNumChangeEvent()); | ||
115 | + }, | ||
109 | controller: bloc.phoneNumController, | 116 | controller: bloc.phoneNumController, |
110 | )) | 117 | )) |
111 | ], | 118 | ], |
@@ -134,7 +141,9 @@ class _ForgetPasswordHomePageView extends StatelessWidget { | @@ -134,7 +141,9 @@ class _ForgetPasswordHomePageView extends StatelessWidget { | ||
134 | 16.5.horizontalSpace, | 141 | 16.5.horizontalSpace, |
135 | TimerWidget( | 142 | TimerWidget( |
136 | pageType: 1, | 143 | pageType: 1, |
137 | - canSendSms: true, | 144 | + canSendSms: bloc.enableInputPhone |
145 | + ? bloc.canSendSms | ||
146 | + : true, | ||
138 | sendSmsEvent: () => | 147 | sendSmsEvent: () => |
139 | bloc.add(SendSmsCodeEvent()), | 148 | bloc.add(SendSmsCodeEvent()), |
140 | ) | 149 | ) |