apaas-oapi-client 0.1.23 → 0.1.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -169,12 +169,17 @@ class Client {
169
169
  let total = 0;
170
170
  let page = 0;
171
171
  let totalPages = 0;
172
+ let hasMore = true;
172
173
  const pageSize = data.page_size || 100;
173
- do {
174
+ while (hasMore) {
174
175
  await functionLimiter(async () => {
175
176
  var _a, _b, _c, _d;
176
177
  const mergedData = { ...data };
177
- if (nextPageToken) {
178
+ // 如果使用 page_token,第一页需要传空字符串
179
+ if (data.use_page_token) {
180
+ mergedData.page_token = nextPageToken || '';
181
+ }
182
+ else if (nextPageToken) {
178
183
  mergedData.page_token = nextPageToken;
179
184
  }
180
185
  const res = await this.object.search.records({
@@ -197,15 +202,17 @@ class Client {
197
202
  this.log(LoggerLevel.info, `[object.search.recordsWithIterator] Starting paginated query: ${object_name}, total=${total}, pages=${totalPages}`);
198
203
  }
199
204
  nextPageToken = (_a = res.data) === null || _a === void 0 ? void 0 : _a.next_page_token;
205
+ // 检查是否还有更多数据:next_page_token 存在且不为空字符串
206
+ hasMore = !!(nextPageToken && nextPageToken !== '' && nextPageToken !== 'null');
200
207
  const padLength = totalPages.toString().length;
201
208
  const pageStr = page.toString().padStart(padLength, '0');
202
209
  const totalPagesStr = totalPages.toString().padStart(padLength, '0');
203
210
  this.log(LoggerLevel.info, `[object.search.recordsWithIterator] Page completed: [${pageStr}/${totalPagesStr}]`);
204
- this.log(LoggerLevel.debug, `[object.search.recordsWithIterator] Page ${page} details: items=${(_c = (_b = res.data) === null || _b === void 0 ? void 0 : _b.items) === null || _c === void 0 ? void 0 : _c.length}, nextToken=${nextPageToken || 'none'}`);
211
+ this.log(LoggerLevel.debug, `[object.search.recordsWithIterator] Page ${page} details: items=${(_c = (_b = res.data) === null || _b === void 0 ? void 0 : _b.items) === null || _c === void 0 ? void 0 : _c.length}, nextToken=${nextPageToken || 'none'}, hasMore=${hasMore}`);
205
212
  this.log(LoggerLevel.trace, `[object.search.recordsWithIterator] Page ${page} data: ${JSON.stringify((_d = res.data) === null || _d === void 0 ? void 0 : _d.items)}`);
206
213
  return res;
207
214
  });
208
- } while (nextPageToken);
215
+ }
209
216
  return { total, items: results };
210
217
  }
211
218
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apaas-oapi-client",
3
- "version": "0.1.23",
3
+ "version": "0.1.24",
4
4
  "main": "dist/index.js",
5
5
  "exports": {
6
6
  ".": "./dist/index.js",
package/src/index.ts CHANGED
@@ -309,13 +309,17 @@ class Client {
309
309
  let total = 0;
310
310
  let page = 0;
311
311
  let totalPages = 0;
312
+ let hasMore = true;
312
313
 
313
314
  const pageSize = data.page_size || 100;
314
315
 
315
- do {
316
+ while (hasMore) {
316
317
  const pageRes = await functionLimiter(async () => {
317
318
  const mergedData: any = { ...data };
318
- if (nextPageToken) {
319
+ // 如果使用 page_token,第一页需要传空字符串
320
+ if (data.use_page_token) {
321
+ mergedData.page_token = nextPageToken || '';
322
+ } else if (nextPageToken) {
319
323
  mergedData.page_token = nextPageToken;
320
324
  }
321
325
 
@@ -345,18 +349,21 @@ class Client {
345
349
  }
346
350
 
347
351
  nextPageToken = res.data?.next_page_token;
352
+
353
+ // 检查是否还有更多数据:next_page_token 存在且不为空字符串
354
+ hasMore = !!(nextPageToken && nextPageToken !== '' && nextPageToken !== 'null');
348
355
 
349
356
  const padLength = totalPages.toString().length;
350
357
  const pageStr = page.toString().padStart(padLength, '0');
351
358
  const totalPagesStr = totalPages.toString().padStart(padLength, '0');
352
359
 
353
360
  this.log(LoggerLevel.info, `[object.search.recordsWithIterator] Page completed: [${pageStr}/${totalPagesStr}]`);
354
- this.log(LoggerLevel.debug, `[object.search.recordsWithIterator] Page ${page} details: items=${res.data?.items?.length}, nextToken=${nextPageToken || 'none'}`);
361
+ this.log(LoggerLevel.debug, `[object.search.recordsWithIterator] Page ${page} details: items=${res.data?.items?.length}, nextToken=${nextPageToken || 'none'}, hasMore=${hasMore}`);
355
362
  this.log(LoggerLevel.trace, `[object.search.recordsWithIterator] Page ${page} data: ${JSON.stringify(res.data?.items)}`);
356
363
 
357
364
  return res;
358
365
  });
359
- } while (nextPageToken);
366
+ }
360
367
 
361
368
  return { total, items: results };
362
369
  }