From b3a51f064c4dfb27f54cd9526803338d2e8dc296 Mon Sep 17 00:00:00 2001 From: Runt <qingingrunt2010@qq.com> Date: Sat, 13 Aug 2022 16:26:49 +0000 Subject: [PATCH] 添加注释,部分优化 --- app/src/main/java/com/runt/open/mvvm/ui/login/LoginViewModel.java | 94 +++++++++++++++-------------------------------- 1 files changed, 30 insertions(+), 64 deletions(-) diff --git a/app/src/main/java/com/runt/open/mvvm/ui/login/LoginViewModel.java b/app/src/main/java/com/runt/open/mvvm/ui/login/LoginViewModel.java index eda4bd3..e285cde 100644 --- a/app/src/main/java/com/runt/open/mvvm/ui/login/LoginViewModel.java +++ b/app/src/main/java/com/runt/open/mvvm/ui/login/LoginViewModel.java @@ -1,17 +1,16 @@ package com.runt.open.mvvm.ui.login; import androidx.lifecycle.MutableLiveData; - +import com.runt.open.mvvm.R; +import com.runt.open.mvvm.base.activities.BaseActivity; import com.runt.open.mvvm.base.model.BaseViewModel; +import com.runt.open.mvvm.config.Configuration; +import com.runt.open.mvvm.data.HttpApiResult; import com.runt.open.mvvm.data.Results; import com.runt.open.mvvm.retrofit.api.LoginApiCenter; import com.runt.open.mvvm.retrofit.observable.HttpObserver; import com.runt.open.mvvm.retrofit.utils.RetrofitUtils; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - +import com.runt.open.mvvm.util.MyLog; import io.reactivex.Observable; /** @@ -25,18 +24,25 @@ loginApi = RetrofitUtils.getInstance().getRetrofit(LoginApiCenter.class); } - MutableLiveData<Results.LoggedInUser> loginResult = new MutableLiveData<>(); - MutableLiveData<Results.StringApiResult> verifyResult = new MutableLiveData<>(); - MutableLiveData<Results.StringApiResult> resetResult = new MutableLiveData<>(); MutableLiveData<Results.StringApiResult> registerResult = new MutableLiveData<>(); + HttpObserver<UserBean> logginObserver; - public MutableLiveData<Results.LoggedInUser> getLoginResult() { - return loginResult; + @Override + public void onCreate(BaseActivity activity) { + super.onCreate(activity); + logginObserver = new HttpObserver<UserBean>(mActivity){ + @Override + protected void onSuccess(UserBean data) { + UserBean.setUser(data); + mActivity.putStringProjectPrefrence(Configuration.KEY_USERNAME, data.getUsername()); + MyLog.i("registerlogin",data.toString()); + mActivity.showToast(R.string.login_success); + mActivity.setResult(mActivity.RESULT_CODE_SUCESS); + mActivity.finish(); + } + }; } - public MutableLiveData<Results.StringApiResult> getVerifyResult() { - return verifyResult; - } /** * 密码登录 @@ -45,8 +51,8 @@ */ public void login(String username, String password) { // can be launched in a separate asynchronous job - final Observable<Results.LoggedInUser> userObservable = loginApi.login(username, password); - httpObserverOnLoading(userObservable,new HttpObserver<Results.LoggedInUser>(loginResult){}); + final Observable<HttpApiResult<UserBean>> userObservable = loginApi.login(username, password); + httpObserverOnLoading(userObservable,logginObserver); } /** @@ -55,8 +61,7 @@ * @param code */ public void loginByCode(String phone,String code){ - httpObserverOnLoading(loginApi.loginByCode(phone,code), - new HttpObserver<Results.LoggedInUser>(loginResult){}); + httpObserverOnLoading(loginApi.loginByCode(phone,code),logginObserver); } /** @@ -66,7 +71,7 @@ * @param pass */ public void resetPwd(String phone,String sms,String pass){ - httpObserverOnLoading(loginApi.resetLoginPwd(phone, sms, pass), new HttpObserver<Results.StringApiResult>(resetResult) {}); + httpObserverOnLoading(loginApi.resetLoginPwd(phone, sms, pass),logginObserver); } /** @@ -76,7 +81,12 @@ * @param pass */ public void register(String phone,String sms,String pass){ - httpObserverOnLoading(loginApi.register(phone, sms, pass), new HttpObserver<Results.StringApiResult>(resetResult) {}); + httpObserverOnLoading(loginApi.register(phone, sms, pass), new HttpObserver<Results.StringApiResult>(){ + @Override + protected void onSuccess(Results.StringApiResult data) { + registerResult.setValue(data); + } + }); } /** @@ -103,48 +113,4 @@ getVerifyCode("getLoginSMS",phone); } - /** - * 获取验证码 - * @param url 验证码地址 - * @param phone 手机号 - */ - public void getVerifyCode(String url,String phone){ - String time = new Date().getTime()+""; - httpObserverOnLoading(loginApi.getVerifyCode(url, phone, randomString(phone, time), time), new HttpObserver<Results.StringApiResult>(verifyResult){}); - } - - /** - * 随机字符串 - * @param phone - * @param time - * @return - */ - private String randomString(String phone,String time){ - int p = (int) Math.round(phone.length()/6.0); - int t = time.length()/6; - List<String> list = new ArrayList<String>(); - for(int i = 0 ; i < 6 ; i ++){ - String str = ""; - if(i*p>phone.length()){ - str = phone.substring((i-1)*p); - }else if((i+1)*p>phone.length()){ - str = phone.substring(i*p); - }else{ - str = phone.substring(i*p,(i+1)*p); - } - String num = ((Integer.parseInt(str)*Long.parseLong(time))+"") ; - list.add(num); - } - //return sb.toString(); - return plusSingle2(list); - } - - private String plusSingle2(List<String> list){ - StringBuilder sb = new StringBuilder(); - for(int i = 0 ; i < list.size() ; i ++){ - sb.append(list.get(i).substring(list.get(i).length()-2<0?0:list.get(i).length()-2)); - } - return sb.toString(); - - } } -- Gitblit v1.9.1