优化界面

This commit is contained in:
yuantao
2025-09-16 18:38:02 +08:00
parent e0600f5d50
commit 2345ed80f1
15 changed files with 725 additions and 266 deletions

View File

@@ -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);