封装
import axios from "axios"
import { Toast } from "vant"
import router from '../router/index'
axios.defaults.baseURL = '请求地址'
axios.defaults.withCredentials = true;
axios.defaults.headers["X-Requested-With"] = "XMLHTTPRequest";
axios.defaults.headers.post["Content-Type"] = "application/json";
axios.interceptors.request.use(config => {
let token = window.localStorage.getItem('token');
token && (config.headers.Authorization = token);
return config;
}, error => {
Message.error({ message: '请求超时!' })
return Promise.error(error);
})
axios.interceptors.response.use(res => {
console.log(res);
if (typeof res.data !== "object") {
Toast.fail("服务器异常");
return Promise.reject(res)
}
if (res.data.code != 200) {
if (res.data.msg) {
Toast.fail(res.data.msg)
}
if (res.data.code == 401) {
console.log(router);
router.push({ path: "/login" })
}
return Promise.reject(res.data)
}
return res.data;
})
export default axios;
使用
import axios from '../utils/axios';
const getInfo = async () => {
const {data} = await axios.get('/user/info')
}