mirror of
https://github.com/snailyp/gemini-balance.git
synced 2026-09-07 08:46:37 +08:00
refactor: 重构密钥状态页面为客户端动态加载
- 新增 key_routes.py 分离密钥相关路由逻辑 - 将密钥列表从服务器端渲染改为 JavaScript 动态加载 - 优化 keys_status 页面错误处理,提供默认数据结构 - 在 KeyManager 中添加 get_all_keys_with_fail_count 方法 - 移除服务器端模板中的静态密钥渲染代码 这次重构提升了页面加载性能和用户体验,同时改善了错误处理机制。
This commit is contained in:
@@ -141,6 +141,18 @@ class KeyManager:
|
||||
"""获取指定 Vertex 密钥的失败次数"""
|
||||
return self.vertex_key_failure_counts.get(key, 0)
|
||||
|
||||
async def get_all_keys_with_fail_count(self) -> dict:
|
||||
"""获取所有API key及其失败次数"""
|
||||
all_keys = {}
|
||||
async with self.failure_count_lock:
|
||||
for key in self.api_keys:
|
||||
all_keys[key] = self.key_failure_counts.get(key, 0)
|
||||
|
||||
valid_keys = {k: v for k, v in all_keys.items() if v < self.MAX_FAILURES}
|
||||
invalid_keys = {k: v for k, v in all_keys.items() if v >= self.MAX_FAILURES}
|
||||
|
||||
return {"valid_keys": valid_keys, "invalid_keys": invalid_keys, "all_keys": all_keys}
|
||||
|
||||
async def get_keys_by_status(self) -> dict:
|
||||
"""获取分类后的API key列表,包括失败次数"""
|
||||
valid_keys = {}
|
||||
|
||||
Reference in New Issue
Block a user