From 10621ecf514f0e843387560fa822385eacec4d4e Mon Sep 17 00:00:00 2001 From: tone Date: Thu, 18 Dec 2025 17:10:02 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=89=8D=E7=AB=AF=E5=AF=B9=E6=8E=A5?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=AF=86=E7=A0=81API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/nav-user/SetPassword.tsx | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) 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