request.ts 815 B

12345678910111213141516171819202122232425262728293031323334
  1. // import router from '@/router/index'
  2. import axios from 'axios'
  3. import { ElMessage } from 'element-plus'
  4. const api = import.meta.env.VITE_API_HOST
  5. const instance = axios.create({
  6. baseURL: api
  7. })
  8. // 请求拦截器
  9. instance.interceptors.request.use((config:any) => {
  10. config.headers['Authorization'] = sessionStorage.getItem('token')
  11. return config
  12. }, err => {
  13. return Promise.reject(err)
  14. })
  15. // 响应拦截器
  16. instance.interceptors.response.use(response => {
  17. return response
  18. }, err => {
  19. if (err.response.status === 401) {
  20. sessionStorage.removeItem('token')
  21. ElMessage.error('登录状态已失效!请重新登录!')
  22. // setTimeout(() => {
  23. // router.push({ path: '/login' })
  24. // }, 1000)
  25. }
  26. return Promise.reject(err.response)
  27. })
  28. // 导出工具函数
  29. export default instance