Commit Graph

3 Commits

Author SHA1 Message Date
chiguyong 900a90ba84 fix: 修复数据库schema兼容性和E2E测试
后端修复:
- User模型添加organization_id和role字段,匹配Prisma数据库schema
- SQLAlchemy模型FK类型从UUID改为String(36),匹配users.id的text类型
- lifespan中create_all改为SELECT 1,避免与Prisma schema冲突
- 数据库驱动从asyncpg切换到psycopg,修复macOS Unix socket问题
- auth API使用UserResponse.from_user()处理属性映射
- 修复auth service使用正确的列名(password/username)

E2E测试修复:
- hasProjects()先等待页面加载完成再检测空/错误状态
- loginAndWait增加60s超时和重试逻辑,解决NextAuth间歇性超时
- login-redirect-system-chrome添加browserName skip和重试
- login-redirect子页面测试使用domcontentloaded等待策略
- Dashboard空状态下依赖项目的测试正确skip
- playwright.config.ts reuseExistingServer硬编码为true
2026-05-27 20:57:49 +08:00
chiguyong 4cc8f73bb4 feat: API Key管理+用量追踪完整功能链路v2(真实可用)
持久化存储:
- APIKey模型 + APIKeyRepository(SQLAlchemy)
- UsageRecord模型 + UsageRepository(SQLAlchemy)

API Key验证:
- KeyVerifier服务(真正调用引擎API验证)
- 支持9个引擎的真实性验证

加密存储:
- KeyEncryption服务(Fernet AES加密)
- 环境变量API_KEY_ENCRYPTION_KEY

用量追踪:
- UsageRecorder自动记录查询用量
- 按引擎/按日聚合(修复by_day空dict)
- UserQuotaService支持套餐配额(free:10/basic:50/pro:200/enterprise:1000)

集成修复:
- AI引擎适配器使用APIKeyManager获取Key(用户Key>系统Key>环境变量)
- SmartRouter与APIKeyManager集成(过滤无Key引擎)
- BatchQueryService自动记录用量并传递用户上下文
- 所有适配器支持引擎特定代理环境变量

前端:
- usage页面替换MOCK为真实API调用
- 显示加载/错误/空状态

测试: 630 passed
2026-05-25 20:43:08 +08:00
chiguyong a8927a18e6 feat: GEO平台MVP完整实现
- 后端: FastAPI + SQLAlchemy 2.0 + PostgreSQL + Redis
  - 用户认证(注册/登录/JWT)
  - 查询词CRUD管理
  - 引用数据统计与查询
  - CSV报告导出
  - Citation Engine引用检测引擎(Playwright)
  - APScheduler定时调度器

- 前端: Next.js 14 + TailwindCSS + shadcn/ui + Recharts
  - 登录/注册页面(NextAuth.js)
  - Dashboard数据总览(统计卡片+趋势图+平台对比图)
  - 查询词管理(完整CRUD+立即查询)
  - 引用记录查看与筛选
  - 报告导出(CSV)
  - 设置页面(用户信息+套餐对比)

- 基础设施: Docker Compose(PostgreSQL/Redis/FastAPI/Next.js)
- 测试: 39个pytest单元/集成测试全部通过
2026-04-23 14:46:43 +08:00