From bf4e40cdf60c2a2fd8a486051a1ddac2daefef62 Mon Sep 17 00:00:00 2001 From: Linjiajia <319408893@qq.com> Date: 星期二, 28 三月 2023 19:00:24 +0800 Subject: [PATCH] 家大事记完善 --- app/src/main/java/com/application/zhangshi_app_android/ui/login/LoginActivityViewModel.java | 205 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 205 insertions(+), 0 deletions(-) diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/login/LoginActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/login/LoginActivityViewModel.java index 8306c41..74b66c9 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/ui/login/LoginActivityViewModel.java +++ b/app/src/main/java/com/application/zhangshi_app_android/ui/login/LoginActivityViewModel.java @@ -1,11 +1,30 @@ package com.application.zhangshi_app_android.ui.login; +import static com.android.app_base.base.BaseConfig.CODE_SUCCESS; + import android.app.Application; +import android.text.TextUtils; import androidx.annotation.NonNull; +import androidx.lifecycle.MutableLiveData; +import com.android.app_base.base.StateViewEnum; import com.android.app_base.base.viewmodel.BaseViewModel; +import com.android.app_base.http.ResultData; +import com.android.app_base.manager.AppManager; +import com.android.app_base.manager.UserManager; +import com.android.app_base.utils.RxUtils; +import com.android.app_base.utils.ToastUtils; +import com.application.zhangshi_app_android.bean.CaptchaImageBean; +import com.application.zhangshi_app_android.bean.LoginRequestBean; +import com.application.zhangshi_app_android.bean.LoginResponseBean; import com.application.zhangshi_app_android.data.DataRepository; +import com.application.zhangshi_app_android.ui.main.MainActivity; + +import java.util.Objects; + +import io.reactivex.Observer; +import io.reactivex.disposables.Disposable; /** * @author Ljj @@ -13,12 +32,198 @@ * @desc 鐧诲綍娉ㄥ唽ViewModel */ public class LoginActivityViewModel extends BaseViewModel<DataRepository> { + private MutableLiveData<CaptchaImageBean> captchaImageLiveData = new MutableLiveData<>(); + private MutableLiveData<String> username = new MutableLiveData<>(); + private MutableLiveData<String> password = new MutableLiveData<>(); + private MutableLiveData<String> againPassword = new MutableLiveData<>(); + private MutableLiveData<Boolean> passwordVisibility = new MutableLiveData<>(); + private MutableLiveData<Boolean> againPasswordVisibility = new MutableLiveData<>(); + + private MutableLiveData<String> value = new MutableLiveData<>(); public LoginActivityViewModel(@NonNull Application application) { super(application); + passwordVisibility.postValue(true); + againPasswordVisibility.postValue(true); } @Override protected DataRepository initModel() { return DataRepository.getInstance(); } + + public void getCaptchaImage(){ + model.getCaptchaImage() + .compose(RxUtils.schedulersTransformer()) + .subscribe(new Observer<ResultData<CaptchaImageBean>>() { + @Override + public void onSubscribe(Disposable d) { + addSubscribe(d); + } + + @Override + public void onNext(ResultData<CaptchaImageBean> captchaImageBeanResultData) { + if (captchaImageBeanResultData.getCode() == CODE_SUCCESS){ + captchaImageLiveData.postValue(captchaImageBeanResultData.getData()); + }else { + changeStateView(StateViewEnum.DATA_ERROR); + messageLiveData.postValue(captchaImageBeanResultData.getMsg()); + } + } + + @Override + public void onError(Throwable e) { + messageLiveData.postValue(e.getMessage()); + } + + @Override + public void onComplete() { + + } + }); + } + + public void login(){ + if (TextUtils.isEmpty(username.getValue()) || TextUtils.isEmpty(password.getValue())||TextUtils.isEmpty(password.getValue())){ + ToastUtils.showShort("璇疯緭鍏ヨ处鍙峰瘑鐮�"); + return; + } + if (TextUtils.isEmpty(value.getValue())){ + ToastUtils.showShort("璇疯緭鍏ラ獙璇佺爜"); + return; + } + if (captchaImageLiveData.getValue() != null){ + model.login(new LoginRequestBean(username.getValue(),password.getValue(),captchaImageLiveData.getValue().getValue(),captchaImageLiveData.getValue().getUuid())) + .compose(RxUtils.schedulersTransformer()) + .subscribe(new Observer<ResultData<LoginResponseBean>>() { + @Override + public void onSubscribe(Disposable d) { + addSubscribe(d); + } + + @Override + public void onNext(ResultData<LoginResponseBean> loginResponseBeanResultData) { + if (loginResponseBeanResultData.getCode() == CODE_SUCCESS){ + String token = loginResponseBeanResultData.getData().getToken(); + UserManager.getInstance().setToken(token); + ToastUtils.showShort("鐧婚檰鎴愬姛"); + AppManager.getAppManager().startActivity(MainActivity.class); + }else { + changeStateView(StateViewEnum.DATA_ERROR); + messageLiveData.postValue(loginResponseBeanResultData.getMsg()); + } + } + + @Override + public void onError(Throwable e) { + messageLiveData.postValue(e.getMessage()); + } + + @Override + public void onComplete() { + + } + }); + } + } + public void register(){ + if (TextUtils.isEmpty(username.getValue()) || TextUtils.isEmpty(password.getValue())||TextUtils.isEmpty(password.getValue())){ + ToastUtils.showShort("璇疯緭鍏ヨ处鍙峰瘑鐮�"); + return; + } + if (TextUtils.isEmpty(value.getValue())){ + ToastUtils.showShort("璇疯緭鍏ラ獙璇佺爜"); + return; + } + if (!Objects.equals(password.getValue(), againPassword.getValue())){ + ToastUtils.showShort("涓ゆ瀵嗙爜杈撳叆涓嶄竴鑷�"); + return; + } + if (captchaImageLiveData.getValue() != null){ + model.register(new LoginRequestBean(username.getValue(),password.getValue(),captchaImageLiveData.getValue().getValue(),captchaImageLiveData.getValue().getUuid())) + .compose(RxUtils.schedulersTransformer()) + .subscribe(new Observer<ResultData<String>>() { + @Override + public void onSubscribe(Disposable d) { + addSubscribe(d); + } + + @Override + public void onNext(ResultData<String> stringResultData) { + if (stringResultData.getCode() == CODE_SUCCESS){ + ToastUtils.showShort("娉ㄥ唽鎴愬姛"); + AppManager.getAppManager().finishCurrentActivity(); + }else { + changeStateView(StateViewEnum.DATA_ERROR); + messageLiveData.postValue(stringResultData.getMsg()); + } + } + + @Override + public void onError(Throwable e) { + messageLiveData.postValue(e.getMessage()); + } + + @Override + public void onComplete() { + + } + }); + } + } + + public MutableLiveData<CaptchaImageBean> getCaptchaImageLiveData() { + return captchaImageLiveData; + } + + public void setCaptchaImageLiveData(MutableLiveData<CaptchaImageBean> captchaImageLiveData) { + this.captchaImageLiveData = captchaImageLiveData; + } + + public MutableLiveData<String> getUsername() { + return username; + } + + public void setUsername(MutableLiveData<String> username) { + this.username = username; + } + + public MutableLiveData<String> getPassword() { + return password; + } + + public MutableLiveData<String> getAgainPassword() { + return againPassword; + } + + public void setAgainPassword(MutableLiveData<String> againPassword) { + this.againPassword = againPassword; + } + + public void setPassword(MutableLiveData<String> password) { + this.password = password; + } + + public MutableLiveData<Boolean> getPasswordVisibility() { + return passwordVisibility; + } + + public void setPasswordVisibility(MutableLiveData<Boolean> passwordVisibility) { + this.passwordVisibility = passwordVisibility; + } + + public MutableLiveData<Boolean> getAgainPasswordVisibility() { + return againPasswordVisibility; + } + + public void setAgainPasswordVisibility(MutableLiveData<Boolean> againPasswordVisibility) { + this.againPasswordVisibility = againPasswordVisibility; + } + + public MutableLiveData<String> getValue() { + return value; + } + + public void setValue(MutableLiveData<String> value) { + this.value = value; + } } -- Gitblit v1.9.1