diff --git a/src/pages/_components/UserPrompts.tsx b/src/pages/_components/UserPrompts.tsx index 129ca2fd3..4bc407b0d 100644 --- a/src/pages/_components/UserPrompts.tsx +++ b/src/pages/_components/UserPrompts.tsx @@ -26,7 +26,7 @@ import { } from "@ant-design/icons"; export default function UserPromptsPage() { - const userAuth = useContext(AuthContext); + const { userAuth, refreshUserAuth } = useContext(AuthContext); const [userprompts, setUserPrompts] = useState([]); const [loading, setLoading] = useState(false); const [copiedIndex, setCopiedIndex] = useState(null); @@ -35,8 +35,9 @@ export default function UserPromptsPage() { const [open, setOpen] = useState(false); useEffect(() => { - if (userAuth && userAuth.userAuth.data.userprompts) { - setUserPrompts(userAuth.userAuth.data.userprompts); + console.log('userAuth:', userAuth); // 输出 userAuth 的内容 + if (userAuth && userAuth.data.userprompts) { + setUserPrompts(userAuth.data.userprompts); } }, [userAuth]); @@ -63,7 +64,8 @@ export default function UserPromptsPage() { setLoading(true); try { await updatePrompt(editingPromptId, values); - window.location.reload(); + await refreshUserAuth(); + //window.location.reload(); message.success( 词条更新成功! ); @@ -94,7 +96,8 @@ export default function UserPromptsPage() { setLoading(true); try { await deletePrompt(id); - window.location.reload(); + await refreshUserAuth(); + //window.location.reload(); message.success( Prompt successfully deleted! diff --git a/src/pages/_components/UserStatus.tsx b/src/pages/_components/UserStatus.tsx index 62475e0d2..e649d1fa4 100644 --- a/src/pages/_components/UserStatus.tsx +++ b/src/pages/_components/UserStatus.tsx @@ -8,7 +8,7 @@ import { submitPrompt } from "@site/src/api"; import { AuthContext } from "./AuthContext"; const UserStatus = () => { - const { userAuth, setUserAuth } = useContext(AuthContext); + const { userAuth, setUserAuth, refreshUserAuth } = useContext(AuthContext); const [open, setOpen] = useState(false); const [loading, setLoading] = useState(false); @@ -26,7 +26,8 @@ const UserStatus = () => { setLoading(true); try { await submitPrompt(values); - window.location.reload(); + await refreshUserAuth(); + //window.location.reload(); message.success( 词条提交成功! ); @@ -46,13 +47,19 @@ const UserStatus = () => { } }; - if (userAuth && userAuth.data) { + if (userAuth === undefined) { + // 如果 userAuth 是 undefined,说明状态正在加载 + return
Loading...
; + } else if (userAuth) { return (
用户界面 - + 注销 setOpen(true)}> @@ -159,7 +166,10 @@ const UserStatus = () => { } else { return (
- setOpen(true)} style={{ marginRight: "10px" }}> + setOpen(true)} + style={{ marginRight: "10px" }}> 登录 { - const { setUserAuth } = useContext(AuthContext); const [loading, setLoading] = useState(false); const handleSuccess = (username, jwt) => { Cookies.set("auth_token", jwt, { expires: 365 }); Cookies.set("username", username, { expires: 365 }); - setUserAuth({ username, jwt }); // 发送消息给扩展 window.postMessage({ action: "login", username, jwt }, "*"); window.location.reload(); @@ -50,10 +56,14 @@ const LoginPage = () => { if (err.response.status === 400) { message.error(err.response.data.error.message); } else { - message.error(translate({ id: "message.error", message: "发生错误,请稍后再试" })); + message.error( + translate({ id: "message.error", message: "发生错误,请稍后再试" }) + ); } } catch (err) { - message.error(translate({ id: "message.error", message: "处理错误时发生错误" })); + message.error( + translate({ id: "message.error", message: "处理错误时发生错误" }) + ); } }; @@ -71,21 +81,43 @@ const LoginPage = () => { }; const onFinishLogin = async (values) => { - handleAuth(values, login, 登录成功!); + handleAuth( + values, + login, + 登录成功! + ); }; const onFinishRegister = async (values) => { - handleAuth(values, register, 注册成功!); + handleAuth( + values, + register, + 注册成功! + ); }; const handleForgotPassword = async (values) => { setLoading(true); try { await forgotPassword(values.email); - message.success(密码重置邮件已发送!); + message.success( + + 密码重置邮件已发送! + + ); } catch (error) { - console.error(translate({ id: "error.forgotPassword", message: "Error sending forgot password email:" }), error); - message.error(发送密码重置邮件失败,请稍后重试); + console.error( + translate({ + id: "error.forgotPassword", + message: "Error sending forgot password email:", + }), + error + ); + message.error( + + 发送密码重置邮件失败,请稍后重试 + + ); } finally { setLoading(false); } @@ -107,7 +139,9 @@ const LoginPage = () => { /> - + @@ -133,10 +167,14 @@ const LoginPage = () => { /> - + - + { }), }, ]}> - +