在阿里云宜搭(Yida)中,默认情况下,搜索表单实例 ID 列表的接口(如 ListFormInstances)可能会限制返回的数据条数(例如最多返回 100 条)。如果你需要获取超过 100 条数据,可以通过以下方法实现:
1. 分页查询
宜搭的接口通常支持分页查询功能,通过设置分页参数(如 pageSize 和 pageNumber),可以逐步获取所有数据。
步骤:
设置分页参数:
pageSize:每页返回的数据条数(例如设置为 100)。pageNumber:当前页码(从 1 开始)。循环查询:
通过循环调用接口,逐步获取所有数据。
每次查询后,检查返回结果中的
totalCount和pageNumber,判断是否需要继续查询下一页。
示例代码(伪代码):
let pageSize = 100; // 每页条数
let pageNumber = 1; // 当前页码
let totalCount = 0; // 总条数
let allData = []; // 存储所有数据
do {
// 调用宜搭接口获取数据
const response = await fetch(`/api/form/instances?pageSize=${pageSize}&pageNumber=${pageNumber}`);
const data = await response.json();
// 将当前页的数据添加到总数据中
allData = allData.concat(data.items);
// 更新总条数和页码
totalCount = data.totalCount;
pageNumber++;
} while (allData.length < totalCount); // 判断是否还有下一页
console.log(allData); // 所有数据2. 使用宜搭的 API 文档
宜搭提供了详细的 API 文档,你可以参考文档中的分页参数说明。
参考接口:
接口名称:
ListFormInstancesAPI 文档地址:宜搭 API 文档
分页参数:
pageSize:每页返回的数据条数(最大值通常为 100)。pageNumber:当前页码(从 1 开始)。
3. 注意事项
性能问题:如果数据量非常大(例如超过 10,000 条),分页查询可能会影响性能。建议优化查询条件,减少数据量。
接口调用频率:避免频繁调用接口,以免触发宜搭的限流机制。
错误处理:在循环查询过程中,注意处理接口返回的错误信息。
4. 示例场景
假设你需要获取某个表单中所有状态为“已完成”的实例 ID 列表,且数据量超过 100 条。
实现步骤:
设置查询条件:
在接口中设置查询条件,例如
status = "已完成"。分页查询:
使用分页参数逐步获取所有数据。
示例代码(伪代码):
let pageSize = 100;
let pageNumber = 1;
let totalCount = 0;
let allData = [];
do {
// 调用宜搭接口获取数据
const response = await fetch(`/api/form/instances?status=已完成&pageSize=${pageSize}&pageNumber=${pageNumber}`);
const data = await response.json();
// 将当前页的数据添加到总数据中
allData = allData.concat(data.items);
// 更新总条数和页码
totalCount = data.totalCount;
pageNumber++;
} while (allData.length < totalCount);
console.log(allData); // 所有数据总结
通过分页查询的方式,可以获取超过 100 条的表单实例 ID 列表。关键步骤包括设置分页参数、循环调用接口,并处理返回的数据。如果数据量较大,建议优化查询条件,避免性能问题。









