//二次封装 // 1、配置通用接口和超时时间 // 2、配置进度条,包括显示和隐藏,进度条->终端npm i nprogress -S // 3、配置请求拦截 // 4、配置响应拦截 import axios from 'axios' import Nprogress from 'nprogress' //进度条 import 'nprogress/nprogress.css' //进度条样式 // 1、配置通用接口和超时时间 const service = axios.create({ // baseURL:'http://localhost:3001/', baseURL:'/api', timeout:5000 }) // 3、配置请求拦截 service.interceptors.request.use(config=>{ //添加token config.headers.token='1111111111111'; //不能是中文 //这里可以加一个进度条显示 Nprogress.start(); return config }) // 4、配置响应拦截 service.interceptors.response.use(res=>{ //成功 //隐藏进度条 Nprogress.done(); return res.data; },err=>{ //失败 alert(err.message||'未知错误') //隐藏进度条 Nprogress.done(); //向前端返回错误数据 // throw err; //或者这行可以用下面的写法 return Promise.reject(err); }) export default service;