From 7cd5e812882e999443220e9c71103b3e3c476c71 Mon Sep 17 00:00:00 2001 From: nilupeng <qingingrunt2010@qq.com> Date: Fri, 12 Aug 2022 06:58:54 +0000 Subject: [PATCH] 提现,支付密码 --- app/src/main/java/com/runt/open/mvvm/base/model/LoadPageViewModel.java | 36 +++++++++++++++++++++++++++--------- 1 files changed, 27 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/runt/open/mvvm/base/model/LoadPageViewModel.java b/app/src/main/java/com/runt/open/mvvm/base/model/LoadPageViewModel.java index bc7a5d7..1cdb1a1 100644 --- a/app/src/main/java/com/runt/open/mvvm/base/model/LoadPageViewModel.java +++ b/app/src/main/java/com/runt/open/mvvm/base/model/LoadPageViewModel.java @@ -1,15 +1,15 @@ package com.runt.open.mvvm.base.model; import androidx.lifecycle.MutableLiveData; - +import com.google.gson.Gson; import com.runt.open.mvvm.data.HttpApiResult; import com.runt.open.mvvm.data.PageResult; import com.runt.open.mvvm.retrofit.observable.HttpObserver; +import org.json.JSONObject; import java.lang.reflect.ParameterizedType; import java.util.ArrayList; - -import io.reactivex.Observable; +import java.util.Map; /** * 分页 @@ -23,21 +23,39 @@ /** * 请求地址 - * @param page 页数 - * @param objects 参数 * @return */ - public abstract Observable<HttpApiResult<PageResult<D>>> request(int page,Object... objects); + protected abstract String requestUrl(); /** * 数据请求 */ - public void requestData(Observable<HttpApiResult<PageResult<D>>> observable){ + /** + * 数据请求 + * @param page 页数 + * @param param 请求参数 + */ + public void requestData(int page, Map param){ final ParameterizedType type = (ParameterizedType) this.getClass().getGenericSuperclass(); Class<D> entityClass = (Class<D>) type.getActualTypeArguments()[0]; - httpObserverOn( observable, new PageHttpObserver()); - } + httpObserverOn( commonApi.getPageData(requestUrl(), page, SIZE, param), new HttpObserver<PageResult>() { + @Override + protected void onSuccess(PageResult data) { + //数据转换 + ArrayList<D> list = new ArrayList<>(); + for(Object map : data.rows){ + list.add(new Gson().fromJson(new JSONObject((Map) map).toString(),entityClass)); + } + liveData.postValue(list); + } + @Override + protected void onFailed(HttpApiResult httpResult) { + mActivity.showToast(httpResult.msg); + liveFailed.postValue(1); + } + }); + } public MutableLiveData<ArrayList<D>> getLiveData(){ return liveData; } -- Gitblit v1.9.1