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