request.js 785 B

123456789101112131415161718192021222324252627282930313233
  1. import axios from 'axios'
  2. import { ElMessage } from 'element-plus'
  3. const request = axios.create({ timeout: 5000 })
  4. request.interceptors.request.use((config) => {
  5. const token = localStorage.getItem('token')
  6. if (token) {
  7. config.headers.Authorization = `Bearer ${token}`
  8. }
  9. return config
  10. })
  11. request.interceptors.response.use(
  12. (res) => {
  13. if (res.data.code !== 200) {
  14. if (res.data.code === 401) {
  15. localStorage.removeItem('token')
  16. localStorage.removeItem('username')
  17. window.location.hash = '#/login'
  18. }
  19. ElMessage.error(res.data.msg || '请求失败')
  20. return Promise.reject(res.data)
  21. }
  22. return res.data
  23. },
  24. (err) => {
  25. ElMessage.error('网络错误')
  26. return Promise.reject(err)
  27. }
  28. )
  29. export default request