一.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}
京公网安备 11010502036488号