This commit is contained in:
DengDai
2025-12-08 14:45:14 +08:00
commit 519589f8f5
60 changed files with 8191 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
# skit_panel_backend/utils/pagination.py
def paginate(data_list: list, page: int, page_size: int):
"""
一个简单的列表分页工具。
:param data_list: 要分页的完整列表。
:param page: 当前页码 (从1开始)。
:param page_size: 每页的项目数。
:return: 一个包含分页后数据和总数的字典。
"""
if not isinstance(data_list, list):
# 如果输入不是列表,返回空结果
return {"total": 0, "list": []}
total = len(data_list)
# 确保页码和页面大小是正整数
page = max(1, page)
page_size = max(1, page_size)
start = (page - 1) * page_size
# 防止切片索引越界
if start >= total:
return {"total": total, "list": []}
end = start + page_size
paginated_list = data_list[start:end]
return {
"total": total,
"list": paginated_list
}