feat(test): 添加 Gemini 双响应格式支持
添加对两种 Gemini 响应格式的支持:
- AI Studio: `{"candidates": [...]}`
- Gemini CLI: `{"response": {"candidates": [...]}}`
通过 unwrap 逻辑自动检测并适配两种格式,确保账号测试功能
对所有 Gemini 账号类型都能正常工作。
合并 PR #43 的剩余功能到 PR #37
This commit is contained in:
@@ -592,7 +592,12 @@ func (s *AccountTestService) processGeminiStream(c *gin.Context, body io.Reader)
|
||||
continue
|
||||
}
|
||||
|
||||
// Extract text from candidates[0].content.parts[].text
|
||||
// Support two Gemini response formats:
|
||||
// - AI Studio: {"candidates": [...]}
|
||||
// - Gemini CLI: {"response": {"candidates": [...]}}
|
||||
if resp, ok := data["response"].(map[string]any); ok && resp != nil {
|
||||
data = resp
|
||||
}
|
||||
if candidates, ok := data["candidates"].([]any); ok && len(candidates) > 0 {
|
||||
if candidate, ok := candidates[0].(map[string]any); ok {
|
||||
// Check for completion
|
||||
|
||||
Reference in New Issue
Block a user