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:
2026-08-05 00:56:22 +08:00
parent 1475821519
commit bdeb353bc2
16 changed files with 704 additions and 169 deletions
+3 -4
View File
@@ -12,8 +12,7 @@ def _row(**overrides):
"threshold": 0, "enabled": 1, "alert_armed": 1,
"last_balance": None, "last_status": "pending", "last_error": "",
"last_check_at": None, "note": "",
"platform_name": "P", "currency": "USD", "icon": "", "method": "GET",
"url": "http://x", "headers": "{}", "body": "", "balance_path": "b",
"provider_id": "deepseek", "platform_name": "P", "currency": "USD", "icon": "",
"interval_seconds": None, "retry_count": None, "timeout_seconds": None,
"platform_enabled": 1, "platform_note": "",
}
@@ -32,8 +31,8 @@ class TestSplit:
assert platform["name"] == "P"
assert platform["id"] == 2
assert platform["enabled"] == 1
assert platform["url"] == "http://x"
assert platform["balance_path"] == "b"
assert platform["provider_id"] == "deepseek"
assert platform["currency"] == "USD"
def test_plain_key_passthrough(self):
"""未编码的 key(历史数据)原样使用,不抛错。"""