Commit ecfd79f51e57adf4adef7aa416215878c365d1a0

Authored by biao
1 parent 64501762

恢复 发送验证码按钮可点击控制

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&lt;ForgetPwdHomeEvent, ForgetPwdHomeState&gt; {
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
... ... @@ -8,3 +8,5 @@ class CheckCodeChangeEvent extends ForgetPwdHomeEvent {}
8 8 class SetPassWordEvent extends ForgetPwdHomeEvent {}
9 9  
10 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 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 )
... ...