vue项目中封装request请求
- 在vue项目中创建 utils目录 往往这个目录是我们用来放自定义js文件的目录,在utils文件中创建一个request.js文件
- 在vue文件中执行 npm i axios 安装 axios
- 接下来在request中引入 axios =》 import axios from “axios”
- 定义一个 axios.create方法: 定义一下请求地址 与 超时时间
5.创建一个函数 并返回一个Pomise 在 Promise中设置响应拦截
import { HTTP_REQUEST_URL, HEADER } from “@/config/app”; //引入地址头
import axios from “axios”;
const instance = axios.create({
baseURL: HTTP_REQUEST_URL, //请求地址
timeout: 5000, //超时时间
});
const defaultOpt = { login: true };
/**
-
发送请求
*/
function baseRequest(options) {
// const token
const headers = options.headers || {};
// if (token) {
// headers[‘X-Token’] = token
// options.headers = headers
// }
return new Promise((resolve, reject) => {
instance(options)
.then((res) => {
const data = res.data || {};
if (res.status !== 200) { //响应拦截
return reject({ message: “请求失败”, res, data });
}if ([410000, 410001, 410002, 40000].indexOf(data.status) !== -1) { reject(res.data); } else if (res.status == 200) { return resolve(data, res); } else { return reject({ message: res.data.message, res, data }); }
})
.catch((message) => reject({ message }));
});
}
6.返回 request函数 并导出