|
@@ -1,9 +1,11 @@
|
|
|
import { unref, nextTick } from 'vue';
|
|
|
import { defineStore } from 'pinia';
|
|
|
+import { REFRESH_TOKEN_COUNT } from '@/config';
|
|
|
import { router } from '@/router';
|
|
|
import type { AdminLoginParams } from '@/service';
|
|
|
import { fetchLogin, fetchUserInfo, fetchStudentLogin } from '@/service';
|
|
|
import { useRouterPush } from '@/composables';
|
|
|
+import { localStg } from '@/utils';
|
|
|
import { useTabStore } from '../tab';
|
|
|
import { useRouteStore } from '../route';
|
|
|
import { getToken, getUserInfo, clearAuthStorage } from './helpers';
|
|
@@ -38,6 +40,7 @@ export const useAuthStore = defineStore('auth-store', {
|
|
|
const route = unref(router.currentRoute);
|
|
|
|
|
|
clearAuthStorage();
|
|
|
+ REFRESH_TOKEN_COUNT.length = 0;
|
|
|
this.$reset();
|
|
|
|
|
|
if (route.meta.requiresAuth) {
|
|
@@ -88,13 +91,13 @@ export const useAuthStore = defineStore('auth-store', {
|
|
|
let successFlag = false;
|
|
|
// 先把token存储到缓存中(后面接口的请求头需要token)
|
|
|
const { token, refreshToken } = backendToken;
|
|
|
- localStorage.setItem('token', token);
|
|
|
- localStorage.setItem('refreshToken', refreshToken);
|
|
|
+ localStg.set('token', token);
|
|
|
+ localStg.set('refreshToken', refreshToken);
|
|
|
// 获取用户信息
|
|
|
const { data } = await fetchUserInfo();
|
|
|
if (data) {
|
|
|
// 成功后把用户信息存储到缓存中
|
|
|
- localStorage.setItem('userInfo', JSON.stringify(data));
|
|
|
+ localStg.set('userInfo', data as Auth.UserInfo);
|
|
|
// 更新状态
|
|
|
this.userInfo = data as Auth.UserInfo;
|
|
|
this.token = token;
|
|
@@ -130,34 +133,5 @@ export const useAuthStore = defineStore('auth-store', {
|
|
|
this.loginLoading = false;
|
|
|
return false;
|
|
|
}
|
|
|
- /**
|
|
|
- * 更换用户权限(切换账号)
|
|
|
- * @param userRole
|
|
|
- */
|
|
|
- // async updateUserRole(userRole: Auth.RoleType) {
|
|
|
- // const { resetRouteStore, initAuthRoute } = useRouteStore();
|
|
|
-
|
|
|
- // const accounts: Record<Auth.RoleType, { userName: string; password: string }> = {
|
|
|
- // super: {
|
|
|
- // userName: 'Super',
|
|
|
- // password: 'super123'
|
|
|
- // },
|
|
|
- // admin: {
|
|
|
- // userName: 'Admin',
|
|
|
- // password: 'admin123'
|
|
|
- // },
|
|
|
- // user: {
|
|
|
- // userName: 'User01',
|
|
|
- // password: 'user01123'
|
|
|
- // }
|
|
|
- // };
|
|
|
- // const { userName, password } = accounts[userRole];
|
|
|
- // const { data } = await fetchLogin(userName, password);
|
|
|
- // if (data) {
|
|
|
- // await this.loginByToken(data);
|
|
|
- // resetRouteStore();
|
|
|
- // initAuthRoute();
|
|
|
- // }
|
|
|
- // }
|
|
|
}
|
|
|
});
|