接口过期,响应超时界面提示:
request.ts:
import axios from "axios";
import ElementUI from "element-ui";
import Vue from "vue";
import { ticket } from "@/api";
const service = axios.create({
// baseURL: 'process.env.VUE_APP_BASE_API', // url = base url + request url
baseURL: "", // url = base url + request url
timeout: 2000
// withCredentials: true // send cookies when cross-domain requests
});
// Request interceptors
service.interceptors.request.use(
(config: any) => {
return config;
},
error => {
console.log(error);
Promise.reject(error);
}
);
// Response interceptors
service.interceptors.response.use(
response => {
// console.log(response)
// Some example codes here:
// code == 20000: success
// code == 50001: invalid access token
// code == 50002: already login in other place
// code == 50003: access token expired
// code == 50004: invalid user (user not exist)
// code == 50005: username or password is incorrect
// You can change this part for your own usage.
const res = response;
if (response.status == 401) {
ElementUI.MessageBox.confirm("会话过期,请重新登录", "提示", {
confirmButtonText: "确定",
showCancelButton:false,
type: "warning"
}).then(() => {
ticket.end();
localStorage.clear();
window.location.href = window.location.origin;
}).catch(() => {});
} else {
return response;
}
},
error => {
if(error.response){
if (error.response.status == 401) {
ElementUI.MessageBox.confirm("会话过期,请重新登录", "提示", {
confirmButtonText: "确定",
showCancelButton:false,
type: "warning"
}).then(() => {
ticket.end();
localStorage.clear();
window.location.href = window.location.origin;
}).catch(() => {});
}
}else{
ElementUI.MessageBox.confirm("请求超时,请检查网络", "提示", {
confirmButtonText: "确定",
showCancelButton:false,
type: "warning"
}).then(() => {
ticket.end();
localStorage.clear();
window.location.href = window.location.origin;
}).catch(() => {});
}
}
);
export default service;