axios统一封装
import request from request.js
cosnt getDataList = (data)=>{
return request({
url: 'publicUrl'+url,
method: 'post',
data
})
}
export default{
getDataList
}
request.js
import axios from 'axios'
import store from '@store'
import router from '@router'
const server = axios.create({
baseURL: '/',
timeout: 30000,
headers:{
Content-Type: 'application/json',
X-Requested-With: 'XMLHttpRequest'
}
})
// 请求拦截器
server.interceptors.request.use(config=>{
// 设置请求头
const{token}=store.getters
if(token){
config.headers['X-Authorization'] = token
}
return config
})
server.interceptors.response.use(
response=>{
const res = respnse.data
cosnt {responseCode} = res
if(!responseCode){
return res
}
if(responseCode === '000'){
return Promise.resolve(res)
}else if(auth.checkAuth(res)){
message.warning('登录超时')
router。push({path: '/login'})
}
return promise.reject(res)
}else {
return promise.reject(res)
},
error=>{
if(error && error.response){
return promise.reject(error.response.data)
}
return promise.reject(error)
}
)
export default server
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步