From ecfd79f51e57adf4adef7aa416215878c365d1a0 Mon Sep 17 00:00:00 2001 From: biao <> Date: Tue, 18 Jun 2024 15:40:04 +0800 Subject: [PATCH] 恢复 发送验证码按钮可点击控制 --- lib/pages/login/forgetpwd/bloc/forget_pwd_home_bloc.dart | 20 ++++++++++++++++++++ lib/pages/login/forgetpwd/bloc/forget_pwd_home_event.dart | 2 ++ lib/pages/login/forgetpwd/forget_password_home_page.dart | 11 ++++++++++- 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/lib/pages/login/forgetpwd/bloc/forget_pwd_home_bloc.dart b/lib/pages/login/forgetpwd/bloc/forget_pwd_home_bloc.dart index 2f72e58..0c71f63 100644 --- a/lib/pages/login/forgetpwd/bloc/forget_pwd_home_bloc.dart +++ b/lib/pages/login/forgetpwd/bloc/forget_pwd_home_bloc.dart @@ -14,6 +14,8 @@ part 'forget_pwd_home_state.dart'; class ForgetPwdHomeBloc extends Bloc { bool _canSetPwd = false; + bool _canSendSms = false; + bool get canSendSms => _canSendSms; bool get canSetPwd => _canSetPwd; bool get enableInputPhone { @@ -31,6 +33,24 @@ class ForgetPwdHomeBloc extends Bloc { on(_changeCodeNumber); on(_setPassWord); on(_sendSmsCode); + on(_changePhoneNumber); + } + + void _changePhoneNumber( + PhoneNumChangeEvent event, Emitter emitter) async { + if (phoneNumController.text.isNotEmpty) { + if (!_canSendSms) { + _canSendSms = true; + emitter(SendSmsCodeTypeChangeState()); + emitter(SetPwdTypeChangeState()); + } + } else { + if (_canSendSms) { + _canSendSms = false; + emitter(SendSmsCodeTypeChangeState()); + emitter(SetPwdTypeChangeState()); + } + } } void _changeCodeNumber( diff --git a/lib/pages/login/forgetpwd/bloc/forget_pwd_home_event.dart b/lib/pages/login/forgetpwd/bloc/forget_pwd_home_event.dart index eb85784..e9deb00 100644 --- a/lib/pages/login/forgetpwd/bloc/forget_pwd_home_event.dart +++ b/lib/pages/login/forgetpwd/bloc/forget_pwd_home_event.dart @@ -8,3 +8,5 @@ class CheckCodeChangeEvent extends ForgetPwdHomeEvent {} class SetPassWordEvent extends ForgetPwdHomeEvent {} class SendSmsCodeEvent extends ForgetPwdHomeEvent {} + +class PhoneNumChangeEvent extends ForgetPwdHomeEvent {} diff --git a/lib/pages/login/forgetpwd/forget_password_home_page.dart b/lib/pages/login/forgetpwd/forget_password_home_page.dart index 8592ba9..2d0a913 100644 --- a/lib/pages/login/forgetpwd/forget_password_home_page.dart +++ b/lib/pages/login/forgetpwd/forget_password_home_page.dart @@ -31,6 +31,10 @@ class _ForgetPasswordHomePageView extends StatelessWidget { var bloc = context.read(); var phoneNum = bloc.phoneNumController.text; var smsCode = bloc.checkNumController.text; + if (phoneNum.isEmpty) { + '请输入手机号'.toast(); + return; + } if (smsCode.isEmpty) { '请输入验证码'.toast(); return; @@ -106,6 +110,9 @@ class _ForgetPasswordHomePageView extends StatelessWidget { textInputType: TextInputType.phone, bgImageName: 'Input_layer_up', enabel: bloc.enableInputPhone, + onChangeValue: (String value) { + bloc.add(PhoneNumChangeEvent()); + }, controller: bloc.phoneNumController, )) ], @@ -134,7 +141,9 @@ class _ForgetPasswordHomePageView extends StatelessWidget { 16.5.horizontalSpace, TimerWidget( pageType: 1, - canSendSms: true, + canSendSms: bloc.enableInputPhone + ? bloc.canSendSms + : true, sendSmsEvent: () => bloc.add(SendSmsCodeEvent()), ) -- libgit2 0.22.2