1. 29 Dec, 2025 1 commit
    • song's avatar
      feat(antigravity): 添加混合调度可选功能 · 1ad29032
      song authored
      - 后端:账户模型添加 IsMixedSchedulingEnabled() 方法,读取 extra.mixed_scheduling
      - 后端:gateway_service 和 gemini_messages_compat_service 支持混合调度逻辑
      - 后端:分组创建支持指定 platform 参数
      - 前端:账户创建/编辑弹窗添加混合调度开关(仅 antigravity 账户显示)
      - 前端:混合调度开关添加问号图标和 tooltip 说明
      - 前端:GroupSelector 支持根据 mixedScheduling 属性过滤分组
      - 前端:分组创建支持选择 platform
      - 测试:e2e 测试添加 ENDPOINT_PREFIX 环境变量支持混合/隔离模式测试
      - 测试:删除过时的 Claude signature 测试用例
      1ad29032
  2. 28 Dec, 2025 12 commits
  3. 27 Dec, 2025 14 commits
    • yangjianbo's avatar
      fix(仪表盘): 修复最近用量查询日期参数格式 · 97ab649d
      yangjianbo authored
      问题:仪表盘“最近用量”调用 /usage 时传入完整 ISO 时间戳(含时分秒/时区),后端 start_date/end_date 仅接受 YYYY-MM-DD,导致请求参数校验失败,页面无法正常展示最近用量。
      
      解决:
      - loadRecentUsage 改为传入 YYYY-MM-DD(从 toISOString() 取日期部分),与后端参数格式约定保持一致
      - 补充注释说明:后端会将 end_date 扩展到当日结束时间,以及 toISOString() 为 UTC 可能带来的统计口径差异
      - 同步修正 usageAPI.getByDateRange 的参数注释,避免后续误用
      
      验证:npm -C frontend run build
      97ab649d
    • IanShaw's avatar
      fix(frontend): 修复用户仪表板日期格式错误导致请求失败 (#55) · 523fa9f7
      IanShaw authored
      修复 loadRecentUsage 函数中日期格式问题,将 ISO 完整格式改为 YYYY-MM-DD 格式,与后端 API 期望一致。
      523fa9f7
    • shaw's avatar
      fix(frontend): 修复DataTable无限循环和i18n邮箱解析错误 · 5187db5e
      shaw authored
      - 修复DataTable组件watch监听actionsExpanded导致的无限循环卡死问题
      - 为AccountsView和UsersView添加actionsCount属性启用操作列展开功能
      - 修复i18n翻译中邮箱地址的@符号未转义导致的编译错误
      5187db5e
    • IanShaw027's avatar
      fix(frontend): 统一账号编辑弹窗宽度与新增弹窗保持一致 · 9cd97c9e
      IanShaw027 authored
      问题:
      - 编辑账号弹窗使用size='lg'
      - 新增账号弹窗使用size='xl'
      - 两者宽度不一致,体验不统一
      
      修复:
      - 将EditAccountModal的size从lg改为xl
      - 与CreateAccountModal保持一致
      9cd97c9e
    • IanShaw027's avatar
      fix(frontend): 修复i18n翻译中的Invalid linked format错误 · d521191e
      IanShaw027 authored
      问题:
      - admin/settings页面无法访问,报错'Invalid linked format'
      - vue-i18n解析器将{'@'}误认为链接格式语法
      
      修复:
      - 将zh.ts和en.ts中的{'@'}替换为直接的@字符
      - 影响范围:代理配置相关的翻译字符串
      d521191e
    • IanShaw027's avatar
      feat(frontend): DataTable组件增强 - 操作列宽度自适应和列数自适应padding · fd78993b
      IanShaw027 authored
      新增功能:
      
      1. 操作列宽度自适应
         - checkActionsColumnWidth 方法:智能检测操作按钮是否超出列宽
           - 临时展开所有按钮测量实际宽度
           - 计算包含gap的总宽度
           - 与可用宽度对比,自动显示/隐藏"展开"按钮
         - 新增 actionsCount prop:
           - 用于快速判断是否需要展开功能
           - 避免DOM查询带来的性能开销
      
      2. 列数自适应padding
         - getAdaptivePaddingClass 方法:根据列数动态调整内边距
           - ≥10列 → px-2 (8px)
           - ≥7列  → px-3 (12px)
           - ≥5列  → px-4 (16px)
           - <5列  → px-6 (24px,原始值)
         - 让表格在列数较多时更紧凑,提升空间利用率
      fd78993b
    • shaw's avatar
      fix(frontend): 修复添加账号弹窗宽度和tooltip被截断问题 · 80cce858
      shaw authored
      - 将弹窗尺寸从 lg 改为 xl,增加内容显示空间
      - 修复 AI Studio tooltip 被弹窗边界截断的问题
        - 调整定位从 left-0 改为 right-0
        - 减小宽度从 w-[28rem] 改为 w-80
        - 提高 z-index 确保正确显示
      80cce858
    • IanShaw027's avatar
      refactor(frontend): 优化用户视图和设置向导 · ea2821d1
      IanShaw027 authored
      - 改进API密钥管理界面
      - 优化用户使用统计视图
      - 完善初始化设置向导
      ea2821d1
    • IanShaw027's avatar
      refactor(frontend): 优化管理后台视图 · 7a0de176
      IanShaw027 authored
      - 改进账户管理视图
      - 优化分组管理界面
      - 完善代理管理功能
      - 增强兑换码管理
      - 改进订阅管理视图
      - 优化使用统计展示
      - 完善用户管理界面
      7a0de176
    • IanShaw027's avatar
      refactor(frontend): 优化格式化工具函数 · 35b1bc37
      IanShaw027 authored
      - 改进数据格式化逻辑
      - 增强工具函数可读性
      35b1bc37
    • IanShaw027's avatar
      feat(frontend): 更新国际化翻译 · 8d387886
      IanShaw027 authored
      - 新增英文翻译条目
      - 完善中文翻译内容
      - 改进多语言支持
      8d387886
    • IanShaw027's avatar
      refactor(frontend): 优化通用组件 · c615a426
      IanShaw027 authored
      - 改进ConfirmDialog对话框组件
      - 增强DataTable表格组件功能和响应式布局
      - 优化EmptyState空状态组件
      - 完善SubscriptionProgressMini订阅进度组件
      c615a426
    • shaw's avatar
      feat: 增强前端clipboard功能 · 016d7ef6
      shaw authored
      016d7ef6
    • IanShaw's avatar
      feat(frontend): 前端界面优化与使用统计功能增强 (#46) · 254f1254
      IanShaw authored
      * feat(frontend): 前端界面优化与使用统计功能增强
      
      主要改动:
      
      1. 表格布局统一优化
         - 新增 TablePageLayout 通用布局组件
         - 统一所有管理页面的表格样式和交互
         - 优化 DataTable、Pagination、Select 等通用组件
      
      2. 使用统计功能增强
         - 管理端: 添加完整的筛选和显示功能
         - 用户端: 完善 API Key 列显示
         - 后端: 优化使用统计数据结构和查询
      
      3. 账户组件优化
         - 优化 AccountStatsModal、AccountUsageCell 等组件
         - 统一进度条和统计显示样式
      
      4. 其他改进
         - 完善中英文国际化
         - 统一页面样式和交互体验
         - 优化各视图页面的响应式布局
      
      * fix(test): 修复 stubUsageLogRepo.ListWithFilters 测试 stub
      
      测试用例 GET /api/v1/usage 返回 500 是因为 stub 方法未实现,
      现在正确返回基于 UserID 过滤的日志数据。
      
      * feat(frontend): 统一日期时间显示格式
      
      **主要改动**:
      1. 增强 utils/format.ts:
         - 新增 formatDateOnly() - 格式: YYYY-MM-DD
         - 新增 formatDateTime() - 格式: YYYY-MM-DD HH:mm:ss
      
      2. 全局替换视图中的格式化函数:
         - 移除各视图中的自定义 formatDate 函数
         - 统一导入使用 @/utils/format 中的函数
         - created_at/updated_at 使用 formatDateTime
         - expires_at 使用 formatDateOnly
      
      3. 受影响的视图 (8个):
         - frontend/src/views/user/KeysView.vue
         - frontend/src/views/user/DashboardView.vue
         - frontend/src/views/user/UsageView.vue
         - frontend/src/views/user/RedeemView.vue
         - frontend/src/views/admin/UsersView.vue
         - frontend/src/views/admin/UsageView.vue
         - frontend/src/views/admin/RedeemView.vue
         - frontend/src/views/admin/SubscriptionsView.vue
      
      **效果**:
      - 日期统一显示为 YYYY-MM-DD
      - 时间统一显示为 YYYY-MM-DD HH:mm:ss
      - 提升可维护性,避免格式不一致
      
      * fix(frontend): 补充遗漏的时间格式化统一
      
      **补充修复**(基于 code review 发现的遗漏):
      
      1. 增强 utils/format.ts:
         - 新增 formatTime() - 格式: HH:mm
      
      2. 修复 4 个遗漏的文件:
         - src/views/admin/UsersView.vue
           * 删除 formatExpiresAt(),改用 formatDateTime()
           * 修复订阅过期时间 tooltip 显示格式不一致问题
      
         - src/views/user/ProfileView.vue
           * 删除 formatMemberSince(),改用 formatDate(date, 'YYYY-MM')
           * 统一会员起始时间显示格式
      
         - src/views/user/SubscriptionsView.vue
           * 修改 formatExpirationDate() 使用 formatDateOnly()
           * 保留天数计算逻辑
      
         - src/components/account/AccountStatusIndicator.vue
           * 删除本地 formatTime(),改用 utils/format 中的统一函数
           * 修复 rate limit 和 overload 重置时间显示
      
      **验证**:
      - TypeScript 类型检查通过 ✓
      - 前端构建成功 ✓
      - 所有剩余的 toLocaleString() 都是数字格式化,属于正确用法 ✓
      
      **效果**:
      - 订阅过期时间统一为 YYYY-MM-DD HH:mm:ss
      - 会员起始时间统一为 YYYY-MM
      - 重置时间统一为 HH:mm
      - 消除所有不规范的原生 locale 方法调用
      254f1254
  4. 26 Dec, 2025 13 commits