1. 30 Dec, 2025 1 commit
  2. 29 Dec, 2025 35 commits
  3. 28 Dec, 2025 4 commits
    • IanShaw027's avatar
      fix(简易模式): 统一前端状态管理,修复路由守卫失效问题 · 2a708704
      IanShaw027 authored
      **问题**:
      1. login/register 未处理 run_mode,导致 authStore.runMode 不更新
      2. 侧边栏使用 simpleMode.value,与路由守卫的 authStore.isSimpleMode 不一致
      
      **修复**:
      1. 在 login() 和 register() 中提取并设置 run_mode
      2. 统一侧边栏使用 authStore.isSimpleMode
      
      **影响**:
      - 路由守卫现在可以正确工作
      - 前端UI状态与后端配置保持一致
      - 登录/注册后立即生效,无需刷新
      2a708704
    • IanShaw027's avatar
      test: 修复分组测试以适配默认分组 · 9e9811cb
      IanShaw027 authored
      由于简易模式会自动创建3个默认分组(anthropic-default, openai-default, gemini-default),
      需要更新测试用例的预期数量:
      - TestList: 期望5个分组(3个默认 + 2个测试)
      - TestListActive: 期望4个活跃分组(3个默认 + 1个测试)
      - TestListActiveByPlatform: 期望2个Anthropic分组(1个默认 + 1个测试)
      - TestListWithFilters_Platform: 期望2个OpenAI分组(1个默认 + 1个测试)
      9e9811cb
    • IanShaw027's avatar
      fix(frontend): 修复所有页面的UTC时区日期问题并优化初始化 · a5d6035c
      IanShaw027 authored
      **问题**:
      - 使用 toISOString() 格式化日期导致UTC时区问题
      - 在UTC+8时区凌晨时,日期会显示为前一天
      - 日期范围初始化在 onMounted 中导致重复渲染和请求
      
      **修复**:
      - 统一使用本地时区格式化日期
      - 在变量声明时就初始化日期范围,避免延迟初始化
      - 移除 initializeDateRange() 函数,直接在声明时设置正确值
      - 添加 formatLocalDate() 辅助函数统一日期格式化逻辑
      
      **影响范围**:
      - 用户仪表盘 (DashboardView)
      - 管理员仪表盘 (admin/DashboardView)
      - 用户使用记录 (UsageView)
      - 管理员使用记录 (admin/UsageView)
      
      **效果**:
      - 日期范围正确包含当天数据
      - 避免页面加载时的重复请求
      - 改善用户体验,减少不必要的重新渲染
      a5d6035c
    • IanShaw027's avatar
      feat(全栈): 实现简易模式核心功能 · ecfad788
      IanShaw027 authored
      **功能概述**:
      实现简易模式(Simple Mode),为个人用户和小团队提供简化的使用体验,隐藏复杂的分组、订阅、配额等概念。
      
      **后端改动**:
      1. 配置系统
         - 新增 run_mode 配置项(standard/simple)
         - 支持环境变量 RUN_MODE
         - 默认值为 standard
      
      2. 数据库初始化
         - 自动创建3个默认分组:anthropic-default、openai-default、gemini-default
         - 默认分组配置:无并发限制、active状态、非独占
         - 幂等性保证:重复启动不会重复创建
      
      3. 账号管理
         - 创建账号时自动绑定对应平台的默认分组
         - 如果未指定分组,自动查找并绑定默认分组
      
      **前端改动**:
      1. 状态管理
         - authStore 新增 isSimpleMode 计算属性
         - 从后端API获取并同步运行模式
      
      2. UI隐藏
         - 侧边栏:隐藏分组管理、订阅管理、兑换码菜单
         - 账号管理页面:隐藏分组列
         - 创建/编辑账号对话框:隐藏分组选择器
      
      3. 路由守卫
         - 限制访问分组、订阅、兑换码相关页面
         - 访问受限页面时自动重定向到仪表板
      
      **配置示例**:
      ```yaml
      run_mode: simple
      
      run_mode: standard
      ```
      
      **影响范围**:
      - 后端:配置、数据库迁移、账号服务
      - 前端:认证状态、路由、UI组件
      - 部署:配置文件示例
      
      **兼容性**:
      - 简易模式和标准模式可无缝切换
      - 不需要数据迁移
      - 现有数据不受影响
      ecfad788