|
@ -7,8 +7,11 @@ import qs from 'qs' |
|
|
axios.defaults.baseURL = baseApi |
|
|
axios.defaults.baseURL = baseApi |
|
|
axios.defaults.timeout = 5 * 60 * 1000 |
|
|
axios.defaults.timeout = 5 * 60 * 1000 |
|
|
axios.defaults.headers.common['Authorization'] = getToken() |
|
|
axios.defaults.headers.common['Authorization'] = getToken() |
|
|
window.queryRecord = {} // 临时方案, 对于查询比较慢的接口, 先统一在这里处理, todo, 后期每个接口再加loading,
|
|
|
|
|
|
// axios.defaults.headers.common['Authorization'] = `Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTk2MzAwNzUsInN1YiI6Inlpc2Ffand0IiwibmJmIjoxNjk5NjI2NDc1LCJhdWQiOiJ5aXNhX3VzZXIiLCJpYXQiOjE2OTk2MjY0NzUsImp0aSI6IjlhYzg3MzcxNGUyYWUyNjQyOWNlMTFjMDliZjZiMTFiIiwiaXNzIjoieWlzYV9pc3MiLCJzdGF0dXMiOjEsImRhdGEiOnsidXNlcl91aWQiOjE4MTkwOTEwNDA1MzQ2MTU5NjksImlkX2NhcmQiOm51bGwsInJvbGVfaWQiOjE3NjcyMTAwNDQ0NDE2MTQ0NzksIm5hbWUiOiLotoXnuqfnrqHnkIblkZgiLCJkZXBhcnRtZW50X25hbWUiOiLopb_mtbflsrjlhaznlKjkuovkuJrpm4blm6IiLCJ1c2VyX25hbWUiOiJ4dXF1biIsInRlbCI6IjE4OTc2MzMwMzIwIiwiYXV0aCI6IjE1MiwxNTMsMTU0LDE1NSwxNTYsMTU3LDE1OCwxNTksMTYwLDE2MSwxNjIsMTYzLDE2NCwxNjUsMTY2LDE2NywxNjgsMTY5LDE3MCwxNzEsMTcyLDE3MywxNzQsMTc1LDE3NiwxNzcsMTc4LDE3OSwxODAsMTgxLDE4MiwxODMsMTUyLDEyMSwxMzQsMTM1LDEzOSwxNDMsMTQ5LDEzNiwxMzcsMTM4LDE0MCwxNDEsMTQyLDE0NCwxNDUsMTUwLDE1MSwxMjAsMTIyLDEyMywxMjQsMTI1LDExMiwxMTMsMTE0LDExNSwxNDYsMTQ3LDE0OCw4OCw4OSw5MCw5MSwxMDMsMTE4LDEyNiwxMzAsOTcsMTE2LDExNyw5Miw5Myw5NCw5NSw5NiwxMDQsMTA1LDExOSwxMjcsMTI4LDEyOSwxMzEsMTMyLDEzMyw5OCw5OSwxMDAsMTAxLDEwMiwxMDYsMTA3LDEwOCwxMDksMTEwLDExMSwxLDIsMyw2LDcsOCw5LDEwLDQsMTMsMTQsMTUsMTYsMTcsMTgsMTksMjAsMTEsMTIsMjEsMjIsMjcsMjgsMzMsMzYsMzcsMzgsMzksNDAsNDEsNDIsNDMsNDQsNDUsNDYsNDksNTAsNTEsNTIsNTMsNSw1Nyw1OCw1NCw1NSw1Niw3MSw3Miw1OSw2MCw2MSw2Miw2OSw3MCw3Myw3NCw3NSw3Niw3Nyw2NSw2Niw2Nyw2OCw2Myw2NCwyMywyNCwyNSwyNiwzNCwzNSwyOSwzMCwzMSwzMiw0Nyw0OCw3OCw3OSw4MCw4MSw4Miw4Myw4NCw4NSw4Niw4NyIsInBpZCI6MCwiaWRfbmFtZSI6IuiuuOe-pCJ9fQ.mYH-k_uKUDxysOiytBSRzOj4hWjKSxkTBVEpy4FnLe8`
|
|
|
|
|
|
|
|
|
window.queryRecord = {} // 临时方案, 对于查询比较慢的接口, 先统一在这里处理, todo,
|
|
|
|
|
|
|
|
|
|
|
|
const createHash = ()=>{ |
|
|
|
|
|
return location.hash.replace(/\?.*/, '').replace('#/',"").replace('/', '_') |
|
|
|
|
|
} |
|
|
/** |
|
|
/** |
|
|
* @description 请求全局拦截 |
|
|
* @description 请求全局拦截 |
|
|
* @param {boolean} transFormData post方法 true转form提交表单方式 |
|
|
* @param {boolean} transFormData post方法 true转form提交表单方式 |
|
@ -46,7 +49,7 @@ function ajax(ajaxData = {}) { |
|
|
// message.error('建议不要快速切换')
|
|
|
// message.error('建议不要快速切换')
|
|
|
}else{ |
|
|
}else{ |
|
|
// message.error('请勿重复操作') // todo 直接组织重复操作, 不提示
|
|
|
// message.error('请勿重复操作') // todo 直接组织重复操作, 不提示
|
|
|
console.error('重复操作') |
|
|
|
|
|
|
|
|
console.log('重复操作') |
|
|
// 返回一个promise防止语法错误
|
|
|
// 返回一个promise防止语法错误
|
|
|
return new Promise((resolve, reject)=>{ |
|
|
return new Promise((resolve, reject)=>{ |
|
|
new Error(1) |
|
|
new Error(1) |
|
@ -61,7 +64,9 @@ function ajax(ajaxData = {}) { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
// 新增逻辑 用于判断发起该请求的页面是否已经销毁
|
|
|
// 新增逻辑 用于判断发起该请求的页面是否已经销毁
|
|
|
ajaxData.data = {...ajaxData.data, pageHash: location.hash.replace(/\?.*/, '').replace('#/',"").replace('/', '_')} |
|
|
|
|
|
|
|
|
if(!ajaxData.noPageHash){ |
|
|
|
|
|
ajaxData.data = {...ajaxData.data, pageHash: createHash()} |
|
|
|
|
|
} |
|
|
return new Promise((resolve, reject) => { |
|
|
return new Promise((resolve, reject) => { |
|
|
if (!utils.isObject(ajaxData)) { |
|
|
if (!utils.isObject(ajaxData)) { |
|
|
return reject(new Error('ajax请求配置错误')) |
|
|
return reject(new Error('ajax请求配置错误')) |
|
@ -69,7 +74,6 @@ function ajax(ajaxData = {}) { |
|
|
let method = ajaxData.type || 'GET' |
|
|
let method = ajaxData.type || 'GET' |
|
|
method = method.toLowerCase() |
|
|
method = method.toLowerCase() |
|
|
let url = ajaxData.mock && isDevelopment ? `/mock` + ajaxData.url : ajaxData.url |
|
|
let url = ajaxData.mock && isDevelopment ? `/mock` + ajaxData.url : ajaxData.url |
|
|
// let data = method === 'get' ? { params: ajaxData.data } : ajaxData.data
|
|
|
|
|
|
let data = method === "get" || method === 'delete' ? { params: ajaxData.data }: ajaxData.data; |
|
|
let data = method === "get" || method === 'delete' ? { params: ajaxData.data }: ajaxData.data; |
|
|
|
|
|
|
|
|
axios[method](url, data) |
|
|
axios[method](url, data) |
|
@ -81,7 +85,7 @@ function ajax(ajaxData = {}) { |
|
|
window.queryRecord[res.config.url].ing = false |
|
|
window.queryRecord[res.config.url].ing = false |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
// if(location.hash.replace(/\?.*/, '') != JSON.parse(res.config.data)?.pageHash){
|
|
|
|
|
|
|
|
|
// if(createHash() != JSON.parse(res.config.data)?.pageHash){
|
|
|
// console.log('页面已销毁')
|
|
|
// console.log('页面已销毁')
|
|
|
// resolve({message: "",status: 20000,data: [] })
|
|
|
// resolve({message: "",status: 20000,data: [] })
|
|
|
// return
|
|
|
// return
|
|
@ -93,7 +97,7 @@ function ajax(ajaxData = {}) { |
|
|
window.queryRecord[res.config.url].ing = false |
|
|
window.queryRecord[res.config.url].ing = false |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
// if(location.hash.replace(/\?.*/, '') != res.config.params.pageHash){
|
|
|
|
|
|
|
|
|
// if(createHash() != res.config.params.pageHash){
|
|
|
// console.log('页面已销毁')
|
|
|
// console.log('页面已销毁')
|
|
|
// resolve({message: "", status: 20000,data: [] })
|
|
|
// resolve({message: "", status: 20000,data: [] })
|
|
|
// return
|
|
|
// return
|
|
@ -114,7 +118,7 @@ function ajax(ajaxData = {}) { |
|
|
if(JSON.parse(err.config.data)?.guard){ |
|
|
if(JSON.parse(err.config.data)?.guard){ |
|
|
window.queryRecord[err.config.url].ing = false |
|
|
window.queryRecord[err.config.url].ing = false |
|
|
} |
|
|
} |
|
|
if(location.hash.replace(/\?.*/, '').replace('#/',"").replace('/', '_') != JSON.parse(err.config.data)?.pageHash){ |
|
|
|
|
|
|
|
|
if(JSON.parse(err.config.data)?.pageHash && createHash() != JSON.parse(err.config.data)?.pageHash){ |
|
|
console.log('接口异常,但页面已销毁') |
|
|
console.log('接口异常,但页面已销毁') |
|
|
reject(new Error(1)) |
|
|
reject(new Error(1)) |
|
|
return |
|
|
return |
|
@ -126,7 +130,7 @@ function ajax(ajaxData = {}) { |
|
|
window.queryRecord[err.config.url].ing = false |
|
|
window.queryRecord[err.config.url].ing = false |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
if(location.hash.replace(/\?.*/, '').replace('#/',"").replace('/', '_') != err.config.params.pageHash){ |
|
|
|
|
|
|
|
|
if(err.config.params.pageHash && createHash() != err.config.params.pageHash){ |
|
|
console.log('接口异常,但页面已销毁') |
|
|
console.log('接口异常,但页面已销毁') |
|
|
reject(new Error(1)) |
|
|
reject(new Error(1)) |
|
|
return |
|
|
return |
|
@ -138,7 +142,6 @@ function ajax(ajaxData = {}) { |
|
|
case 401: |
|
|
case 401: |
|
|
removeToken() |
|
|
removeToken() |
|
|
window.location.replace(sysConfig.logout_url) |
|
|
window.location.replace(sysConfig.logout_url) |
|
|
// window.location.replace("/#/login")
|
|
|
|
|
|
message.error('登录失效') |
|
|
message.error('登录失效') |
|
|
break |
|
|
break |
|
|
case 500: |
|
|
case 500: |
|
|