from fastapi import APIRouter, Query from server.spider.result_model import PaginationResponse from server.spider.twitter_db import DatabaseHandler router = APIRouter() @router.get("/list", response_model=PaginationResponse) async def read_users(page: int = Query(1, description="当前页码"), page_size: int = Query(10, description="每页显示的记录数")): """获取用户列表""" db_handler = DatabaseHandler() user_list, total_records = await db_handler.get_all_user(page, page_size) # 计算总页数 total_pages = (total_records + page_size - 1) // page_size return { "items": user_list, "total_records": total_records, "current_page": page, "total_pages": total_pages } @router.get("/twitter", response_model=PaginationResponse) async def get_twitter_list(page: int = Query(1, description="当前页码"), page_size: int = Query(10, description="每页显示的记录数")): """获取Twitter列表""" db_handler = DatabaseHandler() twitter_list, total_records = await db_handler.get_all_twitter(page, page_size) # 计算总页数 total_pages = (total_records + page_size - 1) // page_size return { "items": twitter_list, "total_records": total_records, "current_page": page, "total_pages": total_pages }