diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index f09b175c5..b29a2b72c 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 083b02636..f3655ed23 100644 --- a/src/views/Login/components/LoginForm.vue +++ b/src/views/Login/components/LoginForm.vue @@ -1,5 +1,5 @@