From 55464f35d990c108d035c906ec8fbaf163345a1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=81=E6=B6=9B?= Date: Tue, 30 Sep 2025 20:34:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E5=AE=A1=E6=9F=A5=E9=94=99=E8=AF=AF=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/services/geminiService.ts | 38 +++++++++++++++++------------------ 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/services/geminiService.ts b/src/services/geminiService.ts index 2955c7c..d37ef21 100644 --- a/src/services/geminiService.ts +++ b/src/services/geminiService.ts @@ -139,9 +139,9 @@ export class GeminiService { // 准备请求配置,包括abortSignal const generateContentParams: { - model: string; - contents: Array<{ text: string } | { inlineData: { mimeType: string; data: string } }>; - config?: { httpOptions: { abortSignal: AbortSignal } }; + model: string + contents: Array<{ text: string } | { inlineData: { mimeType: string; data: string } }> + config?: { httpOptions: { abortSignal: AbortSignal } } } = { model: 'gemini-2.5-flash-image-preview', contents, @@ -151,8 +151,8 @@ export class GeminiService { if (request.abortSignal) { generateContentParams.config = { httpOptions: { - abortSignal: request.abortSignal - } + abortSignal: request.abortSignal, + }, } } @@ -164,7 +164,7 @@ export class GeminiService { if (candidate.finishReason === 'PROHIBITED_CONTENT') { throw new Error('内容被禁止:您的请求包含不允许的内容。请尝试其他提示。') } - if (candidate.finishReason === 'IMAGE_SAFETY') { + if (candidate.finishReason === 'IMAGE_SAFETY' || candidate.finishReason === 'IMAGE_OTHER') { throw new Error('图像安全检查失败:请求的图像内容可能不安全。请尝试调整提示词。') } // 检查finishReason为STOP但没有inlineData的情况 @@ -378,9 +378,9 @@ export class GeminiService { // 准备请求配置,包括abortSignal const generateContentParams: { - model: string; - contents: Array<{ text: string } | { inlineData: { mimeType: string; data: string } }>; - config?: { httpOptions: { abortSignal: AbortSignal } }; + model: string + contents: Array<{ text: string } | { inlineData: { mimeType: string; data: string } }> + config?: { httpOptions: { abortSignal: AbortSignal } } } = { model: 'gemini-2.5-flash-image-preview', contents, @@ -390,8 +390,8 @@ export class GeminiService { if (request.abortSignal) { generateContentParams.config = { httpOptions: { - abortSignal: request.abortSignal - } + abortSignal: request.abortSignal, + }, } } @@ -403,7 +403,7 @@ export class GeminiService { if (candidate.finishReason === 'PROHIBITED_CONTENT') { throw new Error('内容被禁止:您的请求包含不允许的内容。请尝试其他提示。') } - if (candidate.finishReason === 'IMAGE_SAFETY') { + if (candidate.finishReason === 'IMAGE_SAFETY' || candidate.finishReason === 'IMAGE_OTHER') { throw new Error('图像安全检查失败:请求的图像内容可能不安全。请尝试调整提示词。') } // 检查finishReason为STOP但没有inlineData的情况 @@ -547,9 +547,9 @@ export class GeminiService { // 准备请求配置,包括abortSignal const generateContentParams: { - model: string; - contents: Array<{ text: string } | { inlineData: { mimeType: string; data: string } }>; - config?: { httpOptions: { abortSignal: AbortSignal } }; + model: string + contents: Array<{ text: string } | { inlineData: { mimeType: string; data: string } }> + config?: { httpOptions: { abortSignal: AbortSignal } } } = { model: 'gemini-2.5-flash-image-preview', contents: prompt, @@ -559,8 +559,8 @@ export class GeminiService { if (request.abortSignal) { generateContentParams.config = { httpOptions: { - abortSignal: request.abortSignal - } + abortSignal: request.abortSignal, + }, } } @@ -572,7 +572,7 @@ export class GeminiService { if (candidate.finishReason === 'PROHIBITED_CONTENT') { throw new Error('内容被禁止:您的请求包含不允许的内容。请尝试其他提示。') } - if (candidate.finishReason === 'IMAGE_SAFETY') { + if (candidate.finishReason === 'IMAGE_SAFETY' || candidate.finishReason === 'IMAGE_OTHER') { throw new Error('图像安全检查失败:请求的图像内容可能不安全。请尝试调整提示词。') } // 检查finishReason为STOP但没有inlineData的情况 @@ -628,4 +628,4 @@ export class GeminiService { } } -export const geminiService = new GeminiService() \ No newline at end of file +export const geminiService = new GeminiService()