1.首先创建一个index.js文件,引入axios
import axios from "axios"
2.创建一个实例
const instance=axios.create({
baseURL:"",//所有请求的公共地址部分
timeout:"3000",//请求超时时间 这里的意思是当请求时间超过5秒还未取得结果时 提示用户请求超时
})
3.request请求拦截器
// 添加请求拦截器
instance.interceptors.request.use(
function (config) {
// 在发送请求之前做些什么
return config;
},
function (error) {
// 对请求错误做些什么
return Promise.reject(error);
}
);
4.response响应拦截器
// 添加响应拦截器
instance.interceptors.response.use(
(response) => {
// 对响应数据做点什么
},
function (error) {
// 对响应错误做点什么
return Promise.reject(error);
}
);
5.设置请求方式
const http = {
get(url: string, params?: object) {
return instance
.get(url, {
params: params,
})
.then((res) => {
return res;
});
},
post(url: string, data: object = {}) {
return instance.post(url, data).then((res) => {
return res;
});
},
};
6.暴露出去
export default http
封装接口
import http from "../index.js";
// getXXX 自定义的接口名字
export const getXXX = (params) => http.get(`/apigb/v1/component`, { params})
export const postXXX = (params) => http.post(`/apigb/v1/component/update-info`, params)