diff --git a/apps/frontend/components/nav-user/SetPassword.tsx b/apps/frontend/components/nav-user/SetPassword.tsx index 5442e68..d815b71 100644 --- a/apps/frontend/components/nav-user/SetPassword.tsx +++ b/apps/frontend/components/nav-user/SetPassword.tsx @@ -14,27 +14,23 @@ import { Label } from "@/components/ui/label" import { FC } from "react"; import { DialogProps } from "@radix-ui/react-dialog"; import { toast } from "sonner"; -import { ApiError } from "next/dist/server/api-utils"; +import { UserAPI } from "@/lib/api/client"; +import { handleAPIError } from "@/lib/api/common"; export default function SetPassword({ onOpenChange, ...props }: React.ComponentProps>) { async function handleSetPassword(password: string) { - if (! /^(?=.*[a-zA-Z])(?=.*\d)[a-zA-Z\d!@#$%^&*()_+\-=\[\]{};:'",.<>/?]{6,32}$/.test(password)) { - toast.error('新密码不符合规范,请重新输入'); - return; + try { + await UserAPI.updatePassword(password); + toast.success('新密码设置成功'); + onOpenChange?.(false); + } catch (error) { + handleAPIError(error, ({ message }) => toast.error(message || '新密码设置失败')) } - - // try { - // await UserApi.updatePassword(password); - // toast.success('新密码设置成功'); - // onOpenChange?.(false); - // } catch (error) { - // toast.error((error as ApiError).message || '新密码设置失败'); - // } } return ( - + 修改密码 @@ -57,6 +53,7 @@ export default function SetPassword({ onOpenChange, ...props }: React.ComponentP