mirror of https://gitee.com/answerdev/answer.git
Merge remote-tracking branch 'github/feat/1.1.2/ui' into feat/1.1.2/user-center
This commit is contained in:
commit
3f4ed4527a
|
@ -15,18 +15,6 @@ export const USER_AGENT_NAMES = {
|
|||
DingTalk: 'DingTalk',
|
||||
};
|
||||
|
||||
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: {
|
||||
|
|
|
@ -2,7 +2,13 @@ export const RouteAlias = {
|
|||
home: '/',
|
||||
login: '/users/login',
|
||||
signUp: '/users/register',
|
||||
activation: '/users/login?status=inactive',
|
||||
inactive: '/users/login?status=inactive',
|
||||
accountRecovery: '/users/account-recovery',
|
||||
changeEmail: '/users/change-email',
|
||||
passwordReset: '/users/password-reset',
|
||||
accountActivation: '/users/account-activation',
|
||||
activationSuccess: '/users/account-activation/success',
|
||||
activationFailed: '/users/account-activation/failed',
|
||||
suspended: '/users/account-suspended',
|
||||
confirmNewEmail: '/users/confirm-new-email',
|
||||
};
|
||||
|
|
|
@ -81,6 +81,17 @@ export const deriveLoginState = (): TLoginState => {
|
|||
return ls;
|
||||
};
|
||||
|
||||
export const IGNORE_PATH_LIST = [
|
||||
RouteAlias.login,
|
||||
RouteAlias.signUp,
|
||||
RouteAlias.accountRecovery,
|
||||
RouteAlias.changeEmail,
|
||||
RouteAlias.passwordReset,
|
||||
RouteAlias.accountActivation,
|
||||
RouteAlias.confirmNewEmail,
|
||||
'/user-center/',
|
||||
];
|
||||
|
||||
export const isIgnoredPath = (ignoredPath: string | string[]) => {
|
||||
if (!Array.isArray(ignoredPath)) {
|
||||
ignoredPath = [ignoredPath];
|
||||
|
@ -152,7 +163,7 @@ export const activated = () => {
|
|||
const us = deriveLoginState();
|
||||
if (us.isNotActivated) {
|
||||
gr.ok = false;
|
||||
gr.redirect = RouteAlias.activation;
|
||||
gr.redirect = RouteAlias.inactive;
|
||||
}
|
||||
return gr;
|
||||
};
|
||||
|
@ -258,19 +269,7 @@ export const shouldLoginRequired = () => {
|
|||
if (us.isLogged) {
|
||||
return gr;
|
||||
}
|
||||
if (
|
||||
isIgnoredPath([
|
||||
RouteAlias.login,
|
||||
RouteAlias.signUp,
|
||||
'/users/account-recovery',
|
||||
'users/change-email',
|
||||
'users/password-reset',
|
||||
'users/account-activation',
|
||||
'users/account-activation/success',
|
||||
'/users/account-activation/failed',
|
||||
'/users/confirm-new-email',
|
||||
])
|
||||
) {
|
||||
if (isIgnoredPath(IGNORE_PATH_LIST)) {
|
||||
return gr;
|
||||
}
|
||||
gr.ok = false;
|
||||
|
@ -296,7 +295,7 @@ export const tryNormalLogged = (canNavigate: boolean = false) => {
|
|||
return false;
|
||||
}
|
||||
if (us.isNotActivated) {
|
||||
floppyNavigation.navigate(RouteAlias.activation);
|
||||
floppyNavigation.navigate(RouteAlias.inactive);
|
||||
} else if (us.isForbidden) {
|
||||
floppyNavigation.navigate(RouteAlias.suspended, {
|
||||
handler: 'replace',
|
||||
|
@ -341,7 +340,7 @@ export const handleLoginWithToken = (
|
|||
loggedUserInfoStore.getState().update(res);
|
||||
const userStat = deriveLoginState();
|
||||
if (userStat.isNotActivated) {
|
||||
floppyNavigation.navigate(RouteAlias.activation, {
|
||||
floppyNavigation.navigate(RouteAlias.inactive, {
|
||||
handler,
|
||||
options: {
|
||||
replace: true,
|
||||
|
|
|
@ -3,13 +3,13 @@ import type { AxiosInstance, AxiosRequestConfig, AxiosError } from 'axios';
|
|||
|
||||
import { Modal } from '@/components';
|
||||
import { loggedUserInfoStore, toastStore, errorCodeStore } from '@/stores';
|
||||
import { LOGGED_TOKEN_STORAGE_KEY, IGNORE_PATH_LIST } from '@/common/constants';
|
||||
import { LOGGED_TOKEN_STORAGE_KEY } 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';
|
||||
import { isIgnoredPath, IGNORE_PATH_LIST } from './guard';
|
||||
|
||||
const baseConfig = {
|
||||
timeout: 10000,
|
||||
|
@ -129,7 +129,7 @@ class Request {
|
|||
}
|
||||
if (data?.type === 'inactive') {
|
||||
// inactivated
|
||||
floppyNavigation.navigate(RouteAlias.activation);
|
||||
floppyNavigation.navigate(RouteAlias.inactive);
|
||||
return Promise.reject(false);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue