|
|
@@ -0,0 +1,46 @@
|
|
|
+package com.miekir.network.core.base;
|
|
|
+
|
|
|
+import com.miekir.network.constant.Code;
|
|
|
+import com.miekir.network.utils.ExceptionUtil;
|
|
|
+
|
|
|
+import io.reactivex.Observer;
|
|
|
+import io.reactivex.annotations.NonNull;
|
|
|
+import io.reactivex.disposables.Disposable;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 返回结果处理
|
|
|
+ * @author Miekir
|
|
|
+ */
|
|
|
+
|
|
|
+public abstract class CommonObserver<T> implements Observer<T> {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onNext(@NonNull T response) {
|
|
|
+ try {
|
|
|
+ onSuccess(response);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ onFailure(Code.COMMON, new Exception("null"), null);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onError(@NonNull Throwable e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ onFailure(Code.COMMON, e, ExceptionUtil.exceptionHandler(e));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onComplete() {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onSubscribe(@NonNull Disposable d) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public abstract void onSuccess(T result);
|
|
|
+
|
|
|
+ public abstract void onFailure(int code, Throwable e, String errMsg);
|
|
|
+}
|