axios二次封装

axios二次封装

import axios from 'axios'

import { ElMessage } from 'element-plus'

import router from '@/router/index'

import { localGet } from './index'

import config from '~/config'


 

// 这边由于后端没有区分测试和正式,姑且都写成一个接口。

axios.defaults.baseURL = config[import.meta.env.MODE].baseUrl

// 携带 cookie,对目前的项目没有什么作用,因为我们是 token 鉴权

axios.defaults.withCredentials = true

// 请求头,headers 信息

axios.defaults.headers['X-Requested-With'] = 'XMLHttpRequest'

axios.defaults.headers['token'] = localGet('token') || ''

// 默认 post 请求,使用 application/json 形式

axios.defaults.headers.post['Content-Type'] = 'application/json'

// 请求拦截器,内部根据返回值,重新组装,统一管理。

axios.interceptors.response.use(res => {

  if (typeof res.data !== 'object') {

    ElMessage.error('服务端异常!')

    return Promise.reject(res)

  }

  if (res.data.resultCode != 200) {

    if (res.data.message) ElMessage.error(res.data.message)

    if (res.data.resultCode == 419) {

      router.push({ path: '/login' })

    }

    return Promise.reject(res.data)

  }

  return res.data.data

})

export default axios

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值