登录

//登录接口
public static final String LOGIN_STRING = "https://www.zhaoapi.cn/user/login";
public static final String LOGIN_BASE = "https://www.zhaoapi.cn/";
//登录
@GET("user/login")
io.reactivex.Observable<LoginBean> getLogin(@QueryMap HashMap<String,String> loginMap);
public interface LoginIConter {

    public interface LoginIView{

        void LoginShowData(LoginBean loginBean);

        void onError(Throwable responseString);

    }

    public interface LoginIPresenter<LoginIView>{

        void attachView(LoginIView loginIView);

        void datachView(LoginIView loginIView);

        void LoginResquestData(String userPhone,String password);

    }

    public interface LoginIModel{

        public interface LoginCallBackListenter{

            void LoginCallBack(LoginBean loginBean);

            void onFailer(Throwable throwable);
        }

        void LoginResponseData(String userPhone,String passsword,LoginCallBackListenter loginCallBackListenter);
    }

}
public class LoginModel implements LoginIConter.LoginIModel {
    @Override
    public void LoginResponseData(String userPhone, String passsword, final LoginCallBackListenter loginCallBackListenter) {

        HashMap<String,String> hashMap = new HashMap<>();
        hashMap.put("mobile",userPhone);
        hashMap.put("password",passsword);

        Observable<LoginBean> observable = Retrofitutil.getinstance().apiService(Contast.LOGIN_BASE).getLogin(hashMap);
        observable.subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Consumer<LoginBean>() {
                    @Override
                    public void accept(LoginBean loginBean) throws Exception {
                        loginCallBackListenter.LoginCallBack(loginBean);
                    }
                }, new Consumer<Throwable>() {
                    @Override
                    public void accept(Throwable throwable) throws Exception {
                        loginCallBackListenter.onFailer(throwable);

                    }
                });

    }
}
public class LoginPresenter implements LoginIConter.LoginIPresenter<LoginIConter.LoginIView> {

    LoginIConter.LoginIView loginIView;
    private LoginModel loginModel;
    private WeakReference<LoginIConter.LoginIView> loginIViewWeakReference;
    private WeakReference<LoginModel> loginModelWeakReference;


    @Override
    public void attachView(LoginIConter.LoginIView loginIView) {

        this.loginIView = loginIView;
        loginModel = new LoginModel();
        loginIViewWeakReference = new WeakReference<>(loginIView);
        loginModelWeakReference = new WeakReference<>(loginModel);

    }

    @Override
    public void datachView(LoginIConter.LoginIView loginIView) {

        loginIViewWeakReference.clear();
        loginModelWeakReference.clear();

    }

    @Override
    public void LoginResquestData(String userPhone, String password) {

        loginModel.LoginResponseData(userPhone, password, new LoginIConter.LoginIModel.LoginCallBackListenter() {
            @Override
            public void LoginCallBack(LoginBean loginBean) {

                loginIView.LoginShowData(loginBean);

            }

            @Override
            public void onFailer(Throwable throwable) {

                loginIView.onError(throwable);

            }
        });

    }
}

Activity

case R.id.button_login:
    //登录
    editusernameLogin = editUsernameLogin.getText().toString();
    editpasswordlogin = editPasswordLogin.getText().toString();
    if(editusernameLogin.trim().length()!=11){
        Toast.makeText(LoginActivity.this,"请输入正确的手机号",Toast.LENGTH_SHORT).show();
    }else if(editpasswordlogin.trim().length()!=6){
        Toast.makeText(LoginActivity.this,"密码错误,请重新输入",Toast.LENGTH_SHORT).show();
    }else{
        loginPresenter.LoginResquestData(editusernameLogin, editpasswordlogin);
    }
    break;
//成功的方法
@Override
public void LoginShowData(LoginBean loginBean) {
    flag = false;
    uid = loginBean.getData().getUid();
    if(loginBean.getCode().equals("0")){
        String editUsernamelogin = editUsernameLogin.getText().toString();
        flag = true;
        Intent intent = new Intent();
        Bundle bundle = new Bundle();
        bundle.putString("editusernamelogin",editUsernamelogin);
        intent.putExtras(bundle);
        setResult(100,intent);
        finish();
        Toast.makeText(LoginActivity.this,loginBean.getMsg(),Toast.LENGTH_SHORT).show();
}else{
        Toast.makeText(LoginActivity.this,loginBean.getMsg(),Toast.LENGTH_SHORT).show();
}
        EventBean eventBean = new EventBean();
        eventBean.setUid(uid);
        eventBean.setFlag(flag);
        EventBus.getDefault().postSticky(eventBean);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值