• ianshaw's avatar
    feat(gemini): 添加 Google One 存储空间推断 Tier 功能 · 7df914af
    ianshaw authored
    ## 功能概述
    通过 Google Drive API 获取存储空间配额来推断 Google One 订阅等级,并优化统一的配额显示系统。
    
    ## 后端改动
    - 新增 Drive API 客户端 (drive_client.go)
      - 支持代理和指数退避重试
      - 处理 403/429 错误
    - 添加 Tier 推断逻辑 (inferGoogleOneTier)
      - 支持 6 种 tier 类型:AI_PREMIUM, GOOGLE_ONE_STANDARD, GOOGLE_ONE_BASIC, FREE, GOOGLE_ONE_UNKNOWN, GOOGLE_ONE_UNLIMITED
    - 集成到 OAuth 流程
      - ExchangeCode: 授权时自动获取 tier
      - RefreshAccountToken: Token 刷新时更新 tier (24小时缓存)
    - 新增管理 API 端点
      - POST /api/v1/admin/accounts/:id/refresh-tier (单个账号刷新)
      - POST /api/v1/admin/accounts/batch-refresh-tier (批量刷新)
    
    ## 前端改动
    - 更新 AccountQuotaInfo.vue
      - 添加 Google One tier 标签映射
      - 添加 tier 颜色样式 (紫色/蓝色/绿色/灰色/琥珀色)
    - 更新 AccountUsageCell.vue
      - 添加 Google One tier 显示逻辑
      - 根据 oauth_type 区分显示方式
    - 添加国际化翻译 (en.ts, zh.ts)
      - aiPremium, standard, basic, free, personal, unlimited
    
    ## Tier 推断规则
    - >= 2TB: AI Premium
    - >= 200GB: Google One Standard
    - >= 100GB: Google One Basic
    - >= 15GB: Free
    - > 100TB: Unlimited (G Suite legacy)
    - 其他/失败: Unknown (显示为 Personal)
    
    ## 优雅降级
    - Drive API 失败时使用 GOOGLE_ONE_UNKNOWN
    - 不阻断 OAuth 流程
    - 24小时缓存避免频繁调用
    
    ## 测试
    -  后端编译成功
    -  前端构建成功
    -  所有代码符合现有规范
    7df914af
AccountUsageCell.vue 24.4 KB