axios 的二次封装

1.新建axios.js

import axios from "axios";
import qs from "qs"

let $get = async function (url,params) {
    let result;
    let headers = "";
    if(!!Cookies.get("accessToken")){
        headers = {
            "Authorization":""
        }
    }else {
        headers = ""
    }
    axios.interceptors.response.use(function (response) {
        // console.log(response);
        if(!!response.headers.Authorization){
            Cookies.set("accessToken",response.headers.Authorization)
        }
        return response;
    }, function (err) {
        if (err && err.response) {
            
        }else{
            err.message = '连接服务器失败!'
        }
    });
    await axios({
        method:"get",
        url:url,
        headers:headers,
        params:params
    }).then(res=>{
        console.log(1111);
        result =  res.data
    })
    return result;
}

let $post = async function (url,data) {
    let result;
    let headers = "";
   axios.interceptors.response.use(function (response) {
       console.log(response);
       if(!!response.headers.Authorization){
           Cookies.set("accessToken",response.headers.Authorization)
       }
       return response;
    }, function (err) {
        if (err && err.response) {
         
        }else{
            err.message = '连接服务器失败!'
        }
    });
    await axios({
        method:"post",
        url:url,
        headers:{
            'Content-Type':"application/x-www-form-urlencoded",
            ...headers
        },
        data:qs.stringify(data)
    }).then(res=>{
        result =  res.data;
    })
    return result;
}

export {
    $get,
    $post
}

  2.新建method.js

import {$post,$get} from "./axios";

/*用户名密码登录*/
let $getLogin = function(data){
    return $post('login',data)
}

export {
    $getLogin,
}

  

原文地址:https://www.cnblogs.com/klmn/p/14236005.html