axios封装

import axios from ‘axios’;
import { ElMessage } from ‘element-plus’;

// 创建axios实例
const useRequest = axios.create({
baseURL: https://${window.location.host}/, // api的base_url
timeout: 120000, // 请求超时时间,
// request payload
headers: {
‘Content-Type’: ‘application/json;charset=UTF-8’,
},
// 修改请求数据,去除data.q中为空的数据项,只针对post请求
});

useRequest.interceptors.request.use(
config => config,
error => Promise.reject(error),
);

// 错误码
const retCodeObj: any = {
1001: (msg: any) => {
ElMessage.error(msg);
return Promise.reject(msg);
},
// wps cookie 换取 jwt 错误
1002: (msg: any) => {
// 0alert(response)
// Message.warning(msg);
// let thisURL = encodeURIComponent(location.href)
// window.location.href = https://account.wps.cn/login?cb=${encodeURIComponent(location.href)}
// let to = vueRouter.currentRoute.name
// vueRouter.push({name: “wpsAuth”, query: {callback: to}})
window.location.href = ‘/login’;
return Promise.reject(msg);
},
// 登录态失效
1003: () => {
// Message.warning(msg)
window.location.href = ‘/login’;
return Promise.reject(‘登录态失效’);
},
// 参数错误
1004: () => {
// Message.warning(msg)
window.location.href = ‘/login’;
return Promise.reject(‘登录态失效’);
},
// 接口异常
1006: (msg: any) => {
ElMessage.error(msg);
return Promise.reject(‘接口异常’);
},
};

// http response 拦截器
useRequest.interceptors.response.use(
(response) => {
if (response.status !== 200) {
return false;
}
const { code, data, msg } = response.data;
if (code === 0) {
if (
response.config.method === ‘POST’
|| response.config.method === ‘GET’
) {
// Message.success(“创建成功”)
// return true
}
return data;
}
if (retCodeObj[code]) {
return retCodeObjcode;
}
// alert(response)
ElMessage.error(‘网络错误’);
return Promise.reject(‘网络错误’);
},
(error) => {
ElMessage.error(‘网络错误’);
return Promise.reject(error.data);
},
);

const getRequest = (url: any) => useRequest.get(url);
const postRequest = (url: any, data: any) => useRequest.post(url, data);

export { getRequest, postRequest };

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值