8.15 登录过程中用户信息错误导致登录失败的业务处理
This commit is contained in:
@ -1,12 +1,14 @@
|
|||||||
|
import { logoutTokenApi } from '@/services/login';
|
||||||
import { getURLInformation, isNotEmpty } from '@/utils/CommonUtils';
|
import { getURLInformation, isNotEmpty } from '@/utils/CommonUtils';
|
||||||
import { getSessionRoleData } from '@/utils/session';
|
import { getSessionRoleData } from '@/utils/session';
|
||||||
import { Result, Typography } from 'antd';
|
import { Button, Result, Typography } from 'antd';
|
||||||
import React, { useEffect, useState } from 'react';
|
import React, { useEffect, useState } from 'react';
|
||||||
import { history } from 'umi';
|
import { history } from 'umi';
|
||||||
|
|
||||||
const message = {
|
const messageMap = {
|
||||||
401: '您的用户信息有误,请联系管理员',
|
401: '您的用户信息有误,请联系管理员',
|
||||||
402: '您的用户角色信息缺失,请联系管理员',
|
402: '您的用户角色信息缺失,请联系管理员',
|
||||||
|
403: '您的用户角色信息异常,请重新登录',
|
||||||
90401: '您的登录已超时,请重新登录',
|
90401: '您的登录已超时,请重新登录',
|
||||||
404: '系统错误,请联系管理员',
|
404: '系统错误,请联系管理员',
|
||||||
};
|
};
|
||||||
@ -16,6 +18,7 @@ const RequestTimeoutPage: React.FC<{}> = () => {
|
|||||||
const { Text } = Typography;
|
const { Text } = Typography;
|
||||||
const [time, setTime] = useState<number>(10);
|
const [time, setTime] = useState<number>(10);
|
||||||
const roleData = getSessionRoleData();
|
const roleData = getSessionRoleData();
|
||||||
|
const token = sessionStorage.getItem('Authorization');
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
let timeInteval: any
|
let timeInteval: any
|
||||||
@ -44,11 +47,18 @@ const RequestTimeoutPage: React.FC<{}> = () => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
const redirectLogin = () => {
|
||||||
|
logoutTokenApi({ mall3_token: token }).then(res => {
|
||||||
|
history.replace({
|
||||||
|
pathname: '/userformal/login',
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Result
|
<Result
|
||||||
title={message[code]}
|
title={messageMap[code]}
|
||||||
extra={isNotEmpty(roleData) && code == 402 && <Text type="secondary" strong>{time}秒后进入默认角色</Text>}
|
extra={isNotEmpty(roleData) && code == 402 ? <Text type="secondary" strong>{time}秒后进入默认角色</Text> : code == 403 ? <Button type="primary" onClick={() => redirectLogin()}>重新登录</Button> : null}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -38,10 +38,16 @@ const Loading: React.FC<{}> = () => {
|
|||||||
await cooperReloadToken('', headers)
|
await cooperReloadToken('', headers)
|
||||||
await getUserData(token, url, extra, 1)
|
await getUserData(token, url, extra, 1)
|
||||||
} else if (userType == '2') {//专家
|
} else if (userType == '2') {//专家
|
||||||
await refreshTokenApi(params, header).then(async res => {
|
// await refreshTokenApi(params, header).then(async res => {
|
||||||
if (res?.success == true) {
|
// if (res?.success == true) {
|
||||||
sessionStorage.setItem('Authorization', res?.data?.value);
|
// sessionStorage.setItem('Authorization', res?.data?.value);
|
||||||
await getUserData(token, url, extra, 1)
|
// await getUserData(token, url, extra, 1)
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
history.replace({
|
||||||
|
pathname: '/401',
|
||||||
|
query: {
|
||||||
|
code: '403',
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -71,7 +71,7 @@ const Login: React.FC<LoginProps> = (props) => {
|
|||||||
await refreshTokenApi(params, header).then(res => {
|
await refreshTokenApi(params, header).then(res => {
|
||||||
if (res?.success == true) {
|
if (res?.success == true) {
|
||||||
sessionStorage.setItem('Authorization', res?.data?.value);
|
sessionStorage.setItem('Authorization', res?.data?.value);
|
||||||
sessionStorage.setItem('refreshToken', res?.data?.refreshToken.value);
|
// sessionStorage.setItem('refreshToken', res?.data?.refreshToken.value);
|
||||||
sessionStorage.setItem('scope', res?.data?.scope);
|
sessionStorage.setItem('scope', res?.data?.scope);
|
||||||
history.push('/redirect');
|
history.push('/redirect');
|
||||||
}
|
}
|
||||||
@ -93,7 +93,7 @@ const Login: React.FC<LoginProps> = (props) => {
|
|||||||
refreshToken(res?.data)
|
refreshToken(res?.data)
|
||||||
} else {
|
} else {
|
||||||
sessionStorage.setItem('Authorization', res?.data?.value);
|
sessionStorage.setItem('Authorization', res?.data?.value);
|
||||||
sessionStorage.setItem('refreshToken', res?.data?.refreshToken.value);
|
// sessionStorage.setItem('refreshToken', res?.data?.refreshToken.value);
|
||||||
sessionStorage.setItem('scope', res?.data?.scope);
|
sessionStorage.setItem('scope', res?.data?.scope);
|
||||||
history.push('/redirect');
|
history.push('/redirect');
|
||||||
}
|
}
|
||||||
@ -114,7 +114,7 @@ const Login: React.FC<LoginProps> = (props) => {
|
|||||||
refreshToken(res?.data)
|
refreshToken(res?.data)
|
||||||
} else {
|
} else {
|
||||||
sessionStorage.setItem('Authorization', res?.data?.value);
|
sessionStorage.setItem('Authorization', res?.data?.value);
|
||||||
sessionStorage.setItem('refreshToken', res?.data?.refreshToken.value);
|
// sessionStorage.setItem('refreshToken', res?.data?.refreshToken.value);
|
||||||
sessionStorage.setItem('scope', res?.data?.scope);
|
sessionStorage.setItem('scope', res?.data?.scope);
|
||||||
history.push('/redirect');
|
history.push('/redirect');
|
||||||
}
|
}
|
||||||
|
@ -71,7 +71,7 @@ const Login: React.FC<LoginProps> = (props) => {
|
|||||||
await refreshTokenApi(params, header).then(res => {
|
await refreshTokenApi(params, header).then(res => {
|
||||||
if (res?.success == true) {
|
if (res?.success == true) {
|
||||||
sessionStorage.setItem('Authorization', res?.data?.value);
|
sessionStorage.setItem('Authorization', res?.data?.value);
|
||||||
sessionStorage.setItem('refreshToken', res?.data?.refreshToken.value);
|
// sessionStorage.setItem('refreshToken', res?.data?.refreshToken.value);
|
||||||
sessionStorage.setItem('scope', res?.data?.scope);
|
sessionStorage.setItem('scope', res?.data?.scope);
|
||||||
history.push('/redirect');
|
history.push('/redirect');
|
||||||
}
|
}
|
||||||
@ -93,7 +93,7 @@ const Login: React.FC<LoginProps> = (props) => {
|
|||||||
refreshToken(res?.data)
|
refreshToken(res?.data)
|
||||||
} else {
|
} else {
|
||||||
sessionStorage.setItem('Authorization', res?.data?.value);
|
sessionStorage.setItem('Authorization', res?.data?.value);
|
||||||
sessionStorage.setItem('refreshToken', res?.data?.refreshToken.value);
|
// sessionStorage.setItem('refreshToken', res?.data?.refreshToken.value);
|
||||||
sessionStorage.setItem('scope', res?.data?.scope);
|
sessionStorage.setItem('scope', res?.data?.scope);
|
||||||
history.push('/redirect');
|
history.push('/redirect');
|
||||||
}
|
}
|
||||||
@ -115,7 +115,7 @@ const Login: React.FC<LoginProps> = (props) => {
|
|||||||
refreshToken(res?.data)
|
refreshToken(res?.data)
|
||||||
} else {
|
} else {
|
||||||
sessionStorage.setItem('Authorization', res?.data?.value);
|
sessionStorage.setItem('Authorization', res?.data?.value);
|
||||||
sessionStorage.setItem('refreshToken', res?.data?.refreshToken.value);
|
// sessionStorage.setItem('refreshToken', res?.data?.refreshToken.value);
|
||||||
sessionStorage.setItem('scope', res?.data?.scope);
|
sessionStorage.setItem('scope', res?.data?.scope);
|
||||||
history.push('/redirect');
|
history.push('/redirect');
|
||||||
}
|
}
|
||||||
|
@ -71,7 +71,7 @@ const Login: React.FC<LoginProps> = (props) => {
|
|||||||
await refreshTokenApi(params, header).then(res => {
|
await refreshTokenApi(params, header).then(res => {
|
||||||
if (res?.success == true) {
|
if (res?.success == true) {
|
||||||
sessionStorage.setItem('Authorization', res?.data?.value);
|
sessionStorage.setItem('Authorization', res?.data?.value);
|
||||||
sessionStorage.setItem('refreshToken', res?.data?.refreshToken.value);
|
// sessionStorage.setItem('refreshToken', res?.data?.refreshToken.value);
|
||||||
sessionStorage.setItem('scope', res?.data?.scope);
|
sessionStorage.setItem('scope', res?.data?.scope);
|
||||||
history.push('/redirect');
|
history.push('/redirect');
|
||||||
}
|
}
|
||||||
@ -93,7 +93,7 @@ const Login: React.FC<LoginProps> = (props) => {
|
|||||||
refreshToken(res?.data)
|
refreshToken(res?.data)
|
||||||
} else {
|
} else {
|
||||||
sessionStorage.setItem('Authorization', res?.data?.value);
|
sessionStorage.setItem('Authorization', res?.data?.value);
|
||||||
sessionStorage.setItem('refreshToken', res?.data?.refreshToken.value);
|
// sessionStorage.setItem('refreshToken', res?.data?.refreshToken.value);
|
||||||
sessionStorage.setItem('scope', res?.data?.scope);
|
sessionStorage.setItem('scope', res?.data?.scope);
|
||||||
history.push('/redirect');
|
history.push('/redirect');
|
||||||
}
|
}
|
||||||
@ -114,7 +114,7 @@ const Login: React.FC<LoginProps> = (props) => {
|
|||||||
refreshToken(res?.data)
|
refreshToken(res?.data)
|
||||||
} else {
|
} else {
|
||||||
sessionStorage.setItem('Authorization', res?.data?.value);
|
sessionStorage.setItem('Authorization', res?.data?.value);
|
||||||
sessionStorage.setItem('refreshToken', res?.data?.refreshToken.value);
|
// sessionStorage.setItem('refreshToken', res?.data?.refreshToken.value);
|
||||||
sessionStorage.setItem('scope', res?.data?.scope);
|
sessionStorage.setItem('scope', res?.data?.scope);
|
||||||
history.push('/redirect');
|
history.push('/redirect');
|
||||||
}
|
}
|
||||||
|
@ -51,7 +51,7 @@ const Index: React.FC<{}> = () => {
|
|||||||
await refreshTokenApi(params, header).then(res => {
|
await refreshTokenApi(params, header).then(res => {
|
||||||
if (res?.success == true) {
|
if (res?.success == true) {
|
||||||
sessionStorage.setItem('Authorization', res?.data?.value);
|
sessionStorage.setItem('Authorization', res?.data?.value);
|
||||||
sessionStorage.setItem('refreshToken', res?.data?.refreshToken.value);
|
// sessionStorage.setItem('refreshToken', res?.data?.refreshToken.value);
|
||||||
sessionStorage.setItem('scope', res?.data?.scope);
|
sessionStorage.setItem('scope', res?.data?.scope);
|
||||||
history.push('/redirect');
|
history.push('/redirect');
|
||||||
}
|
}
|
||||||
@ -65,7 +65,7 @@ const Index: React.FC<{}> = () => {
|
|||||||
refreshToken(res?.data)
|
refreshToken(res?.data)
|
||||||
} else {
|
} else {
|
||||||
sessionStorage.setItem('Authorization', res?.data?.value);
|
sessionStorage.setItem('Authorization', res?.data?.value);
|
||||||
sessionStorage.setItem('refreshToken', res?.data?.refreshToken.value);
|
// sessionStorage.setItem('refreshToken', res?.data?.refreshToken.value);
|
||||||
sessionStorage.setItem('scope', res?.data?.scope);
|
sessionStorage.setItem('scope', res?.data?.scope);
|
||||||
history.push('/redirect');
|
history.push('/redirect');
|
||||||
}
|
}
|
||||||
|
@ -107,4 +107,14 @@ export async function getFakeCaptcha(params: any) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户登出
|
||||||
|
* @param params
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
export async function logoutTokenApi(params: any) {
|
||||||
|
return request('/api/auth/logout', {
|
||||||
|
method: 'GET',
|
||||||
|
params: params
|
||||||
|
});
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user