fix: remove black border from blur effect, fix gallery save issue (uuid type), enhance logging

This commit is contained in:
Your Name 2026-01-18 16:17:35 +08:00
parent 004d1de1ce
commit 9f25cc3708
2 changed files with 18 additions and 15 deletions

View File

@ -339,9 +339,15 @@ export async function POST(request: Request) {
for (let i = 0; i < processedScenes.length; i++) {
const scene = processedScenes[i];
console.log(`[SceneFusion] ========== Processing scene ${i + 1}/${processedScenes.length} ==========`);
console.log(`[SceneFusion] Scene ID: ${scene.id}`);
console.log(`[SceneFusion] Product Image URL: ${productImageUrl.substring(0, 80)}...`);
console.log(`[SceneFusion] Scene Image URL: ${scene.imageUrl.substring(0, 80)}...`);
console.log(`[SceneFusion] Custom Prompt: ${scene.customPrompt || '(none)'}`);
// 如果不是第一张图,等待5秒
if (i > 0) {
console.log(`[SceneFusion] Waiting 5 seconds before processing scene ${i + 1}/${processedScenes.length}...`);
console.log(`[SceneFusion] Waiting 5 seconds before processing...`);
await new Promise((resolve) => setTimeout(resolve, 5000));
}
@ -356,26 +362,23 @@ export async function POST(request: Request) {
model.modelId
);
// 保存到数据库
const messageId = `scene-fusion-${Date.now()}-${scene.id}`;
const chatId = `scene-fusion-batch-${Date.now()}`;
// 保存到数据库(chatId 和 messageId 设为 null,因为场景裂变不关联聊天)
try {
await db.insert(generatedImage).values({
userId: session.user.id,
chatId,
messageId,
chatId: null, // 场景裂变不关联聊天
messageId: null, // 场景裂变不关联消息
thumbnailUrl: result.thumbnail,
originalUrl: result.original,
imageSize: "2K",
prompt: scene.customPrompt
? `${config.defaultPrompt} ${scene.customPrompt}`
: config.defaultPrompt,
? `[场景裂变] ${config.defaultPrompt} ${scene.customPrompt}`
: `[场景裂变] ${config.defaultPrompt}`,
modelId: model.modelId,
});
console.log(`[SceneFusion] Saved image to gallery: ${result.original.substring(0, 80)}...`);
console.log(`[SceneFusion] ✅ Saved image to gallery: ${result.original.substring(0, 80)}...`);
} catch (dbError) {
console.error("[SceneFusion] Failed to save to gallery:", dbError);
console.error("[SceneFusion] ❌ Failed to save to gallery:", dbError);
}
results.push({

View File

@ -522,14 +522,14 @@ export function SceneFusionView({ onBack }: SceneFusionViewProps) {
<div className="w-full h-full flex flex-col items-center justify-center p-0 relative overflow-hidden">
{scene.status === 'processing' ? (
<>
{/* 背景模糊图 */}
{/* 背景模糊图 - 使用负边距扩展避免黑边 */}
<img
src={scene.image}
alt="生成中"
className="w-full h-full object-cover absolute inset-0 blur-md opacity-80"
className="absolute -inset-4 w-[calc(100%+2rem)] h-[calc(100%+2rem)] object-cover blur-lg opacity-90"
/>
{/* 动态遮罩层 */}
<div className="absolute inset-0 bg-black/40" />
{/* 动态遮罩层 - 减轻暗度 */}
<div className="absolute inset-0 bg-black/30" />
{/* 动态光效 - 模拟扫描效果 */}
<div className="absolute inset-0 bg-[linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent)] bg-[length:200%_100%] animate-[shimmer_2s_infinite]" />