From 90d36d4cfb6ed77c5d03b3a8a7fbd51084cb9d9d Mon Sep 17 00:00:00 2001 From: tone Date: Thu, 18 Dec 2025 17:09:29 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E7=99=BB=E5=87=BA?= =?UTF-8?q?=E5=92=8C=E4=BF=AE=E6=94=B9=E5=AF=86=E7=A0=81=E7=9A=84API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/frontend/lib/api/endpoints/auth.client.ts | 4 ++++ apps/frontend/lib/api/endpoints/user.client.ts | 14 ++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/apps/frontend/lib/api/endpoints/auth.client.ts b/apps/frontend/lib/api/endpoints/auth.client.ts index 7288044..3a58511 100644 --- a/apps/frontend/lib/api/endpoints/auth.client.ts +++ b/apps/frontend/lib/api/endpoints/auth.client.ts @@ -49,4 +49,8 @@ export async function loginBySms(phone: string, code: string) { code, }) }); +} + +export async function logout() { + return clientFetch('/api/auth/logout', { method: 'POST' }); } \ No newline at end of file diff --git a/apps/frontend/lib/api/endpoints/user.client.ts b/apps/frontend/lib/api/endpoints/user.client.ts index 84d9cd4..d20fdb1 100644 --- a/apps/frontend/lib/api/endpoints/user.client.ts +++ b/apps/frontend/lib/api/endpoints/user.client.ts @@ -1,6 +1,20 @@ import { User } from "@/lib/types/user"; import { clientFetch } from "../client"; +import { APIError } from "../common"; export async function me() { return clientFetch('/api/user/me'); +} + +export async function updatePassword(password: string) { + if (! /^(?=.*[a-zA-Z])(?=.*\d)[a-zA-Z\d!@#$%^&*()_+\-=\[\]{};:'",.<>/?]{6,32}$/.test(password)) { + throw new APIError('新密码不符合规范,请重新输入') + } + + return clientFetch('/api/user/password', { + method: 'PUT', + body: JSON.stringify({ + password, + }), + }) } \ No newline at end of file