Skip to content

Commit 31e397b

Browse files
committed
解决对象返回
1 parent 48a374c commit 31e397b

6 files changed

Lines changed: 27 additions & 19 deletions

File tree

app/src/main/java/com/example/kson/moduledemo/MainActivity.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.example.kson.lib_core.base.mvp.BaseMvpActivity;
99
import com.example.kson.lib_core.base.mvp.BasePresenter;
1010
import com.example.kson.lib_core.utils.ToastUtils;
11+
import com.example.kson.lib_net.network.BaseResponse;
1112
import com.example.kson.lib_net.network.http.HttpRequestPresenter;
1213
import com.example.kson.lib_net.network.http.ModelCallback;
1314
import com.example.kson.lib_net.network.rx.RxManager;
@@ -23,7 +24,6 @@
2324

2425
public class MainActivity extends BaseMvpActivity<LoginContract.ILoginModel, LoginContract.LoginPresenter> implements LoginContract.ILoginView {
2526

26-
2727
@Override
2828
protected void initView() {
2929
Button button = findViewById(R.id.fromg);
@@ -34,7 +34,7 @@ public void onClick(View view) {
3434
HashMap<String, Object> params = new HashMap<>();
3535
// params.put("phone", "18612991023");
3636
// params.put("pwd", RsaCoder.encryptByPublicKey("111111"));
37-
params.put("phone", "18612991523");
37+
params.put("phone", "18612991023");
3838
// params.put("pwd", RsaCoder.encryptByPublicKey("111111"));
3939

4040
presenter.login(params);
@@ -57,8 +57,8 @@ public void home(View view) {
5757
}
5858

5959
@Override
60-
public void success(UserEntity userEntity) {
61-
System.out.println("userentity:" + userEntity.phone);
60+
public void success(BaseResponse<UserEntity> userEntity) {
61+
com.blankj.utilcode.util.ToastUtils.showLong(userEntity.getMessage());
6262
}
6363

6464
@Override

app/src/main/java/com/example/kson/moduledemo/contract/LoginContract.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.example.kson.lib_core.base.mvp.BasePresenter;
44
import com.example.kson.lib_core.base.mvp.IBaseModel;
55
import com.example.kson.lib_core.base.mvp.IBaseView;
6+
import com.example.kson.lib_net.network.BaseResponse;
67
import com.example.kson.lib_net.network.rx.RxManager;
78
import com.example.kson.moduledemo.entity.UserEntity;
89
import com.example.kson.moduledemo.model.LoginModel;
@@ -46,7 +47,7 @@ interface ILoginModel extends IBaseModel {
4647
*/
4748
interface ILoginView extends IBaseView {
4849

49-
void success(UserEntity userEntity);
50+
void success(BaseResponse<UserEntity> userEntity);
5051

5152
void fail(String msg);
5253

app/src/main/java/com/example/kson/moduledemo/model/LoginModel.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.example.kson.moduledemo.model;
22

33
import com.blankj.utilcode.util.ToastUtils;
4+
import com.example.kson.lib_net.network.BaseResponse;
45
import com.example.kson.lib_net.network.http.HttpRequestPresenter;
56
import com.example.kson.lib_net.network.http.ModelCallback;
67
import com.example.kson.lib_net.network.rx.RxManager;
@@ -22,17 +23,17 @@ public class LoginModel implements LoginContract.ILoginModel {
2223
public void login(HashMap<String, Object> params, final RxManager rxManager) {
2324

2425
HttpRequestPresenter.getInstance().post(Constants.CHECK_URL, params, rxManager, new ModelCallback<UserEntity>(false,UserEntity.class) {
26+
//没有result则返回BaseResponse<UserEntity> t
2527
@Override
26-
public void onErrorMsg(int code, String msg) {
27-
ToastUtils.showLong(msg);
28-
// rxManager.post("login",code +""+msg);
28+
public void onSuccess(BaseResponse<UserEntity> t) {
29+
rxManager.post("login",t);
2930
}
3031

3132
@Override
32-
public void onSuccess(UserEntity userEntity) {
33-
rxManager.post("login",userEntity);
34-
33+
public void onErrorMsg(int code, String msg) {
34+
rxManager.post("login",code +""+msg);
3535
}
36+
3637
});
3738
}
3839
}

app/src/main/java/com/example/kson/moduledemo/presenter/LoginPresenter.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.example.kson.moduledemo.presenter;
22

3+
import com.example.kson.lib_core.utils.ToastUtils;
4+
import com.example.kson.lib_net.network.BaseResponse;
35
import com.example.kson.lib_net.network.rx.RxManager;
46
import com.example.kson.moduledemo.contract.LoginContract;
57
import com.example.kson.moduledemo.entity.UserEntity;
@@ -23,8 +25,10 @@ public void login(HashMap<String, Object> params) {
2325

2426
@Override
2527
protected void accepts(Object list, Object o) {
26-
if (o instanceof UserEntity){
27-
getView().success((UserEntity) o);
28+
if (o instanceof BaseResponse){
29+
getView().success((BaseResponse<UserEntity>) o);
30+
}else if(o instanceof String){
31+
com.blankj.utilcode.util.ToastUtils.showLong(o+"");
2832
}
2933

3034
}

lib-net/src/main/java/com/example/kson/lib_net/network/http/ModelCallback.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.example.kson.lib_net.network.BaseObserver;
77
import com.example.kson.lib_net.network.BaseResponse;
88
import com.example.kson.lib_net.network.ParameterizedTypeImpl;
9+
import com.example.kson.lib_net.network.Response;
910
import com.example.kson.lib_net.network.rx.RxManager;
1011
import com.example.kson.lib_net.network.rx.exception.ApiException;
1112
import com.google.gson.Gson;
@@ -67,9 +68,9 @@ public void onNext(final String dataBean, RxManager rxManager) {
6768
public void subscribe(ObservableEmitter<String> emitter) throws Exception {
6869
emitter.onNext(dataBean);
6970
}
70-
}).map(new Function<String, T>() {
71+
}).map(new Function<String, BaseResponse<T>>() {
7172
@Override
72-
public T apply(String dataBean) throws Exception {
73+
public BaseResponse<T> apply(String dataBean) throws Exception {
7374
// Class<? extends T> geneticClass = getGenericClass(this);
7475
BaseResponse<T> data;
7576
if (isList) {
@@ -80,13 +81,13 @@ public T apply(String dataBean) throws Exception {
8081
//只有当返回的code==success时才成功,其余情况全部抛出错误
8182
if (data.getStatus().equals(NetConstants.HTTP_SUCCESS)) {
8283

83-
return data.getResult();
84+
return data;
8485
} else {
8586
//抛出异常,让rxjava捕获,便于统一处理
8687
throw new ApiException.ServerException(data.getStatus(), data.getMessage());
8788
}
8889
}
89-
}).subscribe(new BaseObserver<T>(rxManager) {
90+
}).subscribe(new BaseObserver<BaseResponse<T>>(rxManager) {
9091

9192
@Override
9293
public void onError(int errorCode, String msg) {
@@ -95,7 +96,7 @@ public void onError(int errorCode, String msg) {
9596
}
9697

9798
@Override
98-
public void onNext(T dataBean) {
99+
public void onNext(BaseResponse<T> dataBean) {
99100
onSuccess(dataBean);
100101
}
101102
});
@@ -107,7 +108,7 @@ private Class<? extends T> getGenericClass(Object object) {
107108
return (Class) params[0];
108109
}
109110

110-
public abstract void onSuccess(T t);
111+
public abstract void onSuccess(BaseResponse<T> t);
111112

112113

113114
}

lib-net/src/main/java/com/example/kson/lib_net/network/rx/MyConsumer.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ public MyConsumer setTag(String tag) {
1414
return this;
1515
}
1616

17+
1718
@Override
1819
public void accept(T o) {
1920
if (o instanceof List) {

0 commit comments

Comments
 (0)