vue,axios请求的封装

1.src目录下新建request文件夹

image.png

2.request文件下新建两个文件夹,1.api.js,----2.request,js

request.js文件下

import axios from 'axios'
const instance = axios.create({
        baseURL: 'http://kumanxuan1.f3322.net:8001',//请求文件的地址
        timeout: 5000
    })
    // 请求拦截
instance.interceptors.request.use(config => {
    let  token=localStorage.getItem('token')
    if (token) {
        config.headers['X-Nideshop-Token']=token
    }
    return config;
}, err => {
    return Promise.reject(err)
})

// instance.interceptors.request.use(config => {
//     return comfig;
// }, err => {
//     retunr Promise.reject(err)
// })

// 响应拦截
instance.interceptors.response.use(res => {
    return res.data;
}, err => {
    return Promise.reject(err)
})

// instance.interceptors.response.use(res => {
//         return res;
//     }, err => {
//         retunr Promise.reject(err)
//     })

// 需要导出暴露

export default instance;

**api.js文件下的代码

//导入request.js文件
import request from './request'

// 假设获取首页数据(不传递参数写法)
// export const GetHomeData = () => request.get('/homedata');
// // 假设获取首页数据(传递参数写法)
// export const GetHomeData = (params) => request.get('/homedata', {params});
// // 假设调用登录接口(post请求一般都传递参数)
// export const GoLogin = (params) => request.post('/login', params);
// 验证码接口
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。