From 5f909cc66994d4ac828991fe2ff1b2dfae232f51 Mon Sep 17 00:00:00 2001 From: hzm <934585316@qq.com> Date: Mon, 9 Mar 2026 10:55:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20supabase=20upsert=20=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E4=B8=8D=E5=86=8D=E8=BF=94=E5=9B=9E=20select=20=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E4=BB=A5=E5=87=8F=E5=B0=91=20edgress=20=E6=B5=81?= =?UTF-8?q?=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/page.jsx | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/app/page.jsx b/app/page.jsx index 71e8259..1a9830c 100644 --- a/app/page.jsx +++ b/app/page.jsx @@ -3067,9 +3067,6 @@ export default function HomePage() { const dataToSync = payload || collectLocalPayload(); // Fallback to full sync if no payload const now = nowInTz().toISOString(); - let upsertData = null; - let updateError = null; - if (isPartial) { // 增量更新:使用 RPC 调用 const { error: rpcError } = await supabase.rpc('update_user_config_partial', { @@ -3080,7 +3077,7 @@ export default function HomePage() { console.error('增量同步失败,尝试全量同步', rpcError); // RPC 失败回退到全量更新 const fullPayload = collectLocalPayload(); - const { data, error } = await supabase + const { error } = await supabase .from('user_configs') .upsert( { @@ -3089,17 +3086,12 @@ export default function HomePage() { updated_at: now }, { onConflict: 'user_id' } - ) - .select(); - upsertData = data; - updateError = error; - } else { - // RPC 成功,模拟 upsertData 格式以便后续逻辑通过 - upsertData = [{ id: 'rpc_success' }]; + ); + if (error) throw error; } } else { // 全量更新 - const { data, error } = await supabase + const { error } = await supabase .from('user_configs') .upsert( { @@ -3108,15 +3100,8 @@ export default function HomePage() { updated_at: now }, { onConflict: 'user_id' } - ) - .select(); - upsertData = data; - updateError = error; - } - - if (updateError) throw updateError; - if (!upsertData || upsertData.length === 0) { - throw new Error('同步失败:未写入任何数据,请检查账号状态或重新登录'); + ); + if (error) throw error; } storageHelper.setItem('localUpdatedAt', now);