| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /*axios拦截*/
- import axios from 'axios'
- import config from './api.config'
- // 配置 axios,并生成实例
- const creatAxios1 = axios.create({
- baseURL: config.SERVER_URL1,
- withCredentials: true
- })
- // 拦截器配置
- creatAxios1.interceptors.request.use(configData => { // 请求拦截 在发送请求之前做些什么
- // 请求成功做的事情 configData 中包含:url、method等信息
- return configData
- }, error => { // 请求失败做的事情
- return Promise.reject(error)
- })
- creatAxios1.interceptors.response.use(response => { // 响应拦截 对响应数据做点什么
- // 响应成功做的事情
- response.data.code = Number(response.data.code) // 将接口返回的状态值 code 处理为数字
- return response
- }, error => { // 响应失败做的事情
- return Promise.reject(error)
- })
- function sendAll (arr) { // 顺序和请求发送的顺序相同,使用 axios.spread 分割成多个单独的响应对象
- if (Object.prototype.toString.call(arr) === '[object Array]') {
- return axios.all(arr).then(axios.spread(function (...res) { // axios.all 是axios的静态方法,不是实例上的方法
- // 请求全部都执行完成
- return Promise.resolve(res)
- }))
- } else {
- const error = new Error('参数错误!')
- try {
- throw error
- } catch (e) {
- // console.log(e)
- }
- }
- }
- export default {
- creatAxios1,
- sendAll
- }
|