Commit Graph

5 Commits

Author SHA1 Message Date
shaw
cd9d31f5f2 fix: 修复NeedsRefresh bug导致刷新失败的问题 2025-12-28 11:23:52 +08:00
shaw
2101f1d1c8 fix: 修复claude OAuth账户刷新token失败的bug 2025-12-27 13:50:35 +08:00
IanShaw027
576bf4639c refactor: 统一使用 mergeMap 函数提升代码一致性
根据 Gemini CLI 代码审查建议:

## 修改内容
- 将 Gemini OAuth 同步中的 `mergeJSONB` 调用替换为 `mergeMap`
- 删除不再使用的 `mergeJSONB` 函数定义

## 原因
- 其他平台(OpenAI、Anthropic)的账户同步都使用 `mergeMap`
- `mergeJSONB` 是为旧的 `model.JSONB` 类型设计,与重构后的架构不一致
- 统一函数命名提高代码可读性和可维护性

## 影响范围
- backend/internal/service/crs_sync_service.go (4处替换)
- backend/internal/service/account.go (删除 mergeJSONB 函数)

## 验证
✓ 编译通过
✓ 功能逻辑无变化(mergeMap 和 mergeJSONB 实现相同)
2025-12-26 22:15:15 +08:00
IanShaw027
9db52838b5 fix(backend): 适配重构后的架构修复 Gemini OAuth 集成
## 主要修改

1. **移除 model 包引用**
   - 删除所有 `internal/model` 包的 import
   - 使用 service 包中的类型定义(Account, Platform常量等)

2. **修复类型转换**
   - JSONB → map[string]any
   - 添加 mergeJSONB 辅助函数
   - 添加 Account.IsGemini() 方法

3. **更新中间件调用**
   - GetUserFromContext → GetAuthSubjectFromContext
   - 适配新的并发控制签名(传递 ID 和 Concurrency 而不是完整对象)

4. **修复 handler 层**
   - 更新 gemini_v1beta_handler.go
   - 修正 billing 检查和 usage 记录

## 影响范围
- backend/internal/service/gemini_*.go
- backend/internal/service/account_test_service.go
- backend/internal/service/crs_sync_service.go
- backend/internal/handler/gemini_v1beta_handler.go
- backend/internal/handler/gateway_handler.go
- backend/internal/handler/admin/account_handler.go
2025-12-26 22:07:55 +08:00
Forest
e5a77853b0 refactor: 调整项目结构为单向依赖 2025-12-26 16:45:40 +08:00