feat(bot): use runtime api for bot data

This commit is contained in:
2026-06-20 18:20:40 +08:00
parent f67f3ca1d6
commit 8d26c46323
16 changed files with 1803 additions and 1491 deletions

View File

@@ -82,9 +82,9 @@ async def admin_page(request: Request):
# API 端点
@router.get("/api/stats/daily", response_model=DailyStatsResponse, dependencies=[Depends(verify_admin_token)])
async def get_daily_stats():
"""获取今日抽卡统计"""
result = gacha_system.get_daily_stats()
async def get_daily_stats():
"""获取今日抽卡统计"""
result = await gacha_system.get_daily_stats()
if not result["success"]:
return result
@@ -95,9 +95,9 @@ async def get_daily_stats():
}
@router.get("/api/stats/user/{user_id}", response_model=UserStatsResponse, dependencies=[Depends(verify_admin_token)])
async def get_user_stats(user_id: str):
"""获取用户抽卡统计"""
result = gacha_system.get_user_stats(user_id)
async def get_user_stats(user_id: str):
"""获取用户抽卡统计"""
result = await gacha_system.get_user_stats(user_id)
if not result["success"]:
return {
"success": False,
@@ -122,9 +122,9 @@ async def get_user_stats(user_id: str):
}
@router.get("/api/stats/rank", response_model=RankListResponse, dependencies=[Depends(verify_admin_token)])
async def get_rank_list():
"""获取抽卡排行榜"""
rank_data = gacha_system.get_rank_list()
async def get_rank_list():
"""获取抽卡排行榜"""
rank_data = await gacha_system.get_rank_list()
# 转换数据格式
formatted_data = []
@@ -145,9 +145,9 @@ async def get_rank_list():
}
@router.get("/api/achievements/{user_id}", response_model=AchievementResponse, dependencies=[Depends(verify_admin_token)])
async def get_user_achievements(user_id: str):
"""获取用户成就信息"""
result = gacha_system.get_user_achievements(user_id)
async def get_user_achievements(user_id: str):
"""获取用户成就信息"""
result = await gacha_system.get_user_achievements(user_id)
if not result["success"]:
return {
"success": False,
@@ -164,9 +164,9 @@ async def get_user_achievements(user_id: str):
}
@router.get("/api/records/daily", response_model=DailyDetailedRecordsResponse, dependencies=[Depends(verify_admin_token)])
async def get_daily_detailed_records(date: Optional[str] = None):
"""获取每日详细抽卡记录"""
result = gacha_system.get_daily_detailed_records(date)
async def get_daily_detailed_records(date: Optional[str] = None):
"""获取每日详细抽卡记录"""
result = await gacha_system.get_daily_detailed_records(date)
if not result["success"]:
return {
"success": False,