From 9a58b98f12ea148805250909f1f00a93364ced20 Mon Sep 17 00:00:00 2001 From: Zhou Weidong <502333560@qq.com> Date: Thu, 29 Oct 2026 09:58:57 +0800 Subject: [PATCH] =?UTF-8?q?fix(login):=20=E8=AE=B0=E4=BD=8F=E6=88=91?= =?UTF-8?q?=E5=90=8C=E6=97=B6=E8=AE=B0=E4=BD=8F=E5=AF=86=E7=A0=81=E5=B9=B6?= =?UTF-8?q?=E5=9B=9E=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/login/types.ts | 1 + src/store/modules/user.ts | 12 +----------- src/views/Login/components/LoginForm.vue | 8 +++++--- 3 files changed, 7 insertions(+), 14 deletions(-) diff --git a/src/api/login/types.ts b/src/api/login/types.ts index 6c26ed6..d1cd4a0 100644 --- a/src/api/login/types.ts +++ b/src/api/login/types.ts @@ -2,6 +2,7 @@ export type UserLoginType = { username: string + password?: string } export type UserType = { diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index 43590d1..84c1865 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -104,17 +104,7 @@ export const useUserStore = defineStore('user', { this.loginInfo = loginInfo } }, - persist: { - afterRestore: (context) => { - const loginInfo = context.store.loginInfo as - (UserLoginType & { password?: string }) | undefined - if (loginInfo?.password !== undefined) { - context.store.setLoginInfo( - loginInfo.username ? { username: loginInfo.username } : undefined - ) - } - } - } + persist: true }) export const useUserStoreWithOut = () => { diff --git a/src/views/Login/components/LoginForm.vue b/src/views/Login/components/LoginForm.vue index bf7f6fd..8054131 100644 --- a/src/views/Login/components/LoginForm.vue +++ b/src/views/Login/components/LoginForm.vue @@ -132,7 +132,7 @@ const remember = ref(userStore.getRememberMe) const initLoginInfo = () => { const loginInfo = userStore.getLoginInfo if (loginInfo) { - setValues({ username: loginInfo.username }) + setValues({ username: loginInfo.username, password: loginInfo.password }) } } onMounted(() => { @@ -169,10 +169,12 @@ const signIn = async () => { const res = await loginApi(formData) if (res) { - // 是否记住我 + // 是否记住我:勾选时把账号密码一起持久化到 localStorage, + // 下次打开登录页自动回填,免重复输入。 if (unref(remember)) { userStore.setLoginInfo({ - username: formData.username + username: formData.username, + password: formData.password }) } else { userStore.setLoginInfo(undefined)