'use client'; import { Button } from "@/components/ui/button" import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from "@/components/ui/dialog" import { Input } from "@/components/ui/input" 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"; 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) { // toast.error((error as ApiError).message || '新密码设置失败'); // } } return ( 修改密码 新密码长度在6-32位之间,且至少包含一个字母和一个数字,可以包含特殊字符
{ e.preventDefault(); const formData = new FormData(e.currentTarget); const password = formData.get('password') as string; handleSetPassword(password); }}>
) }