diff --git a/core/core-backend/src/main/java/io/dataease/datasource/provider/ApiUtils.java b/core/core-backend/src/main/java/io/dataease/datasource/provider/ApiUtils.java
index 4d32c29717..e15982f65a 100644
--- a/core/core-backend/src/main/java/io/dataease/datasource/provider/ApiUtils.java
+++ b/core/core-backend/src/main/java/io/dataease/datasource/provider/ApiUtils.java
@@ -85,10 +85,11 @@ public class ApiUtils {
result.put("fieldList", fieldList);
if (apiDefinition.getRequest().getPage().getPageType().equalsIgnoreCase("pageNumber")) {
int pageCount = JsonPath.read(response, apiDefinition.getRequest().getPage().getResponseData().get(0).getResolutionPath());
+ int beginPage = Integer.valueOf(apiDefinition.getRequest().getPage().getRequestData().get(0).getParameterDefaultValue());
if (apiDefinition.getRequest().getPage().getResponseData().get(0).getResolutionPathType().equalsIgnoreCase("totalNumber")) {
- pageCount = pageCount / Integer.valueOf(apiDefinition.getRequest().getPage().getRequestData().get(1).getParameterDefaultValue());
+ pageCount = pageCount / Integer.valueOf(apiDefinition.getRequest().getPage().getRequestData().get(1).getParameterDefaultValue()) + 1;
}
- for (int i = 1; i < pageCount + 1; i++) {
+ for (int i = beginPage; i <= pageCount; i++) {
apiDefinition.getRequest().getPage().getRequestData().get(0).setParameterDefaultValue(String.valueOf(i));
response = execHttpRequest(false, apiDefinition, apiDefinition.getApiQueryTimeout() == null || apiDefinition.getApiQueryTimeout() <= 0 ? 10 : apiDefinition.getApiQueryTimeout(), params(datasourceRequest));
dataList.addAll(fetchResult(response, apiDefinition));
diff --git a/core/core-frontend/src/locales/en.ts b/core/core-frontend/src/locales/en.ts
index 2841372f6c..f50a9d3165 100644
--- a/core/core-frontend/src/locales/en.ts
+++ b/core/core-frontend/src/locales/en.ts
@@ -90,7 +90,8 @@ export default {
response: 'Response',
please_enter_jsonpath: 'Please enter JsonPath',
enter_parameter_name: 'Please enter parameter name',
- enter_default_value: 'Please enter default value'
+ enter_default_value: 'Please enter default value',
+ enter_first_page: 'Please enter the page number of the first page'
},
operate_log: {
name: 'Operation log',
@@ -273,6 +274,7 @@ export default {
view_data_structure: 'View data structure',
the_data_structure: 'No data yet, please check the fields in the data structure',
parameter: 'Parameter',
+ page_parameter: 'Page Parameter',
fixed_value: 'Fixed value',
time_function: 'Time function',
customize: 'Customize',
diff --git a/core/core-frontend/src/locales/tw.ts b/core/core-frontend/src/locales/tw.ts
index 22d35c50c6..ad10710af0 100644
--- a/core/core-frontend/src/locales/tw.ts
+++ b/core/core-frontend/src/locales/tw.ts
@@ -90,7 +90,8 @@ export default {
response: '回應',
please_enter_jsonpath: '請輸入 JsonPath',
enter_parameter_name: '請輸入參數名稱',
- enter_default_value: '請輸入預設值'
+ enter_default_value: '請輸入預設值',
+ enter_first_page: '請輸入第一頁的頁碼'
},
operate_log: {
name: '操作日誌',
@@ -265,6 +266,7 @@ export default {
view_data_structure: '查看資料結構',
the_data_structure: '暫無數據,請在資料結構勾選欄位',
parameter: '參數',
+ page_parameter: '分页參數',
fixed_value: '固定值',
time_function: '時間函數',
customize: '自訂',
diff --git a/core/core-frontend/src/locales/zh-CN.ts b/core/core-frontend/src/locales/zh-CN.ts
index 6dc47b5809..72306e4457 100644
--- a/core/core-frontend/src/locales/zh-CN.ts
+++ b/core/core-frontend/src/locales/zh-CN.ts
@@ -91,7 +91,8 @@ export default {
response: '响应',
please_enter_jsonpath: '请输入 JsonPath',
enter_parameter_name: '请输入参数名称',
- enter_default_value: '请输入默认值'
+ enter_default_value: '请输入默认值',
+ enter_first_page: '请输入第一页的页码'
},
operate_log: {
name: '操作日志',
@@ -266,6 +267,7 @@ export default {
view_data_structure: '查看数据结构',
the_data_structure: '暂无数据,请在数据结构勾选字段',
parameter: '参数',
+ page_parameter: '分页参数',
fixed_value: '固定值',
time_function: '时间函数',
customize: '自定义',
diff --git a/core/core-frontend/src/views/visualized/data/datasource/form/ApiVariable.vue b/core/core-frontend/src/views/visualized/data/datasource/form/ApiVariable.vue
index b06b4da22b..d7aca2da40 100644
--- a/core/core-frontend/src/views/visualized/data/datasource/form/ApiVariable.vue
+++ b/core/core-frontend/src/views/visualized/data/datasource/form/ApiVariable.vue
@@ -109,6 +109,10 @@ const options = [
label: t('data_source.parameter'),
value: 'params'
},
+ {
+ label: t('data_source.page_parameter'),
+ value: 'pageParams'
+ },
{
label: t('data_source.fixed_value'),
value: 'fixed'
@@ -122,6 +126,16 @@ const options = [
value: 'custom'
}
]
+const pageParams = [
+ {
+ label: '${pageNumber}',
+ value: '${pageNumber}'
+ },
+ {
+ label: '${pageSize}',
+ value: '${pageSize}'
+ }
+]
const timeFunLists = [
{
label: t('data_source.that_day') + '(yyyy-MM-dd)',
@@ -221,11 +235,23 @@ const timeFunLists = [
:value="item.value"
/>
+
+
+
{
prop="builtInParameterName"
:label="t('api_pagination.built_in_parameter_name')"
/>
-
-
-
-
-
diff --git a/de-xpack b/de-xpack
index 07d5ca7b79..9afdcb94d8 160000
--- a/de-xpack
+++ b/de-xpack
@@ -1 +1 @@
-Subproject commit 07d5ca7b79e6b4a2e2077d2969d80ae44d0867d6
+Subproject commit 9afdcb94d80d3dc9567547e1a71462cd6ff68062