from rest_framework.pagination import PageNumberPagination
from rest_framework.response import Response

class CustomPagination(PageNumberPagination):
    """自定义分页器，返回格式为 {code, message, data}"""
    page_size = 10
    page_size_query_param = 'page_size'
    max_page_size = 100
    
    def get_paginated_response(self, data):
        return Response({
            "code": 200,
            "message": "获取数据成功",
            "data": {
                "count": self.page.paginator.count,
                "next": self.get_next_link(),
                "previous": self.get_previous_link(),
                "results": data,
                "page": self.page.number,
                "pages": self.page.paginator.num_pages,
                "page_size": self.page_size
            }
        }) 