欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

对其获取数据以及token的封装

程序员文章站 2022-06-16 10:41:45
//首先引入axios这个插件import axios from ‘axios’;// 使用回调封装// export default function reuqest(opstions,success){// // 1.创建一个axios实例// const instance = axios.create({// timeout:5000,// baseURL:“https://api-hmugo-web.itheima.net/api/publ...

//首先引入axios这个插件
import axios from ‘axios’;
// 使用回调封装
// export default function reuqest(opstions,success){
// // 1.创建一个axios实例
// const instance = axios.create({
// timeout:5000,
// baseURL:“https://api-hmugo-web.itheima.net/api/public/v1/”,
// headers: {‘X-Requested-With’: ‘XMLHttpRequest’},

// })
// instance(opstions).then(res=>{
// // console.log(res);
// success(res);
// }).catch(err=>{
// console.log(err)
// })
// }

// 使用promise封装
export default function request(opstions){
return new Promise((reslove,reject)=>{
const instance = axios.create({
timeout:5000,
baseURL:“http://59.110.165.195:8089/m.api?”,
headers: {‘X-Requested-With’: ‘XMLHttpRequest’},
})
instance.interceptors.request.use(config=>{
// 配置token
let token =localStorage.getItem(“token”);
if(token){
//将token设置到请求头
config.headers.Authorization =token;
}
return config;
},err=>{
return err;
})
// 响应拦截
instance.interceptors.response.use(res=>{
return res.data;
},err=>{
// 统一失败处理
if(err&&err.response){
switch(err.response.status){
case 400:err.message =“请求错误”;
break;
case 500:err.message =“服务器错误”;
break;
}
}
return err;
})
//发送请求
instance(opstions).then(res=>{
reslove(res);
}).catch(err=>{
reject(err);
})
})
}

通过这段代码 就可以直接获取数据 以及token
 如有不懂 随时问我 我一直在!

本文地址:https://blog.csdn.net/weixin_54112059/article/details/111991521