From d7421ec27bfaf48bfaf6d3e954e351fa9106ade2 Mon Sep 17 00:00:00 2001 From: wxg0103 <727495428@qq.com> Date: Tue, 1 Jul 2025 19:07:48 +0800 Subject: [PATCH] refactor: forgot password --- ui/src/api/system/user-manage.ts | 33 +++++++++++++++++++++++++-- ui/src/views/login/ForgotPassword.vue | 2 +- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/ui/src/api/system/user-manage.ts b/ui/src/api/system/user-manage.ts index 5fe11297f..e979504ff 100644 --- a/ui/src/api/system/user-manage.ts +++ b/ui/src/api/system/user-manage.ts @@ -2,7 +2,7 @@ import {Result} from '@/request/Result' import {get, put, post, del} from '@/request/index' import type {pageRequest} from '@/api/type/common' import type {Ref} from 'vue' -import type {ResetPasswordRequest} from "@/api/type/user.ts"; +import type {CheckCodeRequest, ResetPasswordRequest} from "@/api/type/user.ts"; const prefix = '/user_manage' /** @@ -114,6 +114,33 @@ const getValid: ( return get(`/valid/${valid_type}/${valid_count}`, undefined, loading) } +/** + * 校验验证码 + * @param request 请求对象 + * @param loading 接口加载器 + * @returns + */ +const checkCode: (request: CheckCodeRequest, loading?: Ref) => Promise> = ( + request, + loading +) => { + return post('/user/check_code', request, undefined, loading) +} + +/** + * 发送邮件 + * @param email 邮件地址 + * @param loading 接口加载器 + * @returns + */ +const sendEmit: ( + email: string, + type: 'register' | 'reset_password', + loading?: Ref +) => Promise> = (email, type, loading) => { + return post('/user/send_email', {email, type}, undefined, loading) +} + export default { getUserManage, putUserManage, @@ -123,5 +150,7 @@ export default { resetPassword, resetCurrentPassword, getSystemDefaultPassword, - getValid + getValid, + checkCode, + sendEmit } diff --git a/ui/src/views/login/ForgotPassword.vue b/ui/src/views/login/ForgotPassword.vue index e3f4cca65..c5c3effb3 100644 --- a/ui/src/views/login/ForgotPassword.vue +++ b/ui/src/views/login/ForgotPassword.vue @@ -81,7 +81,7 @@ import { t } from '@/locales' import useStore from '@/stores' const router = useRouter() -const { theme } = useStore() +const { theme, user} = useStore() const CheckEmailForm = ref({ email: '',