封装axios

158 阅读1分钟

zaisec目录下创建一个文件夹,里面创建两个js,文件

image.png

在index里面进行封装

import axios from 'axios'
let instance = axios.create({
    baseURL: 'https://lianghj.top:****/api/****/v1/',
    timeout: 3000,
})
/* 请求拦截器 */
instance.interceptors.request.use(
    config => {
        // 每次发送请求之前判断是否存在token
        // 如果存在,则统一在http请求的header都加上token,这样后台根据token判断你的登录情况,此处token一般是用户完成登录后储存到localstorage里的
        localStorage.token && (config.headers.Authorization = localStorage.token)
        return config
    },
    error => {
        return Promise.error(error)
    })

/* 响应拦截器 */
instance.interceptors.response.use(response => {
    return response
}, error => {
    return error
})

export const httpServe = (path, params = {}, method = 'get', data = {}) => {
    return new Promise((resolve, reject) => {
        instance({
            method,
            url: path,
            params,
            data,
        })
            .then(res => {
                resolve(res)
            })
            .catch(err => {
                reject(err)
            })
    })
}

使用的时候按照请求,在ruquest上写

image.png

然后导入

image.png

使用该方法

image.png