From 2009594f089722151b739598dbad5ee7fb062b6e Mon Sep 17 00:00:00 2001 From: kailong321200875 <321200875@qq.com> Date: Sat, 16 Dec 2023 10:59:55 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E8=AE=B0=E4=BD=8F=E6=88=91=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/modules/user.ts | 21 ++++++++++++-- src/views/Login/components/LoginForm.vue | 35 +++++++++++++++++++----- 2 files changed, 47 insertions(+), 9 deletions(-) diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index f09b175..b29a2b7 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -1,6 +1,6 @@ import { defineStore } from 'pinia' import { store } from '../index' -import { UserType } from '@/api/login/types' +import { UserLoginType, UserType } from '@/api/login/types' import { ElMessageBox } from 'element-plus' import { useI18n } from '@/hooks/web/useI18n' import { loginOutApi } from '@/api/login' @@ -12,6 +12,8 @@ interface UserState { tokenKey: string token: string roleRouters?: string[] | AppCustomRouteRecordRaw[] + rememberMe: boolean + loginInfo?: UserLoginType } export const useUserStore = defineStore('user', { @@ -20,7 +22,10 @@ export const useUserStore = defineStore('user', { userInfo: undefined, tokenKey: 'Authorization', token: '', - roleRouters: undefined + roleRouters: undefined, + // 记住我 + rememberMe: true, + loginInfo: undefined } }, getters: { @@ -35,6 +40,12 @@ export const useUserStore = defineStore('user', { }, getRoleRouters(): string[] | AppCustomRouteRecordRaw[] | undefined { return this.roleRouters + }, + getRememberMe(): boolean { + return this.rememberMe + }, + getLoginInfo(): UserLoginType | undefined { + return this.loginInfo } }, actions: { @@ -75,6 +86,12 @@ export const useUserStore = defineStore('user', { }, logout() { this.reset() + }, + setRememberMe(rememberMe: boolean) { + this.rememberMe = rememberMe + }, + setLoginInfo(loginInfo: UserLoginType | undefined) { + this.loginInfo = loginInfo } }, persist: true diff --git a/src/views/Login/components/LoginForm.vue b/src/views/Login/components/LoginForm.vue index 083b026..f3655ed 100644 --- a/src/views/Login/components/LoginForm.vue +++ b/src/views/Login/components/LoginForm.vue @@ -1,5 +1,5 @@