优化个人页

This commit is contained in:
2025-10-17 16:24:07 +08:00
parent 8f688378e1
commit f3ab0020d3
7 changed files with 549 additions and 429 deletions

View File

@@ -11,18 +11,31 @@ export interface UserState {
updateUserInfo: (userInfo: Partial<UserInfoType>) => void;
}
const fetchUserInfo = async (set) => {
try {
const res = await fetchUserProfile();
set({ user: res.data });
return res.data;
} catch {}
};
export const useUser = create<UserState>()((set) => ({
user: {},
fetchUserInfo: async () => {
try {
const res = await fetchUserProfile();
set({ user: res.data });
return res.data
} catch { }
},
fetchUserInfo: fetchUserInfo.bind(null, set),
updateUserInfo: async (userInfo: Partial<UserInfoType>) => {
const res = await updateUserProfile(userInfo);
set({ user: res.data });
try {
// 先更新后端
await updateUserProfile(userInfo);
// 然后立即更新本地状态
set((state) => ({
user: { ...state.user, ...userInfo },
}));
// 最后重新获取完整用户信息确保数据一致性
await fetchUserInfo(set);
} catch (error) {
console.error("更新用户信息失败:", error);
throw error;
}
},
}));