将 Antigravity 的额度刷新从后台定时刷新改为按需获取模式,与 Claude 统一: - 删除 AntigravityQuotaRefresher 后台服务 - 新增 QuotaFetcher 接口和 AntigravityQuotaFetcher 实现 - 前端改为调用 usage API 获取额度,支持 loading/error 状态 - 统一使用内存缓存(10 分钟 TTL)
20 lines
538 B
Go
20 lines
538 B
Go
package service
|
|
|
|
import (
|
|
"context"
|
|
)
|
|
|
|
// QuotaFetcher 额度获取接口,各平台实现此接口
|
|
type QuotaFetcher interface {
|
|
// CanFetch 检查是否可以获取此账户的额度
|
|
CanFetch(account *Account) bool
|
|
// FetchQuota 获取账户额度信息
|
|
FetchQuota(ctx context.Context, account *Account, proxyURL string) (*QuotaResult, error)
|
|
}
|
|
|
|
// QuotaResult 额度获取结果
|
|
type QuotaResult struct {
|
|
UsageInfo *UsageInfo // 转换后的使用信息
|
|
Raw map[string]any // 原始响应,可存入 account.Extra
|
|
}
|