refactor: 平台改为代码内置 provider 架构,一次性迁移现有数据 - 新增 app/providers:BalanceProvider 基类 + DeepSeek 适配器 + 注册表 - platforms 表去除 method/url/headers/body/balance_path,新增 provider_id - 现有数据库已一次性迁移(备份 data/monitor.db.bak-v1),不保留迁移工具 - 平台 UI 改为选择内置提供方;fetcher/monitor 走 provider 构建请求与解析 - 表达式引擎(运算符/函数)随架构保留,供 provider 内部使用 - 测试更新至 provider 模式,共 92 个
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
"""平台适配器注册表:新增平台 = 加一个文件 + 在这里登记。"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from app.providers.base import BalanceProvider
|
||||
from app.providers.deepseek import DeepSeekProvider
|
||||
|
||||
PROVIDERS: dict[str, type[BalanceProvider]] = {
|
||||
"deepseek": DeepSeekProvider,
|
||||
}
|
||||
|
||||
|
||||
def get_provider(provider_id: str) -> BalanceProvider | None:
|
||||
cls = PROVIDERS.get(provider_id)
|
||||
return cls() if cls else None
|
||||
|
||||
|
||||
def list_providers() -> list[dict]:
|
||||
return [
|
||||
{
|
||||
"id": p.id,
|
||||
"name": p.name,
|
||||
"currency": p.currency,
|
||||
"icon": p.icon,
|
||||
"description": p.description,
|
||||
}
|
||||
for p in (cls() for cls in PROVIDERS.values())
|
||||
]
|
||||
Reference in New Issue
Block a user