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