From ec36d089d1d1294e70f77c8efe81fc1e6283208d Mon Sep 17 00:00:00 2001 From: AN <1983933789@qq.com> Date: Tue, 20 May 2025 12:41:16 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E5=AD=97=E6=AE=B5=E5=88=B0=E6=B3=A8=E5=86=8C?= =?UTF-8?q?=E8=A1=A8=E5=8D=95=EF=BC=8C=E5=B9=B6=E4=BC=98=E5=8C=96=E6=B3=A8?= =?UTF-8?q?=E5=86=8C=E5=8A=A0=E8=BD=BD=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/typings/api/api.d.ts | 2 ++ src/views/_builtin/login/modules/register.vue | 31 ++++++++++++++----- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/src/typings/api/api.d.ts b/src/typings/api/api.d.ts index f51eac13..4c355244 100644 --- a/src/typings/api/api.d.ts +++ b/src/typings/api/api.d.ts @@ -132,6 +132,8 @@ declare namespace Api { password?: string; /** 确认密码 */ confirmPassword?: string; + /** 用户类型 */ + userType?: string; } /** login token data */ diff --git a/src/views/_builtin/login/modules/register.vue b/src/views/_builtin/login/modules/register.vue index 87a5f7fa..d8e2bda8 100644 --- a/src/views/_builtin/login/modules/register.vue +++ b/src/views/_builtin/login/modules/register.vue @@ -14,6 +14,7 @@ defineOptions({ const { toggleLoginModule } = useRouterPush(); const { formRef, validate } = useNaiveForm(); const { loading: codeLoading, startLoading: startCodeLoading, endLoading: endCodeLoading } = useLoading(); +const { loading: registerLoading, startLoading: startRegisterLoading, endLoading: endRegisterLoading } = useLoading(); const codeUrl = ref(); const captchaEnabled = ref(false); @@ -25,7 +26,8 @@ const model: Api.Auth.RegisterForm = reactive({ username: '', code: '', password: '', - confirmPassword: '' + confirmPassword: '', + userType: 'sys_user' }); type RuleKey = Extract; @@ -43,9 +45,9 @@ const rules = computed>(() => { }); async function handleSubmit() { - await validate(); try { - // request to register + await validate(); + startRegisterLoading(); const { error } = await fetchRegister({ tenantId: model.tenantId, username: model.username, @@ -53,12 +55,20 @@ async function handleSubmit() { code: model.code, uuid: model.uuid, grantType: 'password', + userType: model.userType, clientId: import.meta.env.VITE_APP_CLIENT_ID }); - if (error) return; + if (error) { + handleFetchCaptchaCode(); + return; + } window.$message?.success('注册成功'); + // 注册成功后跳转到登录页 + toggleLoginModule('pwd-login'); } catch { handleFetchCaptchaCode(); + } finally { + endRegisterLoading(); } } @@ -93,9 +103,16 @@ handleFetchCaptchaCode();