fix:token修复
This commit is contained in:
@@ -30,7 +30,7 @@ export function createRouteGuard(router: Router) {
|
|||||||
const loginRoute: RouteKey = 'login';
|
const loginRoute: RouteKey = 'login';
|
||||||
const noAuthorizationRoute: RouteKey = '403';
|
const noAuthorizationRoute: RouteKey = '403';
|
||||||
|
|
||||||
const isLogin = Boolean(localStg.get('token'));
|
const isLogin = Boolean(localStg.get('tokenSys'));
|
||||||
const needLogin = !to.meta.constant;
|
const needLogin = !to.meta.constant;
|
||||||
const routeRoles = to.meta.roles || [];
|
const routeRoles = to.meta.roles || [];
|
||||||
|
|
||||||
@@ -147,7 +147,7 @@ async function checkRoute(to: RouteLocationNormalized): Promise<RouteLocationRaw
|
|||||||
}
|
}
|
||||||
|
|
||||||
// if the auth route is not initialized, then initialize the auth route
|
// if the auth route is not initialized, then initialize the auth route
|
||||||
const isLogin = Boolean(localStg.get('token'));
|
const isLogin = Boolean(localStg.get('tokenSys'));
|
||||||
// initialize the auth route requires the user to be logged in, if not, redirect to the login page
|
// initialize the auth route requires the user to be logged in, if not, redirect to the login page
|
||||||
if (!isLogin) {
|
if (!isLogin) {
|
||||||
const loginRoute: RouteKey = 'login';
|
const loginRoute: RouteKey = 'login';
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ export const request = createFlatRequest<App.Service.Response, InstanceState>(
|
|||||||
const { headers } = config;
|
const { headers } = config;
|
||||||
|
|
||||||
// set token
|
// set token
|
||||||
const token = localStg.get('token');
|
const token = localStg.get('tokenSys');
|
||||||
const Authorization = token ? `Bearer ${token}` : null;
|
const Authorization = token ? `Bearer ${token}` : null;
|
||||||
|
|
||||||
// set language
|
// set language
|
||||||
|
|||||||
@@ -11,11 +11,11 @@ import { fetchRefreshToken } from '../api/auth';
|
|||||||
export async function handleRefreshToken(axiosConfig: AxiosRequestConfig) {
|
export async function handleRefreshToken(axiosConfig: AxiosRequestConfig) {
|
||||||
const { resetStore } = useAuthStore();
|
const { resetStore } = useAuthStore();
|
||||||
|
|
||||||
const refreshToken = localStg.get('refreshToken') || '';
|
const refreshToken = localStg.get('refreshTokenSys') || '';
|
||||||
const { error, data } = await fetchRefreshToken(refreshToken);
|
const { error, data } = await fetchRefreshToken(refreshToken);
|
||||||
if (!error) {
|
if (!error) {
|
||||||
localStg.set('token', data.access_token);
|
localStg.set('tokenSys', data.access_token);
|
||||||
localStg.set('refreshToken', data.refreshToken);
|
localStg.set('refreshTokenSys', data.refreshToken);
|
||||||
|
|
||||||
const config = { ...axiosConfig };
|
const config = { ...axiosConfig };
|
||||||
if (config.headers) {
|
if (config.headers) {
|
||||||
|
|||||||
@@ -98,8 +98,8 @@ export const useAuthStore = defineStore(SetupStoreId.Auth, () => {
|
|||||||
|
|
||||||
async function loginByToken(loginToken: Api.Auth.LoginToken) {
|
async function loginByToken(loginToken: Api.Auth.LoginToken) {
|
||||||
// 1. stored in the localStorage, the later requests need it in headers
|
// 1. stored in the localStorage, the later requests need it in headers
|
||||||
localStg.set('token', loginToken.access_token);
|
localStg.set('tokenSys', loginToken.access_token);
|
||||||
localStg.set('refreshToken', loginToken.refreshToken);
|
localStg.set('refreshTokenSys', loginToken.refreshToken);
|
||||||
token.value = loginToken.access_token;
|
token.value = loginToken.access_token;
|
||||||
|
|
||||||
const isSuccess = await refreshUserInfo();
|
const isSuccess = await refreshUserInfo();
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { localStg } from '@/utils/storage';
|
|||||||
|
|
||||||
/** Get token */
|
/** Get token */
|
||||||
export function getToken() {
|
export function getToken() {
|
||||||
return localStg.get('token') || '';
|
return localStg.get('tokenSys') || '';
|
||||||
}
|
}
|
||||||
|
|
||||||
export const emptyInfo: Api.Auth.UserInfo = {
|
export const emptyInfo: Api.Auth.UserInfo = {
|
||||||
@@ -13,6 +13,6 @@ export const emptyInfo: Api.Auth.UserInfo = {
|
|||||||
|
|
||||||
/** Clear auth storage */
|
/** Clear auth storage */
|
||||||
export function clearAuthStorage() {
|
export function clearAuthStorage() {
|
||||||
localStg.remove('token');
|
localStg.remove('tokenSys');
|
||||||
localStg.remove('refreshToken');
|
localStg.remove('refreshTokenSys');
|
||||||
}
|
}
|
||||||
|
|||||||
4
src/typings/storage.d.ts
vendored
4
src/typings/storage.d.ts
vendored
@@ -13,9 +13,9 @@ declare namespace StorageType {
|
|||||||
/** The i18n language */
|
/** The i18n language */
|
||||||
lang: App.I18n.LangType;
|
lang: App.I18n.LangType;
|
||||||
/** The token */
|
/** The token */
|
||||||
token: string;
|
tokenSys: string;
|
||||||
/** The refresh token */
|
/** The refresh token */
|
||||||
refreshToken: string;
|
refreshTokenSys: string;
|
||||||
/** The user info */
|
/** The user info */
|
||||||
userInfo: Api.Auth.UserInfo;
|
userInfo: Api.Auth.UserInfo;
|
||||||
/** The theme color */
|
/** The theme color */
|
||||||
|
|||||||
Reference in New Issue
Block a user