From 0a4e0edc85c03e6a5c0479b37e958eb27944c39e Mon Sep 17 00:00:00 2001 From: song Date: Tue, 30 Dec 2025 23:58:03 +0800 Subject: [PATCH] =?UTF-8?q?fix(Antigravity):=20=E9=85=8D=E9=A2=9D=E5=88=B7?= =?UTF-8?q?=E6=96=B0=E6=97=B6=E8=87=AA=E5=8A=A8=E8=A1=A5=E5=85=85=E7=BC=BA?= =?UTF-8?q?=E5=A4=B1=E7=9A=84=20project=5Fid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 旧账户可能没有 project_id,在刷新配额时自动生成并保存。 --- .../service/antigravity_quota_refresher.go | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/backend/internal/service/antigravity_quota_refresher.go b/backend/internal/service/antigravity_quota_refresher.go index de067b07..8f63fa38 100644 --- a/backend/internal/service/antigravity_quota_refresher.go +++ b/backend/internal/service/antigravity_quota_refresher.go @@ -145,16 +145,25 @@ func (r *AntigravityQuotaRefresher) refreshAccountQuota(ctx context.Context, acc client := antigravity.NewClient(proxyURL) - // 获取账户类型(tier) + // 获取账户类型(tier)和 project_id loadResp, _ := client.LoadCodeAssist(ctx, accessToken) if loadResp != nil { r.updateAccountTier(account, loadResp) + // 尝试从 API 获取 project_id + if projectID == "" && loadResp.CloudAICompanionProject != "" { + projectID = loadResp.CloudAICompanionProject + account.Credentials["project_id"] = projectID + } } - // 调用 API 获取配额(需要 projectID) + // 如果仍然没有 project_id,随机生成一个并保存 if projectID == "" { - return r.accountRepo.Update(ctx, account) // 没有 projectID,只更新 tier + projectID = antigravity.GenerateMockProjectID() + account.Credentials["project_id"] = projectID + log.Printf("[AntigravityQuotaRefresher] 为账户 %d 生成随机 project_id: %s", account.ID, projectID) } + + // 调用 API 获取配额 modelsResp, err := client.FetchAvailableModels(ctx, accessToken, projectID) if err != nil { return err