mirror of https://gitee.com/answerdev/answer.git
fix: 404 content cannot show in special pages
This commit is contained in:
parent
54fe9d8a8b
commit
f48c207b14
|
@ -10,6 +10,18 @@ export const DRAFT_QUESTION_STORAGE_KEY = '_a_dq_';
|
|||
export const DRAFT_ANSWER_STORAGE_KEY = '_a_da_';
|
||||
export const DRAFT_TIMESIGH_STORAGE_KEY = '|_a_t_s_|';
|
||||
|
||||
export const IGNORE_PATH_LIST = [
|
||||
'/users/login',
|
||||
'/users/register',
|
||||
'/users/account-recovery',
|
||||
'/users/change-email',
|
||||
'/users/password-reset',
|
||||
'/users/account-activation',
|
||||
'/users/account-activation/success',
|
||||
'/users/account-activation/failed',
|
||||
'/users/confirm-new-email',
|
||||
];
|
||||
|
||||
export const ADMIN_LIST_STATUS = {
|
||||
// normal;
|
||||
1: {
|
||||
|
|
|
@ -63,7 +63,7 @@ export const deriveLoginState = (): TLoginState => {
|
|||
return ls;
|
||||
};
|
||||
|
||||
const isIgnoredPath = (ignoredPath: string | string[]) => {
|
||||
export const isIgnoredPath = (ignoredPath: string | string[]) => {
|
||||
if (!Array.isArray(ignoredPath)) {
|
||||
ignoredPath = [ignoredPath];
|
||||
}
|
||||
|
|
|
@ -3,12 +3,13 @@ import type { AxiosInstance, AxiosRequestConfig, AxiosError } from 'axios';
|
|||
|
||||
import { Modal } from '@/components';
|
||||
import { loggedUserInfoStore, toastStore, notFoundStore } from '@/stores';
|
||||
import { LOGGED_TOKEN_STORAGE_KEY } from '@/common/constants';
|
||||
import { LOGGED_TOKEN_STORAGE_KEY, IGNORE_PATH_LIST } from '@/common/constants';
|
||||
import { RouteAlias } from '@/router/alias';
|
||||
import { getCurrentLang } from '@/utils/localize';
|
||||
|
||||
import Storage from './storage';
|
||||
import { floppyNavigation } from './floppyNavigation';
|
||||
import { isIgnoredPath } from './guard';
|
||||
|
||||
const baseConfig = {
|
||||
timeout: 10000,
|
||||
|
@ -106,12 +107,14 @@ class Request {
|
|||
// 401: Re-login required
|
||||
if (status === 401) {
|
||||
// clear userinfo
|
||||
notFoundStore.getState().hide();
|
||||
loggedUserInfoStore.getState().clear();
|
||||
floppyNavigation.navigateToLogin();
|
||||
return Promise.reject(false);
|
||||
}
|
||||
if (status === 403) {
|
||||
// Permission interception
|
||||
notFoundStore.getState().hide();
|
||||
if (data?.type === 'url_expired') {
|
||||
// url expired
|
||||
floppyNavigation.navigate(RouteAlias.activationFailed, () => {
|
||||
|
@ -144,6 +147,9 @@ class Request {
|
|||
}
|
||||
|
||||
if (status === 404 && error.config?.allow404) {
|
||||
if (isIgnoredPath(IGNORE_PATH_LIST)) {
|
||||
return Promise.reject(false);
|
||||
}
|
||||
notFoundStore.getState().show();
|
||||
return Promise.reject(false);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue