# 分页与数据读取

使用 limit 与 offset 分页读取数据。

### 通用分页参数

分页列表接口采用下列字段，响应不含 `total`、`nextCursor` 或页码；`/api/v2/toc` 为全量目录对象，不使用分页：

| 查询键 | 类型 | 必填 | 默认 | 说明 |
| --- | --- | --- | --- | --- |
| `limit` | integer | 否 | `20` | `1` 至 `100`，每次最多返回的条数。 |
| `offset` | integer | 否 | `0` | `0` 至 `2147483647`，跳过的条数。 |

空列表返回 `[]`。按 `offset += limit` 继续读取；返回不足 `limit` 条即到达末页。
分页没有跨请求快照保证，上传和读取同时进行时可能看到数据变化。

## 分页读取章节

```powershell
$limit = 100
$offset = 0
do {
  $page = Invoke-RestMethod "$base/api/v2/content?novelId=$novelId&limit=$limit&offset=$offset" -Headers $headers
  foreach ($chapter in $page) {
    # 在这里消费 chapter.id / volumeId / order / title / content / updatedAt
    $chapter
  }
  $offset += $limit
} while ($page.Count -eq $limit)
```

上传完成后再开始全量分页读取，可以避免边上传边分页产生的数据变化。

> 章节返回完整正文。建议按需设置 limit，不提供无上限的全量正文接口。只需要卷与章节标题时，使用[获取全书目录](/athub/toc)：一次返回完整目录，不分页、不传输正文。
