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