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 | 14 | |
| 15 | 15 | class ForgetPwdHomeBloc extends Bloc<ForgetPwdHomeEvent, ForgetPwdHomeState> { |
| 16 | 16 | bool _canSetPwd = false; |
| 17 | + bool _canSendSms = false; | |
| 18 | + bool get canSendSms => _canSendSms; | |
| 17 | 19 | |
| 18 | 20 | bool get canSetPwd => _canSetPwd; |
| 19 | 21 | bool get enableInputPhone { |
| ... | ... | @@ -31,6 +33,24 @@ class ForgetPwdHomeBloc extends Bloc<ForgetPwdHomeEvent, ForgetPwdHomeState> { |
| 31 | 33 | on<CheckCodeChangeEvent>(_changeCodeNumber); |
| 32 | 34 | on<SetPassWordEvent>(_setPassWord); |
| 33 | 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 | 56 | void _changeCodeNumber( | ... | ... |
lib/pages/login/forgetpwd/bloc/forget_pwd_home_event.dart
lib/pages/login/forgetpwd/forget_password_home_page.dart
| ... | ... | @@ -31,6 +31,10 @@ class _ForgetPasswordHomePageView extends StatelessWidget { |
| 31 | 31 | var bloc = context.read<ForgetPwdHomeBloc>(); |
| 32 | 32 | var phoneNum = bloc.phoneNumController.text; |
| 33 | 33 | var smsCode = bloc.checkNumController.text; |
| 34 | + if (phoneNum.isEmpty) { | |
| 35 | + '请输入手机号'.toast(); | |
| 36 | + return; | |
| 37 | + } | |
| 34 | 38 | if (smsCode.isEmpty) { |
| 35 | 39 | '请输入验证码'.toast(); |
| 36 | 40 | return; |
| ... | ... | @@ -106,6 +110,9 @@ class _ForgetPasswordHomePageView extends StatelessWidget { |
| 106 | 110 | textInputType: TextInputType.phone, |
| 107 | 111 | bgImageName: 'Input_layer_up', |
| 108 | 112 | enabel: bloc.enableInputPhone, |
| 113 | + onChangeValue: (String value) { | |
| 114 | + bloc.add(PhoneNumChangeEvent()); | |
| 115 | + }, | |
| 109 | 116 | controller: bloc.phoneNumController, |
| 110 | 117 | )) |
| 111 | 118 | ], |
| ... | ... | @@ -134,7 +141,9 @@ class _ForgetPasswordHomePageView extends StatelessWidget { |
| 134 | 141 | 16.5.horizontalSpace, |
| 135 | 142 | TimerWidget( |
| 136 | 143 | pageType: 1, |
| 137 | - canSendSms: true, | |
| 144 | + canSendSms: bloc.enableInputPhone | |
| 145 | + ? bloc.canSendSms | |
| 146 | + : true, | |
| 138 | 147 | sendSmsEvent: () => |
| 139 | 148 | bloc.add(SendSmsCodeEvent()), |
| 140 | 149 | ) | ... | ... |