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 | ) |