Merge remote-tracking branch 'github/feat/1.1.2/ui' into feat/1.1.2/user-center

This commit is contained in:
LinkinStars 2023-04-25 10:55:30 +08:00
commit 3f4ed4527a
4 changed files with 25 additions and 32 deletions

View File

@ -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: {

View File

@ -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',
};

View File

@ -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,

View File

@ -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);
}