登录页开发,控制台页面开发,页面跳转逻辑调整
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import axios from 'axios';
|
||||
import router from '@/routes.js'
|
||||
import {ElMessageBox, ElMessage} from 'element-plus';
|
||||
|
||||
const service = axios.create({
|
||||
@@ -24,7 +25,6 @@ service.interceptors.request.use((config) => {
|
||||
return Promise.reject(error);
|
||||
}
|
||||
);
|
||||
let lastToastLoginTime = new Date().getTime();
|
||||
service.interceptors.response.use(
|
||||
(response) => {
|
||||
if (!!response.message) {
|
||||
@@ -33,13 +33,9 @@ service.interceptors.response.use(
|
||||
if (!response.config.needValidateResult || response.data.errCode === 200) {
|
||||
return response.data;
|
||||
} else if (response.data.errCode === 400) {
|
||||
// 两秒钟只提示一次
|
||||
if (new Date().getTime() - lastToastLoginTime > 2000) {
|
||||
ElMessage.warning('请先登录');
|
||||
lastToastLoginTime = new Date().getTime();
|
||||
}
|
||||
let href = encodeURIComponent(window.location.href);
|
||||
window.location = import.meta.env.VITE_APP_BASE_API + '#/user/login?redirect=' + href;
|
||||
let redirectUrl = getRedirectUrl();
|
||||
router.push({path: `/user/login`, query: {redirect: redirectUrl}});
|
||||
return Promise.reject(response.data);
|
||||
} else if (response.data.errCode !== 200) {
|
||||
ElMessage.error(response.data.errMsg || '未知错误');
|
||||
}
|
||||
@@ -51,4 +47,16 @@ service.interceptors.response.use(
|
||||
return Promise.reject(error);
|
||||
}
|
||||
);
|
||||
function getRedirectUrl() {
|
||||
let redirectUrl = '';
|
||||
let locationHref = window.location.href;
|
||||
if (locationHref.indexOf('?') >= 0) {
|
||||
let reg = new RegExp('(^|&)redirect=([^&]*)(&|$)', 'i');
|
||||
let r = locationHref.substring(locationHref.indexOf('?') + 1).match(reg);
|
||||
if (r != null) {
|
||||
redirectUrl = unescape(r[2]);
|
||||
}
|
||||
}
|
||||
return redirectUrl || encodeURIComponent(window.location.href);
|
||||
}
|
||||
export default service
|
||||
|
||||
Reference in New Issue
Block a user