import axios from 'axios'
import {Message} from 'element-ui'
import router from '../router'
// 每次请求时带上 token
axios.interceptors.request.use(config => {
// 登陆之后后端 jwt 返回一段 token,将其存到 sessionStorage
config.headers.Authorization = window.sessionStorage.getItem('token')
// 在最后必须 return config
return config
})
axios.interceptors.response.use(success=>{ // 请求发送给服务端了,但有的操作可能服务端不允许
if(success.status && success.status == 200){
if(success.data.code == 500 || success.data.code == 401 || success.data.code == 403){
Message.error({message: success.data.message})
return
}
if(success.data.message){
Message.success({message: success.data.message})
}
}
return success.data
},error=>{ // 服务端连请求都没收到
if(error.response.code == 504 || error.response.code == 404){
Message.error({message: "服务器坏了"})
}else if(error.response.code == 403){
Message.error({message: "权限不足"})
}else if(error.response.code == 401){
Message.error({message: "尚未登录"})
router.replace('/')
}else {
if(error.response.data.message){
Message.error({message: error.response.data.message})
}else {
Message.error({message: "未知错误"})
}
}
return
})
let base = ''
export const postReq = (url. params) => {
return axios({
method:'post',
url:`${base}${url}`,
data:params
)}
}
axios ele-ui 二次封装
最新推荐文章于 2022-05-19 19:57:34 发布