fix:修复请求问题
This commit is contained in:
@@ -48,6 +48,7 @@ export function logout() {
|
||||
|
||||
// 获取验证码
|
||||
export function getCodeImg() {
|
||||
|
||||
return request({
|
||||
url: '/account/captcha-image',
|
||||
headers: {
|
||||
|
||||
@@ -33,6 +33,7 @@ const service = axios.create({
|
||||
|
||||
// request拦截器
|
||||
service.interceptors.request.use(config => {
|
||||
|
||||
// 是否需要设置 token
|
||||
const isToken = (config.headers || {}).isToken === false
|
||||
// 是否需要防止数据重复提交
|
||||
@@ -40,6 +41,8 @@ service.interceptors.request.use(config => {
|
||||
if (getToken() && !isToken) {
|
||||
config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
|
||||
}
|
||||
|
||||
|
||||
// get请求映射params参数
|
||||
if (config.method === 'get' && config.params) {
|
||||
let url = config.url + '?' + tansParams(config.params);
|
||||
@@ -70,6 +73,7 @@ service.interceptors.request.use(config => {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return config
|
||||
}, error => {
|
||||
Promise.reject(error)
|
||||
@@ -78,16 +82,19 @@ service.interceptors.request.use(config => {
|
||||
// 响应拦截器
|
||||
service.interceptors.response.use(res => {
|
||||
// 未设置状态码则默认成功状态
|
||||
const code = res.data.code || 200;
|
||||
const code = res.status || 200;
|
||||
|
||||
// 获取错误信息
|
||||
const msg = errorCode[code] || res.data.message || errorCode['default']
|
||||
|
||||
|
||||
// 二进制数据则直接返回
|
||||
if(res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer'){
|
||||
return res
|
||||
}
|
||||
if (code === 401) {
|
||||
|
||||
if (!isRelogin.show) {
|
||||
|
||||
isRelogin.show = true;
|
||||
ElMessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', {
|
||||
confirmButtonText: '重新登录',
|
||||
@@ -103,8 +110,11 @@ service.interceptors.response.use(res => {
|
||||
isRelogin.show = false;
|
||||
});
|
||||
}
|
||||
|
||||
return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
|
||||
} else if (code === 500) {
|
||||
}
|
||||
else if (code === 500) {
|
||||
|
||||
ElMessage({
|
||||
message: msg,
|
||||
type: 'error'
|
||||
@@ -116,28 +126,60 @@ service.interceptors.response.use(res => {
|
||||
})
|
||||
return Promise.reject('error')
|
||||
} else {
|
||||
|
||||
return Promise.resolve(res)
|
||||
}
|
||||
|
||||
},
|
||||
error => {
|
||||
|
||||
let { message } = error;
|
||||
|
||||
if (message == "Network Error") {
|
||||
message = "后端接口连接异常";
|
||||
}
|
||||
else if (message.includes("timeout")) {
|
||||
message = "系统接口请求超时";
|
||||
}
|
||||
else if (message.includes("Request failed with status code")) {
|
||||
message = "系统接口" + message.substr(message.length - 3) + "异常";
|
||||
}
|
||||
error=>{
|
||||
const response=error.response;
|
||||
const code=response.status
|
||||
const msg=response.data.message
|
||||
if(code==403)
|
||||
{
|
||||
ElMessage({
|
||||
message: message,
|
||||
type: 'error',
|
||||
duration: 5 * 1000
|
||||
message: msg,
|
||||
type: 'error'
|
||||
})
|
||||
return Promise.reject(error)
|
||||
}
|
||||
else if (code === 401) {
|
||||
|
||||
if (!isRelogin.show) {
|
||||
|
||||
isRelogin.show = true;
|
||||
ElMessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', {
|
||||
confirmButtonText: '重新登录',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}
|
||||
).then(() => {
|
||||
isRelogin.show = false;
|
||||
useUserStore().logOut().then(() => {
|
||||
location.href = '/index';
|
||||
})
|
||||
}).catch(() => {
|
||||
isRelogin.show = false;
|
||||
});
|
||||
}
|
||||
|
||||
return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
|
||||
}
|
||||
else if (code === 500) {
|
||||
|
||||
ElMessage({
|
||||
message: msg,
|
||||
type: 'error'
|
||||
})
|
||||
return Promise.reject(new Error(msg))
|
||||
} else if (code !== 200) {
|
||||
ElNotification.error({
|
||||
title: msg
|
||||
})
|
||||
return Promise.reject('error')
|
||||
} else {
|
||||
|
||||
return Promise.resolve(res)
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@@ -116,6 +116,7 @@ function handleLogin() {
|
||||
router.push({ path: redirect.value || "/" });
|
||||
}).catch(() => {
|
||||
loading.value = false;
|
||||
|
||||
// 重新获取验证码
|
||||
if (captchaEnabled.value) {
|
||||
getCode();
|
||||
@@ -126,6 +127,7 @@ function handleLogin() {
|
||||
}
|
||||
|
||||
function getCode() {
|
||||
|
||||
getCodeImg().then(res => {
|
||||
captchaEnabled.value = res.captchaEnabled === undefined ? true : res.captchaEnabled;
|
||||
if (captchaEnabled.value) {
|
||||
|
||||
Reference in New Issue
Block a user