_axios.js
1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//axios二次封装
//引入axios包
import axios from "axios";
//重新定义一个axios新实例
// create方法,创建一个
const request = axios.create({
// http://192.168.1.205:8095/api/
// http://manghe.huntunn888.top/api
// baseURL: "http://egg.free.idcfengye.com/api",
baseURL: "http://manghe.huntunn888.top/api",
// baseURL: "http://192.168.1.205:8095/api/",
header: { isToken: true }
})
//请求拦截器:在发请求之前,请求拦截器可以检测到,可以在请求发出之前做一些事情
request.interceptors.request.use((config) => {
//config:配置对象,对象里面有一个属性很重要,headers请求头
//需要携带token带给服务器
// if (localStorage.getItem("x-token")) {
// config.headers.token = localStorage.getItem("x-token");
// }
const token =localStorage.getItem("isToken")
if(token&&config.header.isToken){
// 设置请求头
config.headers.Authorization=token;
}
return config;
});
//响应拦截器
request.interceptors.response.use((res) => {
//成功的回调函数:服务器响应数据回来以后,响应拦截器可以检测到,可以做一些事情
return res.data;
}, (error) => {
//响应失败的回调函数
// return Promise.reject(new Error('faile'));
// router.push("/loginRegister/login")
});
//导出自定义的新axios实例
export default request;