1.6 KiB
1.6 KiB
操作日志分页需求
背景
操作日志会持续增长,如果一次性展示全部日志,页面会变长,查找和点击都不方便。日志列表需要分页展示,并且页码数量较多时不能把所有页码全部铺开。
功能目标
- 操作日志列表每页显示 20 条。
- 日志列表上方和下方都显示分页控件。
- 支持上一页、下一页和指定页码跳转。
- 页码超过 10 页时,远离当前页的页码用省略号折叠。
- 分页需要和现有筛选条件联动:
- 操作类型。
- 对象类型。
- 风险等级。
- 关键词。
- 切换筛选条件后,从第 1 页重新查询。
- 导出日志不受当前页限制,仍按当前筛选条件导出全部匹配日志。
页码展示规则
分页控件始终显示:
- 第 1 页。
- 最后一页。
- 当前页前后 2 页。
- 中间缺失页码用
...表示。
示例:
- 当前第 1 页,共 3 页:
1 2 3 - 当前第 6 页,共 20 页:
1 ... 4 5 6 7 8 ... 20 - 当前第 19 页,共 20 页:
1 ... 17 18 19 20
接口约定
日志列表接口支持:
page:页码,从 1 开始,默认 1。page_size:每页数量,默认 20。
返回:
{
"items": [],
"total": 0,
"page": 1,
"page_size": 20,
"total_pages": 1
}
自行决策记录
- 默认每页 20 条,兼顾浏览效率和页面密度。
- 页码折叠规则采用“首页 + 尾页 + 当前页前后 2 页”,避免页码过多时挤压布局。
- 上下各放一组分页控件,避免用户滚动到底部后还要回到顶部翻页。