一.axios实例初始化

//初始化axios
import axios from 'axios'


//使用create方法创建axios实例(默认post方法)
export const Service = axios.create({
  timeout: 7000, // 请求超时时间
  baseURL: "xxx", //基础路径
  method: 'post' //默认请求方法
})


// 添加请求拦截器
Service.interceptors.request.use(config => {
    // 打印输出请求配置信息
    console.log(config)
    let token = localStorage.getItem("token")
    if (token) {
        //将token放到请求头发送给服务器,将tokenkey放在请求头中
        config.headers.token = token;   
        return config;
    }
    return config
})

// 添加响应拦截器
Service.interceptors.response.use(

 response => {
        return response
    },
 error => {
        return error
})

二.Promise封装请求

// 引入初始化后的axios实例
import {Service} from "../utils/request"

// 普通登录请求示例
// let loginRequest = data =>{
//     return Service({
//         url:'/user/login',
//         data
//     })
// }

// Promise封装请求示例
let loginRequest = function(data={}){
    return new Promise( (resolve,reject) =>{
        Service({url:'/user/login',data})
        .then(
            res => {if(res.status == 200) resolve( res.data )}
        )
        .catch( err => reject( err.data ))
    })
}

export {loginRequest}