From 9db422fb9a8cd08b178d3fe06d4e198aea314507 Mon Sep 17 00:00:00 2001 From: patdelphi Date: Mon, 18 Aug 2025 09:53:04 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DProfilePage=E5=92=8CAn?= =?UTF-8?q?alysisPage=E4=B8=AD=E7=9A=84Supabase=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E8=B0=83=E7=94=A8\n\n-=20=E5=B0=86ProfilePage=E4=B8=AD?= =?UTF-8?q?=E7=9A=84.from().select().eq()=E8=B0=83=E7=94=A8=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E4=BD=BF=E7=94=A8=E6=9C=AC=E5=9C=B0API=E7=9A=84auth.g?= =?UTF-8?q?etUser()=E5=92=8Cauth.updateUser()\n-=20=E5=B0=86AnalysisPage?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E7=94=A8=E6=88=B7=E6=A1=A3=E6=A1=88=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E9=80=BB=E8=BE=91=E6=94=B9=E4=B8=BA=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E6=9C=AC=E5=9C=B0API\n-=20=E7=A1=AE=E4=BF=9D=E6=89=80=E6=9C=89?= =?UTF-8?q?Supabase=E8=B0=83=E7=94=A8=E9=83=BD=E5=B7=B2=E8=BF=81=E7=A7=BB?= =?UTF-8?q?=E5=88=B0=E6=9C=AC=E5=9C=B0API\n-=20=E4=BF=AE=E5=A4=8D=E4=B8=AA?= =?UTF-8?q?=E4=BA=BA=E6=A1=A3=E6=A1=88=E4=BF=9D=E5=AD=98=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- numerology.db | Bin 32768 -> 32768 bytes src/pages/AnalysisPage.tsx | 23 ++++++------ src/pages/ProfilePage.tsx | 70 +++++++++++++------------------------ 3 files changed, 34 insertions(+), 59 deletions(-) diff --git a/numerology.db b/numerology.db index cb3f212a4e3a59e46f88405e21d7d106a3f18c29..58cc0eed5722aeca32cc4e83927ca4dc9e68e0f8 100644 GIT binary patch delta 232 zcmZo@U}|V!njp={Hc`fzk!@qb5`H#D{sspAhRuQkW&HJZj64jwjjRkHU~F8FSdx;O zQ;?DAP*|v!oS&;=l%!&4q*58-Z*EZ>P#lnLQeu|xYUGkpS)S+bW#kxM92n+g>=sm3 zZX8i==}{Tsl9p0J?CmR@OOU}UOmV4-Vhp~-U*ff diff --git a/src/pages/AnalysisPage.tsx b/src/pages/AnalysisPage.tsx index 2d639d2..8b5d7ab 100644 --- a/src/pages/AnalysisPage.tsx +++ b/src/pages/AnalysisPage.tsx @@ -35,20 +35,17 @@ const AnalysisPage: React.FC = () => { if (!user) return; try { - const { data, error } = await supabase - .from('user_profiles') - .select('*') - .eq('user_id', user.id) - .maybeSingle(); - - if (data) { - setProfile(data); + const response = await supabase.auth.getUser(); + + if (response.data?.user) { + const userData = response.data.user; + setProfile(userData); setFormData({ - name: data.full_name || '', - birth_date: data.birth_date || '', - birth_time: data.birth_time || '', - gender: data.gender || 'male', - birth_place: data.birth_location || '', + name: userData.fullName || '', + birth_date: userData.birthDate || '', + birth_time: userData.birthTime || '', + gender: userData.gender || 'male', + birth_place: userData.birthPlace || '', question: '' }); } diff --git a/src/pages/ProfilePage.tsx b/src/pages/ProfilePage.tsx index c610d2f..aa027dc 100644 --- a/src/pages/ProfilePage.tsx +++ b/src/pages/ProfilePage.tsx @@ -30,25 +30,18 @@ const ProfilePage: React.FC = () => { if (!user) return; try { - const { data, error } = await supabase - .from('user_profiles') - .select('*') - .eq('user_id', user.id) - .maybeSingle(); - - if (error && error.code !== 'PGRST116') { - throw error; - } - - if (data) { - setProfile(data); + const response = await supabase.auth.getUser(); + + if (response.data?.user) { + const userData = response.data.user; + setProfile(userData); setFormData({ - full_name: data.full_name || '', - birth_date: data.birth_date || '', - birth_time: data.birth_time || '', - birth_location: data.birth_location || '', - gender: data.gender || 'male', - username: data.username || '' + full_name: userData.fullName || '', + birth_date: userData.birthDate || '', + birth_time: userData.birthTime || '', + birth_location: userData.birthPlace || '', + gender: userData.gender || 'male', + username: userData.email || '' }); } } catch (error: any) { @@ -64,39 +57,24 @@ const ProfilePage: React.FC = () => { setLoading(true); try { - const profileData = { - user_id: user.id, - ...formData, - updated_at: new Date().toISOString() + const updateData = { + fullName: formData.full_name, + birthDate: formData.birth_date, + birthTime: formData.birth_time, + birthPlace: formData.birth_location, + gender: formData.gender as 'male' | 'female' }; - let result; - if (profile) { - // 更新现有档案 - result = await supabase - .from('user_profiles') - .update(profileData) - .eq('user_id', user.id) - .select() - .maybeSingle(); - } else { - // 创建新档案 - result = await supabase - .from('user_profiles') - .insert([{ - ...profileData, - created_at: new Date().toISOString() - }]) - .select() - .maybeSingle(); + const response = await supabase.auth.updateUser(updateData); + + if (response.error) { + throw response.error; } - if (result.error) { - throw result.error; + if (response.data?.user) { + setProfile(response.data.user); + toast.success('档案保存成功!'); } - - setProfile(result.data); - toast.success('档案保存成功!'); } catch (error: any) { console.error('保存档案失败:', error); toast.error('保存档案失败:' + error.message);