1. 04 Jan, 2026 1 commit
    • IanShaw027's avatar
      feat(gemini): 完善 Gemini OAuth 配额系统和用量显示 · a185ad11
      IanShaw027 authored
      主要改动:
      - 后端:重构 Gemini 配额服务,支持多层级配额策略(GCP Standard/Free, Google One, AI Studio, Code Assist)
      - 后端:优化 OAuth 服务,增强 tier_id 识别和存储逻辑
      - 后端:改进用量统计服务,支持不同平台的配额查询
      - 后端:优化限流服务,增加临时解除调度状态管理
      - 前端:统一四种授权方式的用量显示格式和徽标样式
      - 前端:增强账户配额信息展示,支持多种配额类型
      - 前端:改进创建和重新授权模态框的用户体验
      - 国际化:完善中英文配额相关文案
      - 移除 CHANGELOG.md 文件
      
      测试:所有单元测试通过
      a185ad11
  2. 03 Jan, 2026 1 commit
    • ianshaw's avatar
      feat(gemini): 优化 OAuth 和配额展示 · 26106eb0
      ianshaw authored
      主要改进:
      - 修复 google_one OAuth scopes 配置问题
      - 添加 Gemini 账号配额展示组件
      - 优化 Code Assist 类型检测逻辑
      - 添加 OAuth 测试用例
      26106eb0
  3. 01 Jan, 2026 1 commit
    • 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
  4. 26 Dec, 2025 3 commits
    • ianshaw's avatar
      feat(frontend): 添加 Gemini OAuth 能力查询 API · 1bec3599
      ianshaw authored
      - 添加 GeminiOAuthCapabilities 类型定义
      - 添加 getCapabilities API 函数
      - useGeminiOAuth composable 导出 getCapabilities 方法
      1bec3599
    • ianshaw's avatar
      feat(frontend): 支持 Gemini OAuth 类型选择 (Code Assist/AI Studio) · 09431cfc
      ianshaw authored
      - CreateAccountModal.vue: 新增 OAuth 类型选择 UI
      - ReAuthAccountModal.vue: 重授权支持选择类型
      - OAuthAuthorizationFlow.vue: 新增 Project ID 输入框
      - AccountTestModal.vue: Gemini 模型默认选择优化
      - useGeminiOAuth.ts: OAuth 逻辑参数变更
      - gemini.ts: API 调用更新
      09431cfc
    • ianshaw's avatar
      feat(frontend): 新增 Gemini OAuth 授权流程 · 0b30cc2b
      ianshaw authored
      - 新增 /admin/gemini API 接口封装(generateAuthUrl, exchangeCode)
      - 新增 useGeminiOAuth composable 处理 Gemini OAuth 流程
      - 新增 OAuthCallbackView 视图用于接收 OAuth 回调
      - 支持 code/state 参数提取和 credentials 构建
      0b30cc2b