diff --git a/src/App.tsx b/src/App.tsx index 5898ffa..3d38e06 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,5 +1,5 @@ import { useEffect, useState } from 'react'; -import { Link, Route, Routes, useLocation } from 'react-router-dom'; +import { Route, Routes, useLocation } from 'react-router-dom'; import Loader from './common/Loader'; import PageTitle from './components/PageTitle'; diff --git a/src/api/User.ts b/src/api/User.ts index 36b380d..f002c0a 100644 --- a/src/api/User.ts +++ b/src/api/User.ts @@ -1,11 +1,11 @@ import Request from '@/utils/request' -import { account, EditUser, Login, UserInfo } from '@/types/user' +import { account, EditUser, Login, User, UserInfo } from '@/types/user' // 登录 export const loginDataAPI = (data: Login) => Request("POST", "/user/login", data) // 获取用户信息 -export const getUserDataAPI = (id?: number) => Request("GET", `/user/${id}`) +export const getUserDataAPI = (id?: number) => Request("GET", `/user/${id}`) // 修改用户信息 export const editUserDataAPI = (data: UserInfo) => Request("PATCH", "/user", data) diff --git a/src/pages/Setup/components/My/index.tsx b/src/pages/Setup/components/My/index.tsx index 974d98b..8ed68d9 100644 --- a/src/pages/Setup/components/My/index.tsx +++ b/src/pages/Setup/components/My/index.tsx @@ -1,9 +1,10 @@ import { useEffect, useState } from "react"; -import { Form, Input, Button, notification } from "antd"; +import { Form, Input, Button, message } from "antd"; import { useUserStore } from "@/stores"; // 假设你有一个状态管理库类似于pinia import { editUserDataAPI, getUserDataAPI } from "@/api/User"; +import { User } from "@/types/user"; -interface UserInfo { +interface UserForm { name: string; email: string; avatar: string; @@ -11,30 +12,30 @@ interface UserInfo { } const UserPage = () => { + const [form] = Form.useForm(); const [loading, setLoading] = useState(false); - const [form] = Form.useForm(); const store = useUserStore(); - useEffect(() => { - const fetchUserInfo = async () => { - setLoading(true); - const { data } = await getUserDataAPI(store.user?.id); - form.setFieldsValue(data); - setLoading(false); - }; - fetchUserInfo(); - }, [store.user?.id, form]); - - const onFinish = async (values: UserInfo) => { - await editUserDataAPI(values); - notification.success({ - message: '成功', - description: "🎉修改用户信息成功", - }); - store.setUser(values); // 假设你有一个setUser方法 + const getUserData = async () => { + const { data } = await getUserDataAPI(store.user?.id); + store.setUser(data); + form.setFieldsValue(data); setLoading(false); }; + useEffect(() => { + setLoading(true); + getUserData(); + }, []); + + const onSubmit = async (values: UserForm) => { + setLoading(false) + await editUserDataAPI({ id: store.user.id, ...values }); + message.success("🎉 修改用户信息成功"); + store.setUser(values as User); // 假设你有一个setUser方法 + getUserData(); + }; + return (

个人设置

@@ -43,7 +44,7 @@ const UserPage = () => { form={form} size="large" layout="vertical" - onFinish={onFinish} + onFinish={onSubmit} className="w-5/12 mx-auto" > { - +
diff --git a/src/pages/Setup/components/Web/index.tsx b/src/pages/Setup/components/Web/index.tsx index 739a016..f254646 100644 --- a/src/pages/Setup/components/Web/index.tsx +++ b/src/pages/Setup/components/Web/index.tsx @@ -24,7 +24,6 @@ const WebPage = () => { const onSubmit = async (values: Web) => { setLoading(true); - // values.covers = tempCovers.split("\n"); await editWebDataAPI(values); message.success("🎉 编辑网站成功"); getWebData();