提交 92849f8f 编写于 作者: J jackjintai

modify

[android]:优化数据mock接口遍历
上级 7345132d
......@@ -35,7 +35,8 @@ class App : Application() {
mapKits["业务专区1"] = mutableListOf<AbstractKit>(DemoKit())
mapKits["业务专区2"] = mutableListOf<AbstractKit>(DemoKit())
DoraemonKit.install(this, mapKits = mapKits, productId = "749a0600b5e48dd77cf8ee680be7b1b7")
//DoraemonKit.install(this, mapKits = mapKits, productId = "749a0600b5e48dd77cf8ee680be7b1b7")
DoraemonKit.install(this, mapKits = mapKits, productId = "61f9ea9b7308463010d5f1c937153916")
DoraemonKit.setFileManagerHttpPort(9001)
//设置加密数据库
DoraemonKit.setDatabasePass(mapOf("Person.db" to "a_password"))
......
......@@ -14,7 +14,7 @@ buildscript {
classpath 'com.android.tools.build:gradle:4.0.2'
classpath 'com.novoda:bintray-release:0.9.2'
// classpath "com.didichuxing.doraemonkit:doraemonkit-plugin:${rootProject.ext.android["pluginVersionName"]}"
classpath "com.didichuxing.doraemonkit:dokitx-plugin:3.3.0"
//classpath "com.didichuxing.doraemonkit:dokitx-plugin:3.3.0"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${rootProject.ext.android["kotlin_version"]}"
}
}
......
......@@ -5,7 +5,7 @@ ext {
runOrPublish : 0,
//0:依赖dokit本地module运行
//1:依赖dokit远程aar运行
runType : 1,
runType : 0,
//0:发布到到本地localRepoURL仓库
//1:发布到滴滴内部仓库 一般不建议使用 如果需要发布到滴滴内网仓库需要将版本号改得比较大 假如版本号跟jcenter上的一致会由于缓存导致没法下载最新的jcenter的线上代码
//2:发布到jcenter远程仓库
......
......@@ -57,7 +57,7 @@ import java.util.List;
*/
public class NetWorkMockFragment extends BaseFragment {
private String projectId = DokitConstant.PRODUCT_ID;
private int pageSize = 1000;
private int pageSize = 100;
private String mFormatApiUrl = NetworkManager.MOCK_DOMAIN + "/api/app/interface?projectId=%s&isfull=1&curPage=%s&pageSize=%s";
private EditText mEditText;
private EasyRefreshLayout mInterceptRefreshLayout, mTemplateRefreshLayout;
......@@ -168,7 +168,7 @@ public class NetWorkMockFragment extends BaseFragment {
@Override
public void onRefreshing() {
initResponseApis();
initResponseApis(1);
}
});
//template
......@@ -186,7 +186,7 @@ public class NetWorkMockFragment extends BaseFragment {
@Override
public void onRefreshing() {
initResponseApis();
initResponseApis(1);
}
});
mRvWrap.setBackgroundColor(getResources().getColor(R.color.dk_color_F5F6F7));
......@@ -199,7 +199,7 @@ public class NetWorkMockFragment extends BaseFragment {
mRvTemplate.setLayoutManager(new LinearLayoutManager(getActivity()));
//请求接口列表
initResponseApis();
initResponseApis(1);
}
/**
......@@ -361,7 +361,12 @@ public class NetWorkMockFragment extends BaseFragment {
mInterceptLoadMoreModule.setOnLoadMoreListener(new OnLoadMoreListener() {
@Override
public void onLoadMore() {
loadMoreResponseApis();
if (mSelectedTableIndex == BOTTOM_TAB_INDEX_0) {
mInterceptLoadMoreModule.loadMoreEnd();
} else if (mSelectedTableIndex == BOTTOM_TAB_INDEX_1) {
mTemplateLoadMoreModule.loadMoreEnd();
}
//loadMoreResponseApis();
}
});
......@@ -397,7 +402,12 @@ public class NetWorkMockFragment extends BaseFragment {
mTemplateLoadMoreModule.setOnLoadMoreListener(new OnLoadMoreListener() {
@Override
public void onLoadMore() {
loadMoreResponseApis();
if (mSelectedTableIndex == BOTTOM_TAB_INDEX_0) {
mInterceptLoadMoreModule.loadMoreEnd();
} else if (mSelectedTableIndex == BOTTOM_TAB_INDEX_1) {
mTemplateLoadMoreModule.loadMoreEnd();
}
//loadMoreResponseApis();
}
});
......@@ -568,11 +578,21 @@ public class NetWorkMockFragment extends BaseFragment {
}
String initMockInterceptResponse = "";
String initTemplateInterceptResponse = "";
/**
* 初始化mock 接口列表
* 由于一次性请求数据过多会导致服务挂掉 所以拆分多次请求
*/
private void initResponseApis() {
String apiUrl = String.format(mFormatApiUrl, projectId, 1, pageSize);
private void initResponseApis(int currentPage) {
if (currentPage == 1) {
if (mSelectedTableIndex == BOTTOM_TAB_INDEX_0) {
initMockInterceptResponse = "";
} else if (mSelectedTableIndex == BOTTOM_TAB_INDEX_1) {
initTemplateInterceptResponse = "";
}
}
String apiUrl = String.format(mFormatApiUrl, projectId, currentPage, pageSize);
LogHelper.i(TAG, "apiUrl===>" + apiUrl);
Request<String> request = new StringRequest(Request.Method.GET, apiUrl, new Response.Listener<String>() {
......@@ -580,17 +600,49 @@ public class NetWorkMockFragment extends BaseFragment {
public void onResponse(String response) {
try {
if (mSelectedTableIndex == BOTTOM_TAB_INDEX_0) {
List<MockInterceptTitleBean> mockInterceptTitleBeans = dealInterceptResponseData(response);
initMenus(mockInterceptTitleBeans);
attachInterceptRv(mockInterceptTitleBeans);
MockApiResponseBean mockApiResponseBean = GsonUtils.fromJson(response, MockApiResponseBean.class);
List<MockApiResponseBean.DataBean.DatalistBean> lists = mockApiResponseBean.getData().getDatalist();
//判断是否为null
if (initMockInterceptResponse.isEmpty()) {
initMockInterceptResponse = response;
} else {
MockApiResponseBean AllMockApiResponseBean = GsonUtils.fromJson(initMockInterceptResponse, MockApiResponseBean.class);
List<MockApiResponseBean.DataBean.DatalistBean> AllLists = AllMockApiResponseBean.getData().getDatalist();
AllLists.addAll(lists);
initMockInterceptResponse = GsonUtils.toJson(AllMockApiResponseBean);
}
if (lists.size() < pageSize) {
List<MockInterceptTitleBean> mockInterceptTitleBeans = dealInterceptResponseData(initMockInterceptResponse);
initMenus(mockInterceptTitleBeans);
attachInterceptRv(mockInterceptTitleBeans);
mHomeTitleBar.setTitle(DokitUtil.getString(R.string.dk_kit_network_mock) + "(" + mockInterceptTitleBeans.size() + ")");
} else {
MockApiResponseBean AllMockApiResponseBean = GsonUtils.fromJson(initMockInterceptResponse, MockApiResponseBean.class);
initResponseApis(AllMockApiResponseBean.getData().getDatalist().size() / pageSize + 1);
}
mHomeTitleBar.setTitle(DokitUtil.getString(R.string.dk_kit_network_mock) + "(" + mockInterceptTitleBeans.size() + ")");
//测试空数据
//attachInterceptRv(null);
} else if (mSelectedTableIndex == BOTTOM_TAB_INDEX_1) {
List<MockTemplateTitleBean> mockTemplateTitleBeans = dealTemplateResponseData(response);
attachTemplateRv(mockTemplateTitleBeans);
mHomeTitleBar.setTitle(DokitUtil.getString(R.string.dk_kit_network_mock) + "(" + mockTemplateTitleBeans.size() + ")");
MockApiResponseBean mockApiResponseBean = GsonUtils.fromJson(response, MockApiResponseBean.class);
List<MockApiResponseBean.DataBean.DatalistBean> lists = mockApiResponseBean.getData().getDatalist();
//判断是否为null
if (initTemplateInterceptResponse.isEmpty()) {
initTemplateInterceptResponse = response;
} else {
MockApiResponseBean AllMockApiResponseBean = GsonUtils.fromJson(initMockInterceptResponse, MockApiResponseBean.class);
List<MockApiResponseBean.DataBean.DatalistBean> AllLists = AllMockApiResponseBean.getData().getDatalist();
AllLists.addAll(lists);
initTemplateInterceptResponse = GsonUtils.toJson(AllMockApiResponseBean);
}
if (lists.size() < pageSize) {
List<MockTemplateTitleBean> mockInterceptTitleBeans = dealTemplateResponseData(initTemplateInterceptResponse);
attachTemplateRv(mockInterceptTitleBeans);
mHomeTitleBar.setTitle(DokitUtil.getString(R.string.dk_kit_network_mock) + "(" + mockInterceptTitleBeans.size() + ")");
} else {
MockApiResponseBean AllMockApiResponseBean = GsonUtils.fromJson(initTemplateInterceptResponse, MockApiResponseBean.class);
initResponseApis(AllMockApiResponseBean.getData().getDatalist().size() / pageSize + 1);
}
}
} catch (Exception e) {
......@@ -618,10 +670,62 @@ public class NetWorkMockFragment extends BaseFragment {
});
VolleyManager.INSTANCE.add(request);
}
/**
* 初始化mock 接口列表
*/
// private void initResponseApis() {
// String apiUrl = String.format(mFormatApiUrl, projectId, 1, pageSize);
// LogHelper.i(TAG, "apiUrl===>" + apiUrl);
//
// Request<String> request = new StringRequest(Request.Method.GET, apiUrl, new Response.Listener<String>() {
// @Override
// public void onResponse(String response) {
// try {
// if (mSelectedTableIndex == BOTTOM_TAB_INDEX_0) {
// List<MockInterceptTitleBean> mockInterceptTitleBeans = dealInterceptResponseData(response);
// initMenus(mockInterceptTitleBeans);
// attachInterceptRv(mockInterceptTitleBeans);
//
// mHomeTitleBar.setTitle(DokitUtil.getString(R.string.dk_kit_network_mock) + "(" + mockInterceptTitleBeans.size() + ")");
// //测试空数据
// //attachInterceptRv(null);
// } else if (mSelectedTableIndex == BOTTOM_TAB_INDEX_1) {
// List<MockTemplateTitleBean> mockTemplateTitleBeans = dealTemplateResponseData(response);
// attachTemplateRv(mockTemplateTitleBeans);
// mHomeTitleBar.setTitle(DokitUtil.getString(R.string.dk_kit_network_mock) + "(" + mockTemplateTitleBeans.size() + ")");
// }
//
// } catch (Exception e) {
// e.printStackTrace();
// if (mSelectedTableIndex == BOTTOM_TAB_INDEX_0) {
// mInterceptRefreshLayout.refreshComplete();
// mHomeTitleBar.setTitle(DokitUtil.getString(R.string.dk_kit_network_mock) + "(0)");
// } else if (mSelectedTableIndex == BOTTOM_TAB_INDEX_1) {
// mTemplateRefreshLayout.refreshComplete();
// mHomeTitleBar.setTitle(DokitUtil.getString(R.string.dk_kit_network_mock) + "(0)");
// }
// }
// }
// }, new Response.ErrorListener() {
// @Override
// public void onErrorResponse(VolleyError error) {
// LogHelper.e(TAG, "error====>" + error.getMessage());
// ToastUtils.showShort(error.getMessage());
// if (mSelectedTableIndex == BOTTOM_TAB_INDEX_0) {
// mInterceptRefreshLayout.refreshComplete();
// } else if (mSelectedTableIndex == BOTTOM_TAB_INDEX_1) {
// mTemplateRefreshLayout.refreshComplete();
// }
// }
// });
//
// VolleyManager.INSTANCE.add(request);
//
//
// }
//private int rvTypeIntercept = 0;
//private int rvTypeTemplate = 1;
......@@ -867,7 +971,7 @@ public class NetWorkMockFragment extends BaseFragment {
mTemplateRefreshLayout.setVisibility(View.VISIBLE);
mSelectedTableIndex = BOTTOM_TAB_INDEX_1;
if (mTemplateApiAdapter == null) {
initResponseApis();
initResponseApis(1);
}
//设置数据条数
//设置数据条数
......
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="52dp"
android:orientation="vertical"
......@@ -7,15 +8,6 @@
android:paddingRight="16dp">
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="接口1"
android:textColor="@color/dk_color_333333"
android:textSize="16sp" />
<ImageView
android:id="@+id/iv_more"
android:layout_width="12dp"
......@@ -32,6 +24,17 @@
android:layout_marginRight="26dp"
android:layout_toLeftOf="@id/iv_more" />
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/menu_switch"
android:textColor="@color/dk_color_333333"
android:textSize="16sp"
tools:text="接口1" />
<View
style="@style/DK.Divider"
android:layout_alignParentBottom="true" />
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册