Vue3封装的请求拦截

import axios from "axios";

const instance = axios.create({

    baseURL: 'http://127.0.0.1:8888/api/private/v1/', //工作时把地址替换后端的地址

    timeout: 3000, //工作时把端口号替换后端给的端口号

    headers: {'X-Custom-Header': 'foobar'}

  });

  // 添加请求拦截器

  instance.interceptors.request.use(function (request) {

    // 在发送请求之前做些什么

     // 给请求对象添加请求头,把token加入请求头, 执行登录认证

     const token = localStorage.getItem("token")

     if(token){

         request.headers.Authorization = token

     }

     // 在请求发送之前, 开启加载服务, 显示加载框, target指定显示加载的元素

    //  loading = ElLoading.service({ target: "#head" })

     // 处理完请求数据后, 返回继续发送请求

     return request;

  });

// 添加响应拦截器

instance.interceptors.response.use(function (response) {

    // 对响应数据做点什么

    console.log("响应数据", response);

    // 请求完成时, 关闭加载框

    // loading.close()

    // 处理完响应数据后, 把响应数据中的data字段提出来, 返回继续执行响应

    return response.data;

  });

  export default instance;

你可能感兴趣的:(javascript,前端,开发语言)