You've already forked Nano-Banana-AI-Image-Editor
优化界面
This commit is contained in:
@@ -19,19 +19,20 @@ export const useImageGeneration = () => {
|
||||
// 重置中断标志
|
||||
isCancelledRef.current = false
|
||||
|
||||
const images = await geminiService.generateImage(request)
|
||||
const result = await geminiService.generateImage(request)
|
||||
|
||||
// 检查是否已中断
|
||||
if (isCancelledRef.current) {
|
||||
throw new Error('生成已中断')
|
||||
}
|
||||
|
||||
return images
|
||||
return result
|
||||
},
|
||||
onMutate: () => {
|
||||
setIsGenerating(true)
|
||||
},
|
||||
onSuccess: async (images, request) => {
|
||||
onSuccess: async (result, request) => {
|
||||
const { images, usageMetadata } = result;
|
||||
if (images.length > 0) {
|
||||
const outputAssets: Asset[] = images.map((base64, index) => ({
|
||||
id: generateId(),
|
||||
@@ -82,6 +83,11 @@ export const useImageGeneration = () => {
|
||||
console.warn('未找到accessToken,跳过上传');
|
||||
}
|
||||
|
||||
// 显示Token消耗信息(如果可用)
|
||||
if (usageMetadata?.totalTokenCount) {
|
||||
addToast(`本次生成消耗 ${usageMetadata.totalTokenCount} Tokens`, 'info', 3000);
|
||||
}
|
||||
|
||||
const generation: Generation = {
|
||||
id: generateId(),
|
||||
prompt: request.prompt,
|
||||
@@ -102,7 +108,8 @@ export const useImageGeneration = () => {
|
||||
outputAssets,
|
||||
modelVersion: 'gemini-2.5-flash-image-preview',
|
||||
timestamp: Date.now(),
|
||||
uploadResults: uploadResults
|
||||
uploadResults: uploadResults,
|
||||
usageMetadata: usageMetadata // 保存usageMetadata到历史记录
|
||||
};
|
||||
|
||||
addGeneration(generation);
|
||||
@@ -249,19 +256,20 @@ export const useImageEditing = () => {
|
||||
seed,
|
||||
}
|
||||
|
||||
const images = await geminiService.editImage(request)
|
||||
const result = await geminiService.editImage(request)
|
||||
|
||||
// 检查是否已中断
|
||||
if (isCancelledRef.current) {
|
||||
throw new Error('编辑已中断')
|
||||
}
|
||||
|
||||
return { images, maskedReferenceImage }
|
||||
return { result, maskedReferenceImage }
|
||||
},
|
||||
onMutate: () => {
|
||||
setIsGenerating(true)
|
||||
},
|
||||
onSuccess: async ({ images, maskedReferenceImage }, instruction) => {
|
||||
onSuccess: async ({ result, maskedReferenceImage }, instruction) => {
|
||||
const { images, usageMetadata } = result;
|
||||
if (images.length > 0) {
|
||||
const outputAssets: Asset[] = images.map((base64, index) => ({
|
||||
id: generateId(),
|
||||
@@ -312,6 +320,11 @@ export const useImageEditing = () => {
|
||||
console.warn('未找到accessToken,跳过上传');
|
||||
}
|
||||
|
||||
// 显示Token消耗信息(如果可用)
|
||||
if (usageMetadata?.totalTokenCount) {
|
||||
addToast(`本次编辑消耗 ${usageMetadata.totalTokenCount} Tokens`, 'info', 3000);
|
||||
}
|
||||
|
||||
const edit: Edit = {
|
||||
id: generateId(),
|
||||
parentGenerationId: selectedGenerationId || '',
|
||||
@@ -320,7 +333,12 @@ export const useImageEditing = () => {
|
||||
instruction,
|
||||
outputAssets,
|
||||
timestamp: Date.now(),
|
||||
uploadResults: uploadResults
|
||||
uploadResults: uploadResults,
|
||||
parameters: {
|
||||
seed: seed || undefined,
|
||||
temperature: temperature
|
||||
},
|
||||
usageMetadata: usageMetadata // 保存usageMetadata到历史记录
|
||||
};
|
||||
|
||||
addEdit(edit);
|
||||
|
||||
Reference in New Issue
Block a user